package pyml_bindgen
Generate pyml bindings from OCaml value specifications
Install
Dune Dependency
Authors
Maintainers
Sources
0.4.1.tar.gz
md5=bfa32570ab50fe360974fe7a4c9ff504
sha512=496beb6364654ad09be5d0f8ae01016a01163105341ed57f5f27eb430c67cea4e6e5aa913375557094d4acf1e29fb4908cab8552b8ae38f50f1f89f7562d4821
doc/CHANGELOG.html
Unreleased
0.4.1 (2022-08-01)
Fixed
- Fixed cram dependency specification
0.4.0 (2022-07-31)
Added
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.
0.3.1 (2022-03-23)
Changed
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
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
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.
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!
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page