-
Notifications
You must be signed in to change notification settings - Fork 61
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
Use poetry to manage Python packaging #167
Conversation
…clib and build_ext before build_py packaging step
Reason: Python distutils invocation of SWIG will output "zt_wrap.cpp" instead of "zt_wrap.cxx", and if both files are present the compiler will get confused.
Thanks. I've tested all of your PRs and everything seems to work and I can build the wheel with poetry. This is excellent work! Before I merge everything into |
Looks like there are actions available for GitHub workflows that install poetry (e.g. https://github.com/marketplace/actions/setup-poetry). Then you can run I played around with this and I was able to build wheels this way for multiple versions of Python. A caveat is there seems to be a bug in the latest version of poetry that causes the name of the output wheel to always reflect the same version of Python (i.e. the wheel I got was always called |
Reference: python-poetry/poetry#3509. I wouldn't hold my breath for a resolution as poetry extension module support is still very alpha-stage for some reason even after 3 years. |
RE: cibuildwheel, it looks like Poetry might already be supported: pypa/cibuildwheel#916. Also, it would be a good idea to add Python 3.10 support now. |
- Pre-install poetry - Remove redundant build steps (now handled by build.py) - Add Python 3.10 to builds
I took a stab at retooling wheels.yml. It's not tested though. |
Note: I just removed support for Python 3.5 since it is not supported by Poetry and it is currently being phased out. I don't think we can migrate to Poetry without making this change. |
setup.py needs to be removed as well for this one to work. |
Use poetry to manage building Python extension instead of shell script