Skip to content

Conversation

@jsirois
Copy link
Member

@jsirois jsirois commented Dec 30, 2025

We now publish two wheels:

  1. pex-<rev>.py27.py35.py36.py37.py38.py39.py310.py311-none-any.whl:
    Targets exactly the Pythons in the python tag.
  2. pex-<rev>.py3.py312-none-any.whl: Targets Python>=3.12.

The 1st wheel carries the same contents as the existing
pex-<rev>.py2.py3-none-any.whl wheel and the 2nd wheel
(pex-<rev>.py3.py312-none-any.whl) ships without vendored pip,
setuptools, toml or tomli since these are either unusable or
un-needed under Python>=3.12.

Fixes #1526
Fixes #1527
Fixes #1528
Fixes #1877
Fixes #2731
Fixes #2785

We now pulish two wheels:
1. `pex-<rev>.py27.py35.py36.py37.py38.py39.py310.py311-none-any.whl`:
   Targets exactly the Pythons in the python tag.
2. `pex-<rev>.py3.py312-none-any.whl`: Targets Python>=3.12.

The 1st wheel carries the same contents as the existing
`pex-<rev>.py2.py3.py312-none-any.whl` wheel and the 2nd wheel
(`pex-<rev>.py3.py312-none-any.whl`) ships without vendored `pip`,
`setuptools`, `toml` or `tomli` since these are either unusable or
un-needed under Python>=3.12.

Fixes pex-tool#2785.
Importantly, Pex without vendored Pip can now materialize vendored Pip
from its VCS requirement.
Also apply package command CI timeout fix in a test that packages the
Pex PEX scie.
This need not rely on a ranked tag.
An incidental bug noticed stress testing Pex split `.whl`s.
The one potentially tricky case in the split `.whl` regime is
bootstrapping what would normally be vendored Pip to satisfy older
`--python`s and / or explicitly requested `--pip-version vendored`.
@jsirois jsirois merged commit fe45ee9 into pex-tool:main Jan 2, 2026
27 checks passed
@jsirois jsirois deleted the issues/2785 branch January 2, 2026 01:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant