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

[WIP] Initial draft of python interface with pybind #47

Draft
wants to merge 9 commits into
base: develop
Choose a base branch
from

Conversation

tbkr
Copy link

@tbkr tbkr commented Oct 24, 2024

The current solution to expose a C-API and serve it via cffi to python is nice, although tedious, e.g. manual labor intense, solution. Due to C++ and Python being object oriented, the function/procedural C-API is a bit more verbose than wished. This leads to additional overhead when exposing new functionality, likewise when wrapping functional constructs.

This MR proposes the use of pybind11 to have a more convenient and expressive way of writing the transition layer between the C++ and Python-API.

This is WIP. I added a fdb_py.cc file containing all definitions for the C++-Python-Interaction, added the creation of the shared object file to CMake and added a pyproject.toml.

@FussyDuck
Copy link

FussyDuck commented Oct 24, 2024

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ Ozaq
❌ tbkr
You have signed the CLA already but the status is still pending? Let us recheck it.

Ozaq and others added 8 commits November 11, 2024 09:13
This change gets the location of the eccodes binaries from an arbitray
selected eccodes binary to ensure the binaries can be found if they are
installed into a non default location.
'fdb-purge' is now using the '--config' flag as advertised in '--help'
'fdb-dump-toc' does not read the config file because it is using a
TocHandler construction that does not require access to the
configuration. How the tool no longer shows the config option.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants