Initial commit for Rust powered modules #56
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Experimental branch for playing around with Rust powered modules. With this POC I initially set out to replace the dependencies on the
lz4
andpython-lzo
Python dependencies, and replacing them with a Rust powered extension.The concept here is that we will use
maturin
to build wheels that contain the Rust compiled extension, but we will not change the build system inpyproject.toml
. This is to ensure that we will never compile when installing a "source wheel". Instead, we will continue to usetox -e build
to build Python-only wheels, and in parallel build Rust wheels withmaturin
. The theory here being that on apip install
, the following will happen:Play along at home:
Next steps:
maturin build
contain the same stuff as our Python wheelCOPYRIGHT
file. Looks like our filename for that is not according to "standards": Automatically include license files in.dist-info/license_files
PyO3/maturin#862. Nice way would be PEP639 but doesn't look like that's implemented yet: Package multiple license files in .dist-info PyO3/maturin#861sed
magic to "emulate"setuptools-scm