fix: stamp source builds above every intra-family dep floor - #1447
Merged
Conversation
setup.py fell back to "1.0.dev0" when VERSION is unset, which is what any source install does. That sorts BELOW every date release, so a local checkout advertised itself as older than a 2022 wheel. Harmless while nothing in the family constrained a sibling; fatal once the >=2026.7.29.2 floors landed (PyAutoLens#687), since 1.0.dev0 cannot satisfy them and pip raises ResolutionImpossible. The same defect was already biting silently: three *_workspace_test repos carry `pip install --force-reinstall --no-deps ./PyAutoNerves` because the [optional] re-resolution kept pulling the stale PyPI autonerves over the local build. The floors turned silent into loud. "9999.0.0.dev0" sorts above every date release (satisfies present and future floors), keeps .dev so nothing claims the checkout is a release, and is not read by the autonerves workspace handshake (that reads __version__). Refs PyAutoLabs/PyAutoNerves#146. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JJA22BPEreojsu7LZHFwsv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Part of the fix for PyAutoLabs/PyAutoNerves#146 — main is broken: every
workspace smoke job has died at the install step since 18:08Z on 2026-08-03.
The defect
setup.pyfell back to"1.0.dev0"wheneverVERSIONis unset — which is whatany source install does.
1.0.dev0sorts below every date release, so alocal checkout advertised itself as older than a 2022 wheel.
That was harmless only while nothing in the family constrained a sibling. Once
the
>=2026.7.29.2floors landed (PyAutoLens#687),1.0.dev0could not satisfythem and pip raised
ResolutionImpossible.Not fallout from the floors
The same defect was already biting, silently.
autolens_workspace_test,autogalaxy_workspace_testandautocti_workspace_testeach carrypip install --force-reinstall --no-deps ./PyAutoNerves, commented "the[optional]re-resolution above can upgrade autonerves to the stale PyPIrelease" — a PyPI wheel quietly shadowing the local build, patched per repo.
The floors converted a silent misinstall into a loud one, everywhere at
once.
Why
9999.0.0.dev0.dev, so nothing ever claims the checkout is a release.autonervesworkspace handshake — that reads__version__(
2026.7.23.1on main), not pip metadata. No runtime behaviour changes.export VERSIONexplicitly, so this default is neverpublished. PyAutoHands gains a guard that fails the build if
VERSIONisempty, belt-and-braces.
Verified
pip install ./PyAutoNerves ./PyAutoFitonmain→ the exactResolutionImpossibleseen in CI.VERSIONset → resolves;every package installs from source at
9999.0.0.dev0, no family wheels fromPyPI. Confirmed for both the autolens chain (5 packages) and the autocti chain.
Merge order
All six library PRs merge together. The floors stay exactly as they are.