インストール¶
推奨:uv 0.12.1¶
Cognoxium 0.1.1について本書で説明するuvの手順には、uv 0.12.1が必要です。後述のpipによる手順ではuvは不要です。既存のuvプロジェクトにCognoxiumを追加するには、次を実行します。
uv add cognoxium
動作確認用の一時プロジェクトを作る場合は、次を実行します。
uv init cognoxium-demo
cd cognoxium-demo
uv add cognoxium
uv run python -c "import cognoxium as cx; print(cx.__version__)"
このドキュメントの対象バージョンでは、次の出力になります。
0.1.1
uvはプロジェクト環境を管理するツールであり、Cognoxiumの実行時依存関係ではありません。
pip¶
標準的なPython環境でも利用できます。
python -m pip install cognoxium
python -c "import cognoxium as cx; print(cx.__version__)"
任意の連携機能¶
コアパッケージに必須のPython依存関係はありません。必要な相互運用機能だけをインストールしてください。
追加機能 |
有効になる機能 |
uv |
pip |
|---|---|---|---|
|
Arrow変換、IPC、Parquet |
|
|
|
|
|
|
|
|
|
|
|
Python側のトークナイザーとの相互運用 |
|
|
バイナリwheelにはRust拡張が含まれます。Rustに組み込まれたo200k_baseとcl100k_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 --checkとuv 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を別途インストールしてください。