From 3f406f6d277c7bb263ab88aedd394775a47ab933 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Mon, 3 Aug 2026 21:46:26 +0100 Subject: [PATCH] fix: stamp source builds above every intra-family dep floor 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 Claude-Session: https://claude.ai/code/session_01JJA22BPEreojsu7LZHFwsv --- setup.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 467a065b1..f212ee20f 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,11 @@ import os from setuptools import setup -version = os.environ.get("VERSION", "1.0.dev0") +# Source builds stamp a version ABOVE every date release. Intra-family deps +# carry `>=` floors, so a low dev stamp (the old "1.0.dev0") makes a local +# checkout unsatisfiable against its own siblings. Release builds always set +# VERSION explicitly, so this default is never published. +version = os.environ.get("VERSION", "9999.0.0.dev0") setup( version=version,