py.ml provides OCaml bindings for Python 2 and Python 3. This library
subsumes the pycaml library, which is no longer actively maintained.
The Python library is linked at runtime and the same executable can be
run in a Python 2 or a Python 3 environment. py.ml does not require any
Python library at compile time. The only compile time dependency is
Stdcompat to ensure compatibility with all OCaml compiler versions from
3.12.
Bindings are split in three modules:
- Py provides the initialization functions and some high-level bindings,
with error handling and naming conventions closer to OCaml usages.
- Pycaml provides a signature close to the old Pycaml module, so as to
ease migration.
- Pywrappers provides low-level bindings, which follow closely the
conventions of the C bindings for Python. Submodules
Pywrappers.Python2 and Pywrappers.Python3 contain version-specific
bindings.