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

PyPi releases #377

Open
MatthijsBurgh opened this issue Jan 26, 2022 · 3 comments
Open

PyPi releases #377

MatthijsBurgh opened this issue Jan 26, 2022 · 3 comments

Comments

@MatthijsBurgh
Copy link
Collaborator

As discussed in #376. There seems to be some interest in PyPi releases.

Myself, I don't have any experience in python/PyPi releases. I also have no idea how it works with Python C extensions that require a C/C++ library.

@zchen24 has released one version back in 2018. But wants to add more maintainers which can release newer versions.

@dimaqq Has no knowledge of the kinematics, but has some experience in python releases and would like to join the maintainers for this purpose.

@smits @meyerj What do you think?

@dimaqq
Copy link

dimaqq commented Jan 26, 2022

how it works with Python C extensions that require a C/C++ library.

manylinux specifies which libraries are expected in the system: libc, etc.
See https://www.python.org/dev/peps/pep-0599/#the-manylinux2014-policy for full list and exact versions.
Similar list in https://www.python.org/dev/peps/pep-0571/#the-manylinux2010-policy
The newest standard https://www.python.org/dev/peps/pep-0600/ is less clear because it's a meta-standard in a way.

custom libraries, like kdl, need to be bundled into the wheel.
at the moment I'm not clear if the library must be statically linked, or if wheel can include a shared object side-by-side with the Python extension shared object.

My 2c: it may be enough to publish manylinux2014, at least at first. That covers Ubuntu 18 and 20.04 and other distros of similar age. Given that ROS2 kinda recommends Ubuntu 20.04 as development base, it's a good fit.

@dimaqq
Copy link

dimaqq commented Jan 27, 2022

Static linking is fine;
Dynamic linking is OK too, but it falls on the maintainer to ensure that dependent library soname won't clash with any other dependent library from any other python package.

@luzpaz
Copy link
Contributor

luzpaz commented Sep 24, 2023

Any progress here ?

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

No branches or pull requests

3 participants