インストール

pip

標準的なPython環境でも利用できます。

python -m pip install cognoxium
python -c "import cognoxium as cx; print(cx.__version__)"

任意の連携機能

コアパッケージに必須のPython依存関係はありません。必要な相互運用機能だけをインストールしてください。

追加機能

有効になる機能

uv

pip

arrow

Arrow変換、IPC、Parquet

uv add "cognoxium[arrow]"

python -m pip install "cognoxium[arrow]"

pandas

to_pandas()

uv add "cognoxium[pandas]"

python -m pip install "cognoxium[pandas]"

polars

to_polars()

uv add "cognoxium[polars]"

python -m pip install "cognoxium[polars]"

tokenizers

Python側のトークナイザーとの相互運用

uv add "cognoxium[tokenizers]"

python -m pip install "cognoxium[tokenizers]"

バイナリwheelにはRust拡張が含まれます。Rustに組み込まれたo200k_basecl100k_baseを利用するだけなら、Pythonのtokenizers追加機能は必要ありません。

対応するwheel

Cognoxium 0.1.1はCPython 3.10から3.14までをサポートします。リリース工程では、次の環境向けにwheelをビルドします。

  • Linux x86-64およびARM64

  • Windows x86-64

  • macOS x86-64およびApple Silicon

これ以外の環境では、インストーラーがソース配布物へフォールバックする場合があります。ソースからビルドするには、最新の安定版Rustツールチェーンとmaturinが必要です。

開発用チェックアウト

リポジトリをクローンし、ロック済みのPython環境を再現して、PyO3拡張をビルドします。

git clone https://github.com/Nue-Japan/cognoxium.git
cd cognoxium
uv sync --extra dev
uv run maturin develop

このリポジトリには、Cargo.lockとクロスプラットフォーム対応のuv.lockの両方がコミットされています。プロジェクトのメタデータとレビュー済みのロックファイルに差異がある場合に処理を失敗させるには、uv lock --checkuv sync --locked --extra devを使用してください。

主要なチェックを実行します。

uv run pytest
uv run ruff check python tests scripts
uv run mypy
cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace --locked
uv run sphinx-build -W -b html docs docs/_build/en/latest
uv run sphinx-build -W -b html -D language=ja docs docs/_build/ja/latest

uvはRustをインストールしません。maturin developやCargoコマンドを実行する前に、Rustを別途インストールしてください。