PyO3

RustとPythonを繋ぐバインディングライブラリ。RustでPythonのネイティブ拡張モジュール(.so/.pyd)を書いてPython側からimportして使うことも、逆にRustのバイナリにPythonインタプリタを埋め込んでPythonコードを呼び出すこともできる。 #rust #python

できること

  • RustでPython拡張モジュールを書く — パフォーマンスが要求される処理をRustで実装し、Pythonの通常のモジュールとして公開する。NumPy/Pandas系ライブラリの内部実装や機械学習系ライブラリの高速化レイヤーなどでよく使われる用途。
  • RustからPythonを呼び出す — Rustバイナリ内にPythonインタプリタを埋め込み、既存のPython資産(ライブラリ等)をRust側から利用する。
  • Python⇔Rustの型変換(PyObjectとRustの型の相互変換など)を自動でハンドリングしてくれる。

maturin

PyO3を使ったPythonパッケージのビルド・配布にはmaturinというツールが使われるのが一般的。maturin buildでwheelを生成し、PyPIへの配布まで面倒を見てくれる。

出典

作成日時: 2026-08-19 22:49 / 更新日時: 2026-08-19 22:49