インストール
バインディングはホイールのみ(pure-wheel)の Python パッケージとして配布されます。推奨のインストール方法は pip(またはお好みのロックファイルマネージャー — uv、poetry、pdm)です。
pip install big-code-analysis
Python >=3.12 が必要です。コンパイル済み拡張は CPython の安定 abi3 サーフェス(abi3-py312)を使用するため、1 つのホイールで 3.12、3.13、および将来のすべてのマイナーリリースを、バージョンごとのホイールビルドなしにカバーできます。
Wheel マトリクス
CI は現在、以下のターゲット向けの wheel を公開しています。お使いのプラットフォームが記載されていない場合は、ソースからビルドしてください。
| プラットフォーム | アーキテクチャ |
|---|---|
Linux(manylinux_2_28) | x86_64, aarch64 |
wheel マトリクスは .github/workflows/python-wheels.yml で定義されています。manylinux_2_28 には glibc >= 2.28(RHEL 8 / Debian 10 / Ubuntu 18.10 以降)が必要です。それより古いディストリビューション(RHEL 7 / CentOS 7、glibc 2.17)ではソースからビルドする必要があります。macOS と Windows の wheel はまだ提供されていません — これらのプラットフォームでの pip install は現在ソースビルドにフォールバックします。
インストールの確認
python -c "import big_code_analysis as bca; print(bca.__version__)"
表示されるバージョンは、Rust ワークスペースの Cargo.toml にある [workspace.package].version と一致します — バインディングと Rust ライブラリのバージョンは常に同期しています。
ソースからのビルド
お使いのプラットフォームに合う wheel がない場合や、未リリースの Rust コミットに対してバインドしたい場合は、maturin でビルドします。
git clone https://github.com/dekobon/big-code-analysis.git
cd big-code-analysis/big-code-analysis-py
python -m venv .venv && source .venv/bin/activate
pip install --upgrade pip
pip install "maturin>=1.7,<2.0"
maturin develop --release # big_code_analysis を編集可能な形でインストール
python -c "import big_code_analysis as bca; print(bca.__version__)"
maturin develop は Rust 拡張をその場でビルドしてアクティブな venv にインストールするため、import big_code_analysis はローカルで解決されます — 別途 pip install -e . を実行する必要はありません。--release フラグは最適化を有効にします。開発中はこれを省略するとリビルドが高速になります。
このほかに以下が必要です。
- 安定版の Rust ツールチェーン(MSRV:
1.94)。rustup からインストールしてください。 - C コンパイラ(tree-sitter 文法クレートのビルドに使用されます)。
- CPython の開発用ヘッダー(Debian / Ubuntu では
python3-dev)。
次のステップ
クイックスタートに進んで最初のメトリクスを計算してください。多数のファイルを処理するパイプラインに組み込む場合は、バッチ処理まで読み飛ばしても構いません。