このプロジェクトについて
pybind11は、C++とPythonの間のシームレスな相互運用を可能にする軽量でヘッダーのみのC++ライブラリです。主に既存のC++コードのPythonバインディングを作成し、C++の型をPythonに公開したり、その逆を行ったりするために使用されます。このプロジェクトは、Boost.Pythonのより小さく自己完結した代替として作成され、Boostの大きな依存フットプリントを避け、タプル、ラムダ関数、可変長テンプレートなどのC++11機能に依存しています。
このライブラリは、カスタムデータ構造を持つ関数、インスタンスメソッドとスタティックメソッド、オーバーロードされた関数、属性、例外、列挙型、コールバック、イテレータ、カスタム演算子、継承、STLコンテナ、スマートポインタ、Pythonからの仮想メソッド拡張など、幅広いC++機能のPythonへのマッピングをサポートしています。また、統合されたNumPyサポート、NumPy配列上の自動関数ベクトル化、効率的なデータ転送のためのバッファプロトコル公開、スライスベースのアクセス、C++型のピクルスサポートも提供します。
pybind11は、実装に依存しないインターフェースを通じて、CPython 3.9以上、PyPy3、GraalPyで動作します。このライブラリはわずか数個のヘッダーファイルで構成され、追加のライブラリへのリンクを必要としません。ドキュメントはpybind11.readthedocs.ioで利用可能で、setuptools、scikit-build、CMake統合の例があります。このプロジェクトはBSDスタイルのライセンスで配布され、PyPIとconda-forgeで利用できます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.