EMRY-036: maturin packaging (pip install builds the native wheel) #74
No reviewers
Labels
No labels
blocked
bug
compat
docs
documentation
duplicate
emry-cli
emry-core
emry-engine
emry-ingest
emry-py
emry-store
emry-tui
emry-web
enhancement
good first issue
gpu-compute
help wanted
hpc
infra
integrations
invalid
needs-design
P0-blocker
P1-core
P2-enhanced
P3-future
performance
pull-request
python
pytorch
question
rust
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
femboy/emry!74
Loading…
Reference in a new issue
No description provided.
Delete branch "emry-036-packaging"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #27 (EMRY-036). Branched off
main. Completes M3.What
Switch the Python build backend from setuptools → maturin, so
pip install emry/pip install -ecompile the nativeemry._nativeextension and bundle it with the pure-Python package as an abi3 wheel (one wheel works on any Python ≥ 3.10). Adds a[torch]extra.CI
maturin build(abi3 wheel) +maturin sdist, then installs the wheel in a clean venv and verifiesimport emry, emry._native— and uploads dist artifacts.Verification (local)
pip install -e ".[dev]"builds the native ext;pytestgreen (79 passed, 2 skipped = numpy/torch optional; the native tests now run since the ext is built).maturin build+maturin sdist→ clean-venv install from the wheel →import emry._nativeworks (emry-0.1.0-cp310-abi3-manylinux_2_34_x86_64.whl).Risk note
This changes how the package installs (maturin, not setuptools) and adds Rust to the Python CI path — both verified locally as far as possible; watching the
python+wheelsCI jobs. PyPI publish automation (token-gated, on tag) is deferred to the release work (EMRY-057/M5).