Update: June 6th - First Release here Critiqe my project idea - Publishing Python platform wheels with Rust extentions
Hi. I have a project idea that I need help validating and fleshing out. I want to know if it’s been done, if it’s possible, and if it’s well scoped for me. The idea I have right now is that I want to make it a lot easier to build and publish (to PyPi) platform-specific Python wheels that include Rust extensions.
Right now it doesn’t seem like there is an easy way to publish a Python package with Rust extensions that serve all the major platforms. Is this accurate?
If that’s true I’d like to help fix it, but I need help understanding the challenges.
The final result in Pypi would look something like this
mypackage-1.10.0-cp36-cp36m-macosx_10_6_intel.whl mypackage-1.10.0-cp36-cp36m-manylinux1_i686.whl mypackage-1.10.0-cp36-cp36m-manylinux1_x86_64.whl mypackage-1.10.0-cp36-cp36m-win32.whl mypackage-1.10.0-cp36-cp36m-win_amd64.whl
Right now my plan is to create a cookiecutter project template that would build and publish Python packages after building the necessary Rust binaries in Travis/Appveyor using the template from Trust. I think Trust should handle the complicated bits of the actual platform compilation… All I would need to do is package the Rust binaries into wheels with the Python code. I’ll probably rip-off the Rust-in-Python hello world example from here
Thoughts? Comments? Suggestions?