package pyml_bindgen

  1. Overview
  2. Docs
Generate pyml bindings from OCaml value specifications

Install

Dune Dependency

Authors

Maintainers

Sources

0.3.1.tar.gz
md5=2bb36f386295245d54f316537a18ee62
sha512=24d89eba6acb6c97fb86bca40d10578a3f65325b04532df3d2bed2458f88bb424ed91802eccf098db050914db8aaff8ba0e15579c5abe9a5a37bee3307ed1b3c

doc/CHANGELOG.html

Unreleased

NA

0.3.1 (2022-03-23)

Changed

  • Reduce number of dependencies (including when installing from the GitHub repository).

    • Use re instead of re2 for regular expressions.
    • Drop some of the dev dependencies from the opam file.

0.3.0 (2022-03-18)

Added

  • Allow nested module types in val specs (e.g., Food.Dessert.Apple_pie.t)
  • Allow using Pytypes.pyobject and Py.Object.t in val specs
  • Better error messages when parser or py_fun creation fails
  • You can now use attributes on value specifications.

    • Currently the only one available is py_fun_name.
    • It allows you to decouple the Python method name and the generated OCaml function name.
    • See the examples directory on GitHub for more info.
  • You can now bind tuples with 2, 3, 4, or 5 elements.

    • They can be passed in as arguments, or returned from functions.
    • Only basic types and Python objects are allowed in tuples.
    • You can also put tuples inside of collections, e.g., (int * string) list, but not Options or Or_errors.

Changed

  • Updated docs
  • Update to dune 3
  • Update to cmdliner 1.1

Fixed

  • Fix some small otype bugs

0.2.0 (2022-02-02)

  • Allow embedding Python source directly into generated OCaml module with the --embed-python-source CLI option. See this issue for more info.
  • Fix bug in val spec parsing
  • Update docs
  • Add full examples in the examples directory

0.1.2 (2021-12-07)

  • Use specific ocamlformat version for the tests. See this Opam repository pull request for more info.

0.1.1 (2021-11-04)

  • Update lower bounds for dependencies
  • Fix tests to work with BusyBox/Alpine grep command

0.1.0 (2021-10-31)

Initial release!

OCaml

Innovation. Community. Security.