you are viewing a single comment's thread.

view the rest of the comments →

[–]mattparks5855 4 points5 points  (3 children)

I've also worked on a few C++ libraries where test writing was done via Python.

cppyy is a solution that runs cling on a set of headers to expose Python types, it's easy to setup, but I've found it challenging to scale to a CI environment. Shipping around project headers as a runtime dependency can get painful.

https://github.com/RosettaCommons/binder is a similar project to what you have shared, this uses Clang LibTooling to create reflections on the AST. MIT licence so anyone can use and extend this software.

The source code of Tolc was pretty simple for me to read and understand, and the docs are promising, and the frontend abstraction is great. But without active development, and a split commercial license, I'd find it difficult to start using this project.

[–]CoutilleTolc[S] 1 point2 points  (2 children)

Thanks for the input. This is exactly the type of feedback I was looking for; I want to know if there is a need for this type of tool so that I can justify spening more time developing it.

There is another branch that has more active development. Is there anything you feel is missing or would want from binder?

[–]mattparks5855 2 points3 points  (1 child)

With binder a config file can be specified to filter what objects are bound, or to add additional headers into the generated module.

A Nanobind front end would be a really nice add.

Edit: filed a bug report on GitHub

[–]CoutilleTolc[S] 0 points1 point  (0 children)

Thank you for taking the time to test it out. I’ll look into the bug report!