Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐍 Added Python bindings #371

Merged
merged 512 commits into from
Apr 22, 2024
Merged

🐍 Added Python bindings #371

merged 512 commits into from
Apr 22, 2024

Conversation

marcelwa
Copy link
Collaborator

@marcelwa marcelwa commented Jan 19, 2024

Description

This PR adds Python bindings to fiction. The additions are quite extensive. In a nutshell, a new module pyfiction was added under bindings/ that contains pybind11 wrapper code for a majority of fiction's features. The new features are documented via RST as usual. CIs have been added to test the bindings. Additionally, the bindings are also published as a wheel at PyPI as mnt.pyfiction.

Many, many thanks to @Drewniok and @simon1hofmann for code contributions, proofreading, and testing! 🙏 Your help is most appreciated!

Checklist:

  • The pull request only contains commits that are related to it.
  • I have added appropriate tests and documentation.
  • I have made sure that all CI jobs on GitHub pass.
  • The pull request introduces no new warnings and follows the project's style guidelines.

marcelwa and others added 30 commits April 21, 2023 09:30
* use dotenv for compatibility

* declare dotenv a dependency

* use older version due to python version requirements

* use optional dependecies

* fix typo

* install test dependencies for deployment

* use test extras instead of test requires
* Add pyfiction documentation to read the docs

* revert change in conf.py for local doc building

* add removed empty line

* Update requirements.txt

* Add docs

* change Mathjax commands to also work in pyfiction docs

* try to order members by source

* exclude mkdoc script from clang-tidy-review

* fix documentation for cartesian layout

* exclude documentation.hpp in clang-tidy review

* update exclude pattern in clang-tidy-review

* move header inside tab

* move header inside individual tabs

* change version requirement for Z3

* override hexagonal layout Python docs

* update hexagonal layout Python docs

---------

Co-authored-by: Marcel Walter <[email protected]>
@marcelwa marcelwa merged commit 9becc3a into main Apr 22, 2024
84 of 85 checks passed
@marcelwa marcelwa deleted the pyml branch April 22, 2024 18:04
@wlambooy
Copy link
Contributor

:O

congrats!!!! 🎈 🎈 🎈

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants