Ship the C++ speedup with no user toolchain — pip install chilmesh[cpp] pulls a prebuilt binary instead of requiring a compiler + CMake source build. Today PyPI is pure-Python (#229), so the C++/Rust speedups are unreachable for most users.
Full plan (design, phases, risks, ready-to-apply YAML/pyproject snippets): docs/dev/PREBUILT_WHEELS_PLAN.md.
Approach — Model A: publish chilmesh-cpp as its own binary-wheel package + add a chilmesh[cpp] extra (keeps chilmesh pure-Python default/fallback; backend auto-detect already imports chilmesh_cpp, no runtime code change).
Checklist (comment-to-close as each lands)
Notes
- Not Rust. The Rust backend is frozen and earns no perf niche over C++ (
docs/RUST_EVALUATION.md) — this ships C++ wheels only.
- Registry: PyPI wheels are the correct channel for a Python extension module (Conan/vcpkg are for C++-consumed libraries, not applicable). Optional later: conda-forge for the scientific audience.
- Releases: publishing new binary wheels = a new
chilmesh-cpp version on PyPI (immutable — no re-upload). Independent of the main chilmesh version and its GitHub/Zenodo release cadence.
Refs: #229, #225, #234.
Generated by Claude Code
Ship the C++ speedup with no user toolchain —
pip install chilmesh[cpp]pulls a prebuilt binary instead of requiring a compiler + CMake source build. Today PyPI is pure-Python (#229), so the C++/Rust speedups are unreachable for most users.Full plan (design, phases, risks, ready-to-apply YAML/pyproject snippets):
docs/dev/PREBUILT_WHEELS_PLAN.md.Approach — Model A: publish
chilmesh-cppas its own binary-wheel package + add achilmesh[cpp]extra (keepschilmeshpure-Python default/fallback; backend auto-detect already importschilmesh_cpp, no runtime code change).Checklist (comment-to-close as each lands)
chilmesh↔chilmesh-cppversion-compat pin; graduatechilmesh-cppoff0.6.0.dev0build-cpp-wheels.yml: realfull_initsmoke test (not justhasattr); ship Linux manylinux first (free runners)publish-cpp-wheels.yml: release/tag-gated PyPI upload (prefer Trusted Publishing / OIDC; token fallback mirrorspublish-pypi.yml) + sdist[project.optional-dependencies] cpp = ["chilmesh-cpp>=0.6,<0.7"]; documentpip install chilmesh[cpp](land with the publish, never before — else the extra resolves to a nonexistent package)backend_info()['selected']=='cpp'+ equivalence suite against the installed wheel, notsrc/— Rust + C++ backends blocked from cross-language validation benchmark (array-skeletonize returns 2; cpp editable resolves to empty stub) #163 shadowing); close PyPI wheel (chilmesh 1.2.1) ships pure-Python only — no compiled cpp extension; consumers get the slow path #229Notes
docs/RUST_EVALUATION.md) — this ships C++ wheels only.chilmesh-cppversion on PyPI (immutable — no re-upload). Independent of the mainchilmeshversion and its GitHub/Zenodo release cadence.Refs: #229, #225, #234.
Generated by Claude Code