インストール

バインディングはホイールのみ(pure-wheel)の Python パッケージとして配布されます。推奨のインストール方法は pip(またはお好みのロックファイルマネージャー — uvpoetrypdm)です。

pip install big-code-analysis

Python >=3.12 が必要です。コンパイル済み拡張は CPython の安定 abi3 サーフェス(abi3-py312)を使用するため、1 つのホイールで 3.123.13、および将来のすべてのマイナーリリースを、バージョンごとのホイールビルドなしにカバーできます。

Wheel マトリクス

CI は現在、以下のターゲット向けの wheel を公開しています。お使いのプラットフォームが記載されていない場合は、ソースからビルドしてください。

プラットフォームアーキテクチャ
Linux(manylinux_2_28x86_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)。

次のステップ

クイックスタートに進んで最初のメトリクスを計算してください。多数のファイルを処理するパイプラインに組み込む場合は、バッチ処理まで読み飛ばしても構いません。