Skip to content

Releases: pex-tool/pex

pex 2.81.0

15 Jan 02:04
v2.81.0
fc8ac36

Choose a tag to compare


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

14 Jan 01:16
v2.80.0
9dd2b58

Choose a tag to compare


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 create command. (#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

12 Jan 18:58
v2.79.0
f02dac9

Choose a tag to compare


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 for CPython{+,-}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

12 Jan 04:28
v2.78.0
6070b4c

Choose a tag to compare


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+t in 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

09 Jan 14:32
v2.77.3
5f8d8e3

Choose a tag to compare


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

08 Jan 23:35
v2.77.2
b973a49

Choose a tag to compare


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

04 Jan 02:43
v2.77.1
c568fdf

Choose a tag to compare


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

02 Jan 01:40
v2.77.0
fe45ee9

Choose a tag to compare


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 .whl into 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

27 Dec 17:34
v2.76.1
ca9cc7c

Choose a tag to compare


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

25 Dec 20:02
v2.76.0
b665aba

Choose a tag to compare


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