Skip to content

Allow a major-only -dev tag to select a prerelease - #435

Closed
hippi345 wants to merge 1 commit into
python:mainfrom
hippi345:fix-428
Closed

hippi345 wants to merge 1 commit into
python:mainfrom
hippi345:fix-428

Conversation

@hippi345

Copy link
Copy Markdown

Final releases publish the same -dev tags as prereleases, and the install lookup only considered prereleases after no final match. py install 3-dev therefore resolved to the latest final instead of 3.16.0a1.

A requested prerelease tag (3-dev, 3.16-dev, 3.16.0a1) is now included on the first, newest-first pass. Plain tags such as 3 still prefer the latest final. Tests added in tests/test_indexutils.py / tests/test_tagutils.py (58 pass).

Fixes #428

Final releases publish the same -dev tags as prereleases, and install
lookup only considered prereleases after no final match. `py install 3-dev`
therefore resolved to the latest final instead of 3.16.0a1. Treat a
requested prerelease tag as preferring prereleases on the first pass.

Fixes python#428
@python-cla-bot

python-cla-bot Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

All commit authors signed the Contributor License Agreement.

CLA signed

@zooba

zooba commented Oct 29, 2026

Copy link
Copy Markdown
Member

I'm afraid it's a much bigger and more complex change - there are multiple places where filtering needs to be updated, and a lot of changes to prerelease handling that will impact users, as well as test scenarios for using -dev in default tags and such.

It's possible you can get this to cover all the cases, but it's probably best to leave it to a core contributor who's more aware of all the nuances.

@hippi345 hippi345 closed this Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

py install 3-dev doesn't install prerelease

2 participants