Fail ordinary source installs when the native compute core cannot be built
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Domain
- build-system, ci-cd, release
Research direction
Start with hatch_build.py, especially the build hook and Cargo handling cited in the issue, then inspect the CI workflow and changelog paths that preserve coreless success. Verify default wheel, editable, and sdist builds with and without a Rust toolchain; done means unsupported native builds fail early, normal artifacts are not py3-none-any without compute, and CI checks the success and failure paths.
Written by the indexing model from the issue text.
Description
Summary
xy advertises the native Rust core as required and has no compute fallback, but an ordinary source wheel build quietly succeeds as py3-none-any when Cargo is missing or the Rust build fails. Installation appears successful and only fails when compute is first imported/used.
Evidence
- The build hook explicitly defines missing Cargo/build failure as a successful coreless install: https://github.com/reflex-dev/xy/blob/99eda6d9fd8a019c7637be75a79e2b4a4f38fbbd/hatch_build.py#L8-L13 and https://github.com/reflex-dev/xy/blob/99eda6d9fd8a019c7637be75a79e2b4a4f38fbbd/hatch_build.py#L171-L197
- Missing Cargo or a failed build returns
NoneunlessXY_REQUIRE_CARGO=1: https://github.com/reflex-dev/xy/blob/99eda6d9fd8a019c7637be75a79e2b4a4f38fbbd/hatch_build.py#L306-L331 - CI and release explicitly preserve and celebrate the coreless-success path: https://github.com/reflex-dev/xy/blob/99eda6d9fd8a019c7637be75a79e2b4a4f38fbbd/.github/workflows/ci.yml#L644-L690 and https://github.com/reflex-dev/xy/blob/99eda6d9fd8a019c7637be75a79e2b4a4f38fbbd/CHANGELOG.md#L37-L42
- The public install page acknowledges that an apparently successful install is unusable for compute: https://github.com/reflex-dev/xy/blob/99eda6d9fd8a019c7637be75a79e2b4a4f38fbbd/docs/overview/installation.md#L85-L89
Acceptance criteria
- Default wheel/editable/sdist installs fail during build if no compatible native core can be produced or reused.
- Ordinary builds no longer emit a misleading
py3-none-anyxywheel with no compute backend. - If adapter-only/coreless packaging is still needed internally, require an explicit, clearly named opt-in and prevent that artifact from entering the normal release path.
- CI covers both successful native source installation and expected early failure without a toolchain.
- Error text identifies supported wheels/toolchain remediation at install time.
- Dominant language
- Python
- Stars
- 1.9k
- Forks
- 76
- Avg merge
- 1h 25m
- Merged PRs (30d)
- 5
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from reflex-dev/xy
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
reflex-dev/xy#526 ·
Maintainers usually reply within 1 day
-
Skip finite/log visibility scans when zone maps already prove all-finite on linear axesMay be free again A pull request for this issue was closed without being merged. Openneeds investigate performance
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
reflex-dev/xy#169 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
reflex-dev/xy#523 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
reflex-dev/xy#516 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 74/100
reflex-dev/xy#512 ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
GAM-team/got-your-back#547 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
UKGovernmentBEIS/inspect_ai#5821 ·
Maintainers usually reply within 1 day
-
docs help wanted
Difficulty 1/5 1-3 hours Newbie friendliness 75/100
-
evidence wanted good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
open-coder-ai/agentseam#195 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day