Releases: pex-tool/pex
pex 2.81.0
2.81.0
This release adds the ability to set a custom scie entrypoint for PEX scies using --scie-exe,
--scie-args and --scie-env, as well as bind resource paths to environment variables using
--scie-bind-resource-path. The combination of these new features allows broad flexibility
defining a PEX scie's boot command.
Additionally, the pex3 scie create command gains the ability to use a URL for the PEX to convert
to a scie and optionally specify a size (via #size=<expected size>) and / or fingerprint (via
#<algorithm>=<expected fingerprint>) to verify the download against.
- Support converting existing Pants PEXes to performant scies. (#3072)
| file | sha256 | size |
|---|---|---|
| pex | 654c561d4fc2b833f1ed6b23cf9251eb7dab812b12deaac365d7150afd96fca5 | 4945588 |
| pex-linux-aarch64 | fc9c13c99a7fd95091c70efb05314f1efe48e271e9a48a973c377bab863241a9 | 36571854 |
| pex-linux-armv7l | ed9b006695021b50c118804d4f29f48e0b937093c48d60b0bf8a47d890b20c72 | 32922602 |
| pex-linux-riscv64 | 5ba650d4e336ac1a53b2331c918290a4d25095c944b14de9f93252358fd77bea | 33055690 |
| pex-linux-x86_64 | d2370a7cb033e20a11b69ba3f602fab5fa00c22b3ecc2b6f6dcb823762dd87b2 | 42507020 |
| pex-macos-aarch64 | 0cf699bbaa495341244034a0b64f4cb4372812a0001e1f8f0d0d3c7c4435d2e3 | 24421616 |
| pex-macos-x86_64 | 140f2a4885a8cffd075a59a5642970250fb515b16d0d2b8a335b6953fc26abe8 | 24585625 |
| pex-musl-linux-aarch64 | 0a9ffe2d73170a85f666cb4d45fb3e4c8c01f495dc6eb0ec500d0059bf874d29 | 35814049 |
| pex-musl-linux-x86_64 | 35fa886bd676023527bf27508c105fff7b2024ef130f0b966b32e2a00130a126 | 35919649 |
pex 2.80.0
2.80.0
This release adds the pex3 scie create tool for creating scies from existing PEX files. This
works for PEXes created by Pex 2.1.25 (released on January 21st, 2021) and newer.
- Add a
pex3 scie createcommand. (#3070)
| file | sha256 | size |
|---|---|---|
| pex | 75a4fdeabc8a0caf8f630e849a91014bb4de894804944ea5eb1eee6a8cfe25d8 | 4942767 |
| pex-linux-aarch64 | 739ea2cb188016dbc14dfd721b10467bab821679c3f1a7961cc843f276ec9ab2 | 36566234 |
| pex-linux-armv7l | d19e9fad74395e785e10f4c837dbc847db590de6194892d48972166d9ae6c807 | 32916985 |
| pex-linux-riscv64 | 873d057a09801061828ea488a9df710e924f8395fc457d5617f389365f753686 | 33050075 |
| pex-linux-x86_64 | 702a286806a5d0c6d83525d540cf9b4535cc5b633f3db8b10fb5aa39fe3d5225 | 42501412 |
| pex-macos-aarch64 | 091b9b0a51a51dced8a0a910bf2a84805425fb6c050a2449f902c5683f05c8ae | 24415994 |
| pex-macos-x86_64 | 8934444df949a6d51720c8be9031fc625605c28751167a1d1ede9c6c24e9aa4e | 24580011 |
| pex-musl-linux-aarch64 | dd457ad2294b258af0db028046f6d59a0ea2f9893f72221442a1d947d435b147 | 35808432 |
| pex-musl-linux-x86_64 | 379b6e33e030f0d05fffe56df36def4b95e741b03ed0b007c8b4b7246d317346 | 35914037 |
pex 2.79.0
2.79.0
This release adds the CPython[free-threaded] alias for CPython+t and the CPython[gil] alias
for CPython-t when writing interpreter constraints.
- Add
CPython[{free-threaded,gil}]aliases forCPython{+,-}t. (#3068)
| file | sha256 | size |
|---|---|---|
| pex | f7a50bfb31c2304f4b30ef6eabb623c86abae0b5841dc3d8a147afd1568ecd4e | 4940234 |
| pex-linux-aarch64 | 066a968158b7c67508cce1f123ab0899829b2f5031e0960607f0f5473b6070c0 | 36564456 |
| pex-linux-armv7l | d7270cb4caa68072869b534107dbbdc70007344516c2b2acb73044fa18722f9a | 32890495 |
| pex-linux-riscv64 | c5a0154fb4d56c4efa8c3354983da2b94e8d658fdabc1762dcaa792dafbbc0f7 | 33046077 |
| pex-linux-x86_64 | dcb6a7de55092ce4247aec821ea3b7e054ee3c19cd8e75e4abfe26bf81e78094 | 42557956 |
| pex-macos-aarch64 | 4f5649bc80893f98e4c8f96807778ba1fcb87e06f15bab39a84cbb808ccc60f2 | 24390182 |
| pex-macos-x86_64 | 52c092758aa6b6ef2dd7d85300c1ca32fb08d0fbf2e565a151a41928671fb217 | 24573581 |
| pex-musl-linux-aarch64 | 379edd7932de66d21428b36b0d4e7cbbe1713084b0a88ddc12978604dde27427 | 35792359 |
| pex-musl-linux-x86_64 | 77c02e0bd485b76c4c7ca7f2025415b77ecbea5ad6b7f4f5430036887155989f | 35668085 |
pex 2.78.0
2.78.0
This release adds support for the CPython+t implementation name in interpreter constraints to
allow constraining selected interpreters to CPython interpreters built with free-threading support.
The existing CPython implementation selects from either classic GIL enabled CPython interpreters
or CPython free-threaded interpreters as was the case previously. The CPython-t implementation
name can be used to require classic GIL-only CPython interpreters.
- Support
CPython+tin ICs to select free-threaded CPython. (#3067)
| file | sha256 | size |
|---|---|---|
| pex | ab9022eebc40960105bc67b74a6b5f82cd879e4baa7de30a70c04ac96fe2348a | 4939652 |
| pex-linux-aarch64 | 991abbc1d6d757d99c5781724f92a79868c47f875482e3e264116b9ff8d5cf96 | 36563866 |
| pex-linux-armv7l | fb493993da6099034a869a3bc33ce586111b1b84af37a7b050c61ae850c28702 | 32889914 |
| pex-linux-riscv64 | adfe8ba42fc191d32a92dba287b546e582d41f2fad691bee3a61574a00c20061 | 33045494 |
| pex-linux-x86_64 | 6ad66f6c50b190fb6244c74a9c1880aeed5ca3faf6fa11bb6ca348f2c6ef82d9 | 42557373 |
| pex-macos-aarch64 | 517baf3cffddadf23bc700edbd7d395468b092e47ae45415be4f9d0f653432cf | 24389595 |
| pex-macos-x86_64 | 0831c63a53318db158b4e09f6b590fd9ddbfade8abdbe4949984e04f9ec06133 | 24573001 |
| pex-musl-linux-aarch64 | a435cec291113b5d03cd8eb25c5016d89fa41b415119a606d5a467b032b32d67 | 35791777 |
| pex-musl-linux-x86_64 | cdb17463d9116d4e7d6254e8a6198734b9299df385ef80c7647ea2fadd04d11d | 35667498 |
pex 2.77.3
2.77.3
This release updates vendored Pip's vendored certifi's cacert.pem to that from certifi 2026.1.4.
- Update vendored Pip's CA cert bundle. (#3065)
| file | sha256 | size |
|---|---|---|
| pex | 24f13372b9d2806a2fa12ed5cbd698fbf463a25a61ba754ce33aa608231fccbe | 4938142 |
| pex-linux-aarch64 | 7df37ff9d7a59931dba87271f9731dad635983dd17cfb0589b40ad2bcecbed95 | 36562369 |
| pex-linux-armv7l | 9880e00cf3077bdb94b203007d727055372f8cfb7acd1eeb88c245f7282894ae | 32888413 |
| pex-linux-riscv64 | 14464cab8d41d597f74f1d2b46a2b54120fab58ca7b936520090b9721529bc91 | 33043987 |
| pex-linux-x86_64 | cbee640e2540569502fba47a8bd3de97bad30b9560e518e5561fff8fba88d829 | 42555866 |
| pex-macos-aarch64 | 910004d635779f497401c40a01f7400b31ff611e40923d84f33e60ece463b4e3 | 24388089 |
| pex-macos-x86_64 | cef000aef065589907bde26c7176f7b38c00ccba89584420fdab52c56128d1dc | 24571489 |
| pex-musl-linux-aarch64 | 482bba5bd105c8915413690ac649dabe27604ae34943cbf79e26f0e93ecdedaa | 35790272 |
| pex-musl-linux-x86_64 | d2ac8b32a5306d00338e5de2ce98ed43759cc9e70de075d5bbdc0640400cd7bc | 35665995 |
pex 2.77.2
2.77.2
This release fixes venv creation from PEXes to avoid declaring false collisions in __init__.py
files when the venv uses Python 3.9 or greater.
- Compare ASTs of colliding venv
__init__.py. (#3063)
| file | sha256 | size |
|---|---|---|
| pex | e45bc2336bda18cb0681f24b7299350d9b62b91168e43e5dca8a7547be989334 | 4944568 |
| pex-linux-aarch64 | d991fae010dc45ae77022f524e2dc9e0f150de9dd9475698a1df9f7bdd26d380 | 36568781 |
| pex-linux-armv7l | c03c5f0be53c49213288c4878198a918afdb6afe56f428b736a5ac49d0995ae8 | 32894827 |
| pex-linux-riscv64 | 7906b16d845be59d46856f0938dc4336b4383eb8f28e89f96725d0077b3b0cf1 | 33050408 |
| pex-linux-x86_64 | fae280e5ca071a34e52fa1f5a50d1a74855a837219ee5ee008b7fd4264123317 | 42562283 |
| pex-macos-aarch64 | 4ebc49dd5ba5623d6337a80dd539c9f9c6001f8979f30d40555514b291a79943 | 24394512 |
| pex-macos-x86_64 | 52d9e97530d45a7bd8462629f9e0d405a5f88b1bc0d175d1396983ef7ab5f68d | 24577915 |
| pex-musl-linux-aarch64 | 9cf1778c1f32637812ad28e378d3c2ddc844b401c22331106b5b00cdd38eb78b | 35796695 |
| pex-musl-linux-x86_64 | d3e6e3ebce12bdf05473777c6849b1e366ca3c4dd6512407aae62da2cd5746b8 | 35672408 |
pex 2.77.1
2.77.1
This release fixes a very old bug where the Pex PEX (or any other PEX created with
--no-strip-pex-env) would, in fact, strip PEX_PYTHON and PEX_PYTHON_PATH.
- Fix
PEX_PYTHON{,_PATH}stripping on Pex re-exec. (#3061)
| file | sha256 | size |
|---|---|---|
| pex | 7d80c62ba2119be318518298c0810c2b862a61fd7ce8ba29c811e5e72239569d | 4944053 |
| pex-linux-aarch64 | 3278a65bea6facd4aef57aed28c1e89efdbf3afe8ec94b17d2d40d6b02288b1f | 36568273 |
| pex-linux-armv7l | 44193ac4f7fd0146db8d0b54f3b0a4596a9422981de272e2bd37d4cf5afbd8e7 | 32894318 |
| pex-linux-riscv64 | ccd89cae91e03c1a45a7b93a07ef86bb90ed408f2a5d33401f7d36550dd7cbc1 | 33049897 |
| pex-linux-x86_64 | 6a97e2bf297216a5a56b389ef94c11a0557cdef6d4547163e2a2d379772b8a04 | 42561769 |
| pex-macos-aarch64 | 7f41c6352d9f49e1d66e1334a5df376b3b02ff094b0e5511b6ce6a292797ee78 | 24393996 |
| pex-macos-x86_64 | bc071cea241063ae22a1a3d3f4f61dc75db593e18fa41e2ff7394f8ead0dc3f9 | 24577404 |
| pex-musl-linux-aarch64 | 692a0995c1738a4f40c93c464e5d84361eb9528fb7a12dec371605884e2f3be6 | 35796174 |
| pex-musl-linux-x86_64 | 473a8acc96716d43f1119bb37d944cb09766b413f1c671d5d8fb7a049ba1fea9 | 35671900 |
pex 2.77.0
2.77.0
This release has no fixes or new features per-se, but just changes the set of distributions that
Pex releases to PyPI. Previously Pex released an sdist and a universal (py2.py3-none-any) .whl.
Pex now releases two wheels in addition to the sdist. The py3.py312-none-any.whl targets
Python>=3.12 and has un-needed vendored libraries elided making it both a smaller .whl and less
prone to false-positive security scan issues since unused vendored code is now omitted. The other
wheel carries the same contents as prior and supports creating PEXes for Python 2.7 and
Python>=3.5,<3.12.
- Split Pex
.whlinto two.whls. (#3057)
| file | sha256 | size |
|---|---|---|
| pex | 08f3dfcc9f07be2f789d1abb2248fa38e595c2d48093e1d1b29277ae67c1e7a6 | 4944069 |
| pex-linux-aarch64 | b584e418c5b870b8003bc71c29d3745f6290a0c4de18394d90571ca95e09de48 | 36568288 |
| pex-linux-armv7l | 540b81d8e90138b1571d312f81b9d767dd99145ae6ad7d25df8126dfdff238d0 | 32894327 |
| pex-linux-riscv64 | 2c8ce37c54f55b729102fa5c142e9133faf869be42290ada3280dacbbd8879a8 | 33049912 |
| pex-linux-x86_64 | 6026789883c644e97ede6d5bb3246cb4242d4d5174ec013b8b6e7df4e8856da5 | 42561781 |
| pex-macos-aarch64 | 82f6bc687f9d923e0fa9542a1b216bd615e0025df1a117c464a41a77f8374bc5 | 24394013 |
| pex-macos-x86_64 | a92338c29e1afe6294c57008d1c41f61bb093eb6ef4b9fc878900dcde4fcb1b6 | 24577414 |
| pex-musl-linux-aarch64 | 4e0ce93c06aaab15b59fcafbd0703ec66a747b68dcfef3f2fd6b3308aa58bc2a | 35796192 |
| pex-musl-linux-x86_64 | dac5ca9e298aacd274904fc5f4d83da466da5b168721e8224c77b21cfd47b6d7 | 35671911 |
pex 2.76.1
2.76.1
This release fixes bootstrapping of Pips specified via --pip-version to respect Pex Pip
configuration options (like custom indexes) under Python 3.12 and newer.
- Fix Pip bootstrap to respect Pip config for Python >= 3.12. (#3054)
| file | sha256 | size |
|---|---|---|
| pex | 57192b7cf4a870c8f2d6fd1fe8125fb02ca6a02c83328c6291debb54fc5cb3a2 | 4941852 |
| pex-linux-aarch64 | a92cba14fc006df6141fc396241948e36d090f71af55f19ae520ad22506fa86c | 36566066 |
| pex-linux-armv7l | 4414ecfd825c23ecfa839c73294642153712bc82d4a2f1214c430472c7bcde0f | 32892114 |
| pex-linux-riscv64 | ad3ea5a7cb9c1d61560ee242cddfc5008b14a85b2db77f850057e46ee69c00b3 | 33047688 |
| pex-linux-x86_64 | c76c476a6dcd2ea8b8498c5fe3b7ac8e456e84b3e3fed57422cb4713d045c516 | 42559568 |
| pex-macos-aarch64 | cdf4865ccb04619fc176a87413fad4ef32443837c177e612e46de3f6f9f11d23 | 24391798 |
| pex-macos-x86_64 | ff9135bdc92255b16e390e1453cefadbb9d27ea9b1781802277a1b6c83f76261 | 24575194 |
| pex-musl-linux-aarch64 | d2d7c27c126d027a98796c50457dc97c2a090a2892974233a6e7316d1212a9ce | 35793977 |
| pex-musl-linux-x86_64 | 1ede3fad35917c581cf5046a3be9a44f0336cbbffbade21b0937164870eb554f | 35669698 |
pex 2.76.0
2.76.0
This release adds support for --no-scie-pex-entrypoint-env-passthrough to trigger direct execution
of --venv PEX scie script entrypoints. This performance optimization mirrors the existing default
--no-scie-busybox-pex-entrypoint-env-passthrough for busybox scies, but must be selected by
passing --no-scie-pex-entrypoint-env-passthrough explicitly. In addition, the VIRTUAL_ENV env
var is now guaranteed to be set for all --venv PEX scies.
- Add scie support for direct exec of venv scripts. (#3053)
| file | sha256 | size |
|---|---|---|
| pex | d9544b1fb325b63167b20fc50b38857d653a14d6f5e0f0d6b9467919504ed68e | 4941341 |
| pex-linux-aarch64 | 45d9510d133fd65dff98c901a41ac277faa7cbfcac763911deb449ecd9c22db3 | 36565562 |
| pex-linux-armv7l | 9ebc3c1a19e6e246bd25d7e203ff698482374627690841ed13469a9c03aab9f0 | 32891604 |
| pex-linux-riscv64 | fc785eae031c2b099b81aa0ddd2badf548665fe79eccad40f004e0176a3040f7 | 33047180 |
| pex-linux-x86_64 | d1783d69c843c16fb12213bcbc5ff4e278e5152b0b0d0067d6950bbdd61e3c31 | 42559057 |
| pex-macos-aarch64 | 7cb397fe90b5bc3341f47d072c6536375a37f043edb800350e2ed14ec69ccda2 | 24391283 |
| pex-macos-x86_64 | 3362b3e3e08289ae057ed3b4d3df499282e51a58b611bd8dc9b949c70d522701 | 24574688 |
| pex-musl-linux-aarch64 | 324087aa36fef1cd424dcaa280f82891314fff56c6d56f0ab4b99cf134820640 | 35793466 |
| pex-musl-linux-x86_64 | 8ada916536732e578e1385f7db25b34d5b5022b2b966be1703a33beba2de9a81 | 35669189 |