- Fixed cram dependency specification
- Add helper scripts for binding cyclic Python classes
gen_multi
is a wrapper forpyml_bindgen
that takes a TSV file of command line specs, and runspyml_bindgen
on each of them.combine_rec_modules
is a small program that takes generated OCaml modules and "converts" them into recursive modules- You can combine these two to make it easier to generate recursive modules, which can be useful for binding Python classes that reference each other.
- Add support for
py_arg_name
attribute. It lets you use different argument names in the OCaml bindings than used in the Python functions. - Add
--split-caml-module
option to split generated module into separateml
andmli
files. - Add
pyml_bindgen-dev.opam
for easier installation of development dependencies.
- Reduce number of dependencies (including when installing from the GitHub repository).
- Use
re
instead ofre2
for regular expressions. - Drop some of the dev dependencies from the
opam
file.
- Use
- Allow nested module types in val specs (e.g.,
Food.Dessert.Apple_pie.t
) - Allow using
Pytypes.pyobject
andPy.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.
- Currently the only one available is
- 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.
- Updated docs
- Update to dune 3
- Update to cmdliner 1.1
- Fix some small
otype
bugs
- 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
- Use specific
ocamlformat
version for the tests. See this Opam repository pull request for more info.
- Update lower bounds for dependencies
- Fix tests to work with BusyBox/Alpine
grep
command
Initial release!