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

Python Bindings #419

Open
orecham opened this issue Sep 30, 2024 · 0 comments
Open

Python Bindings #419

orecham opened this issue Sep 30, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@orecham
Copy link
Contributor

orecham commented Sep 30, 2024

Brief feature description

Enable communication using iceoryx2 in Python applications.

Detailed information

A couple of options have been briefly investigated:

  1. PyO3
    1. Allows for annotating Rust functions and structs to be made available via a Python module
    2. Good overview on the topic: https://www.youtube.com/watch?v=lyG6AKzu4ew
  2. Extending using C/C++ Bindings
    1. Allows for more control over the implementation
    2. However, requires more boilerplate
    3. It is not obvious if the extra effort warrants the benefit

The PyO3 option seems more maintainable and less effort to me.

Other considerations:

  1. Loose coupling to iceoryx2 internals
    1. The implementation should not modify iceoryx2 API or its internals to work
      1. i.e. Do not directly annotate the API or its internal structs and functions, prefer to make new ones mirroring the public API for annotation
@orecham orecham added enhancement New feature or request good first issue Good for newcomers labels Sep 30, 2024
@elfenpiff elfenpiff removed the good first issue Good for newcomers label Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants