🎨🐍 Streamline Python bindings - #982
Conversation
|
@denialhaag I assume that is all still a work in progress. When you have a state where it makes sense to have a look, feel free to request a review from me before you request it from @burgholzer as the restructuring in QMAP was initiated by me in #624. Also, feel free to reach out if you have any questions. |
|
@ystade, yes, this is very much still work in progress. I'll let you know if I have any questions. Thanks! :) |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
@denialhaag I just pushed a commit that may solve the linter issue, let's see what the CI says. |
|
Besides the comments that will be included in the review, I have one comment that I could not put in the review. @burgholzer added the following file core/include/mqt-core/python/pybind11.hpp Lines 1 to 22 in 643a18f This did not exist in MQT QMAP when I restructured the bindings. The state right now feels not quite satisfactory as the source files are now clearly separated into |
The main motivation was that these includes always need to come first in order for the STL bindings to work as expected. The common header makes that fairly easy to enforce. |
ystade
left a comment
There was a problem hiding this comment.
Thanks @denialhaag for your work on this. This looks already very good and clean. I added very few comments and one reminder within the code. After those comments are resolved, I think this PR is ready to be reviewed again by @burgholzer .
|
@denialhaag One more thing, I am quite certain that the last commits did not trigger the full CI, esp. the C++ Linting since only config files were changed. Can you either introduce some dummy change to some C++ file to trigger the entire CI again (the change can be reverted after the CI has finished) or you manually run the CI workflow under Actions/CI/run workflow on this branch? However, this must be done in your forked repository. In general, since you have the permissions now, I think for the future it is more convenient if you just work directly in this repo without forking it but this is really no big issue. |
I removed |
denialhaag
left a comment
There was a problem hiding this comment.
Undo these changes before merging.
Use different linter version Run linter on all files Fix
burgholzer
left a comment
There was a problem hiding this comment.
Hey @denialhaag 👋🏼
Many thanks for your work on this! I just did a fairly quick review of the whole PR to keep moving this forward. Nothing really critical, so this should hopefully be easy to address. Otherwise, this is looking really good already and should be done "soon".
Co-authored-by: Lukas Burgholzer <burgholzer@me.com> Signed-off-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
burgholzer
left a comment
There was a problem hiding this comment.
LGTM 👍🏼 Let's get this in now, to not create too many conflicts with other ongoing PRs.
Thanks for your work on this!
Description
This PR aligns the implementation of Python bindings with the implementation introduced in qmap#624. To this end, a helper function
add_mqt_core_bindingis introduced.Checklist:
I have added appropriate tests that cover the new/changed functionality.I have updated the documentation to reflect these changes.