Releases: pex-tool/pex
pex 2.85.3
2.85.3
This release upgrades vendored packaging for Python>=3.8 to the latest release; bringing some bug
fixes and performance improvements.
- Upgrade vendored
packagingto 26.0 for Python>=3.8. (#3083)
| file | sha256 | size |
|---|---|---|
| pex | 257714ed97a38e76ba10423be4f2c2ff2a5a30207d339cfd49f5ba45284e16aa | 4976252 |
| pex-linux-aarch64 | 1d03a7d71f4ddb77c59608e9f51ea2f251fd831cd9b81703ad4e3e50829cb0be | 36602518 |
| pex-linux-armv7l | faefcdb06a953a90a1b682414a985ed417771372f030bb9cb283a66a1c2696a3 | 32953265 |
| pex-linux-riscv64 | b20184ab4ad17c829fe54f507fcdff3910f0bd15386533a2e90e456ca4ad9583 | 33086355 |
| pex-linux-x86_64 | 20d8473a1e32a35b5d6a934a43f908011b1732d0cb44327ec776ded544490531 | 42537689 |
| pex-macos-aarch64 | 76b033f5bf1799f120d312ef8c6a9ddc08ebc3958453c71c803353638d731767 | 24452276 |
| pex-macos-x86_64 | b2b2eaf1416d50ab61443acd0e956b7f0562ccfaa3bf21f53071bea4ddc8c656 | 24616291 |
| pex-musl-linux-aarch64 | be7e1c6ed29232d2f647bb5658a65bb1fbd752fb4837706d9bdf53ddca9338c1 | 35844710 |
| pex-musl-linux-x86_64 | 6a36a02edfa825f2c192f8f554f26594996f18b4b1cefe6ea199e5f3b7775fc9 | 35950309 |
pex 2.85.2
2.85.2
This release makes running a PEX using venv-execution and sh-bootstrapping (that is, build with
--sh-boot --venv) more likely to behave identically with a cold or warm PEX_ROOT cache. This
includes running with PEX_PYTHON=..., PEX_PYTHON_PATH=..., PEX_PATH=..., PEX_VENV=... and
PEX_IGNORE_RCFILES=....
- Avoid fast-path in
--sh-bootscript for more variables. (#2729)
| file | sha256 | size |
|---|---|---|
| pex | 655792124190a68849e7165f93712406982475ee6ab3cd9bc91f5d0d3e93132f | 4960390 |
| pex-linux-aarch64 | b4a91a917e64a0de1f2610136fc86bf77e165ca95158e1e514670beb3d70142d | 36586658 |
| pex-linux-armv7l | a15f48789c86748ac3b41886149b604055206927b475b151822c9ef3650642fb | 32937399 |
| pex-linux-riscv64 | 754d4a36ea38444d9c9ce95bbe13c7339276f6b376d9f367babe1f9e52c63fe1 | 33070490 |
| pex-linux-x86_64 | a5635b854eeb32eec140fd3d2ce8a0fffaa3bb1c60b02793d05a8df293c3aa26 | 42521826 |
| pex-macos-aarch64 | ff54714a5c1aaa3d9745a66572dcaae1eb5d9ff1ab91c09f43a9e54c5345440c | 24436407 |
| pex-macos-x86_64 | 4a23a41738dbe428643ddb397209d8f307ca80709bd32a638e4c3b4900b9c73e | 24600426 |
| pex-musl-linux-aarch64 | 0cbe84c6a6fb0cefa926daab7ad57095cf61626ab25e8d52d1c9478e1b836c17 | 35828843 |
| pex-musl-linux-x86_64 | b7e2df344dbf32e01ca44c1c8db0234fa2f99051d11f8662d3bea695d5637732 | 35934444 |
pex 2.85.1
2.85.1
This release upgrades the floor of science to 0.17.2 to pick up better handling for CPython 3.9
which was dropped in new PBS releases at the end of 2025.
- Upgrade science to 0.17.2 (#3081)
| file | sha256 | size |
|---|---|---|
| pex | 8e0bbc85e382548998d97c4e487986a7ecd9271d3f204307e03bb02fa80a1ddf | 4958735 |
| pex-linux-aarch64 | a92ea6f1ceca17fabde49f79616b3696f65cd06954c6661f7af32b91c09077f0 | 36584993 |
| pex-linux-armv7l | c5e230a1e1577f0b3660980839db589f3673bd866c275324fce52f0d0f247484 | 32935748 |
| pex-linux-riscv64 | 72564127e1e34cb9b565f73443f1bfef7a6883bd64a348b471b60951eafdc3e3 | 33068828 |
| pex-linux-x86_64 | 752acd3689888a5806d7d49900a81be3240f9b9b7600696daa2d7cf58e57fcd1 | 42520169 |
| pex-macos-aarch64 | 092d0df1916bfba5fdbfd7b9d2e38a981790c7c90a4757158f8c6b0243cae65d | 24434757 |
| pex-macos-x86_64 | cfcba727ef7a5cc5cd62d2cd89c01a974aade5c4db382a76e6a08ccb764888e5 | 24598774 |
| pex-musl-linux-aarch64 | 4ffcf7027f92a7b626944b081bc2ed518f23898b097da1078d2a29627c91af1d | 35827189 |
| pex-musl-linux-x86_64 | f942033af18af7e17c93e67385210eeaad5e3552b1baa7149db7cf917077e32e | 35932794 |
pex 2.85.0
2.85.0
This release introduces a new --interpreter-selection-strategy option for use when building PEXes
that use --interpreter-constraints. When multiple interpreters satisfy the specified
--interpreter-constraints, the --interpreter-selection-strategy allows you to direct Pex to
select the oldest (the default and the existing behavior) or the newest. In either case, the
highest available patch version will be selected from amongst multiple interpeters with the same
major and minor versions.
- Support an
--interpreter-selection-strategyoption. (#3080)
| file | sha256 | size |
|---|---|---|
| pex | 2151c2296cccb568ac10bd8a504b9e5c7748a19e56d52036d61df4e529afe92e | 4958734 |
| pex-linux-aarch64 | 0333dd378f450f64d7045d91e10298118dcc1920c5d511f865be4edc223df4dd | 36585002 |
| pex-linux-armv7l | 960979461bac0bac3a9110357a3f828181a36588e383699a471fe33c0c2449e4 | 32935746 |
| pex-linux-riscv64 | 46584fbee3a69a3b0c5b6714058b21115fe5a0a04d5141902439d4ed4a032648 | 33068830 |
| pex-linux-x86_64 | 7a7c7195f0603ea0c8dc7d080068995619386073a572b7c5307ffac1de591e77 | 42520174 |
| pex-macos-aarch64 | cc74ac36211d0765a3414f246c1f6bd04c6e45ac946ec57136a55f9114aab348 | 24434753 |
| pex-macos-x86_64 | a6cf285070fc2ad19e41e4b32f8b19bd541a5768d4e79d5b638e9b3f3aaeff7f | 24598777 |
| pex-musl-linux-aarch64 | 1fa62e7c9a974a467015ef3772a10115e294599682e55bc8f2741f095f1c490b | 35827189 |
| pex-musl-linux-x86_64 | 0447ad99e316e6e1d137d49a99fd105222fd4fee2597dd6719a0758c4eeba8f1 | 35932791 |
pex 2.84.0
2.84.0
This release causes pex ... to emit the output path of the generated PEX (and / or scies) on
STDOUT. If --seed verbose is set, then the output path of the PEX is included in the new
"seeded_from" field.
- Emit PEX output path to stdout. (#3079)
| file | sha256 | size |
|---|---|---|
| pex | 17b03a152ab9c3c345b910b1770336066454ef5baab5e1f386dfe0244b849426 | 4956352 |
| pex-linux-aarch64 | 16168c6af4326fa069bd1fbb85b7e4faf1015ffa8ea45952024d23619db84299 | 36582614 |
| pex-linux-armv7l | 697f01452f70a7d0afb28f68167770448932d9202cc755841b183117443536e6 | 32933370 |
| pex-linux-riscv64 | b342a968824d21e86871e03b24d72f2184d06a45491ebf911532638281e0d5ef | 33066456 |
| pex-linux-x86_64 | 8fa3e422977a64afca0ef536bf78ffe2abbdc8caeda4a675eb35e356a65f1ac0 | 42517788 |
| pex-macos-aarch64 | 87ad630a0195ca2168bfbe3c9c0a8898e7dbd2233552d287eca0681c231cea55 | 24432376 |
| pex-macos-x86_64 | 4b1b97d3354e072653dc83f1db0e21792dbb63b92abde11199ee20d85055297e | 24596387 |
| pex-musl-linux-aarch64 | 7b9b0fd7746c9948c83a482ddd5ef3d7979ca748b51621ce1b9c793bac1a55c5 | 35824809 |
| pex-musl-linux-x86_64 | 441b8551939a2bc2b64b03c6dbacc43d000bd76e3cd97dbb758afeeb2bc04a61 | 35930410 |
pex 2.83.0
2.83.0
This release adds support for templating {platform} in PEX file names. When this substitution
token is found, it is replaced with the most specific platform tag(s) of wheels in the PEX. For
example:
:; python -mpex ansicolors -o "ansicolors-{platform}.pex"
:; ./ansicolors-py2.py3-none-any.pex
Pex 2.83.0 hermetic environment with 1 requirement and 1 activated distribution.
Python 3.14.2 (main, Dec 5 2025, 14:39:48) [GCC 15.2.0] on linux
Type "help", "pex", "copyright", "credits" or "license" for more information.
>>> pex()
Running from PEX file: ./ansicolors-py2.py3-none-any.pex
Requirements:
ansicolors
Activated Distributions:
ansicolors-1.1.8-py2.py3-none-any.whl
>>>
:; python -mpex \
--complete-platform package/complete-platforms/linux-x86_64.json \
--complete-platform package/complete-platforms/macos-aarch64.json ansible \
-o "ansible-{platform}.pex"
:; ./ansible-cp314-cp314-macosx_11_0_arm64.manylinux2014_x86_64.pex
Pex 2.83.0 hermetic environment with 1 requirement and 10 activated distributions.
Python 3.14.2 (main, Dec 5 2025, 14:39:48) [GCC 15.2.0] on linux
Type "help", "pex", "copyright", "credits" or "license" for more information.
>>> pex()
Running from PEX file: ./ansible-cp314-cp314-macosx_11_0_arm64.manylinux2014_x86_64.pex
Requirements:
ansible
Activated Distributions:
ansible-13.2.0-py3-none-any.whl
ansible_core-2.20.1-py3-none-any.whl
jinja2-3.1.6-py3-none-any.whl
markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
cryptography-46.0.3-cp311-abi3-manylinux_2_34_x86_64.whl
cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pycparser-2.23-py3-none-any.whl
packaging-25.0-py3-none-any.whl
resolvelib-1.2.1-py3-none-any.whl
>>>- Support a
{platform}placeholder in PEX file names. (#3078)
| file | sha256 | size |
|---|---|---|
| pex | 7e80fcb9cd0dc9f6c2e81020fa781ad37cd2de98c3076d075529a3838a2173a0 | 4956321 |
| pex-linux-aarch64 | ab2fc02282eeb4acdae739b2d3eabcf93990cfee5f975a1366c66786cf32c6b0 | 36582586 |
| pex-linux-armv7l | c3a23aa35d8842d495013b72d1c6a3f7259fdf11bad2fc3b890974ec0bb24ee4 | 32933331 |
| pex-linux-riscv64 | 0894629934e170137cda015f2dce005fdb54a5f15182d9121d40cede0784470a | 33066417 |
| pex-linux-x86_64 | 375d32d391a3ef8db574a8c9a9112a0c8fd6d7237dd500f14422e25768b72f79 | 42517756 |
| pex-macos-aarch64 | dc3eee70c6a9ab9396e95963bb488096fa8ec945759150fb4454e24f9a3493f8 | 24432341 |
| pex-macos-x86_64 | a583965c4299c38e1d2c80cf458fbf686feca611680a3e0b1fcd472c3d9dc809 | 24596350 |
| pex-musl-linux-aarch64 | 84755221154612913e96190d9522c4cc2d1a93460db38906cf280607e2723e40 | 35824777 |
| pex-musl-linux-x86_64 | 583eceac64f056b6f08a8eb6f6e6244c3763a8ecb0f3d57657105d3c8cf39612 | 35930378 |
pex 2.82.1
2.82.1
This release fixes pex3 scie create --dest-dir to work when the specified PEX is a local file
path. Previously --dest-dir only worked when the specified PEX was an URL.
- Fix
pex3 scie create --dest-dirhandling. (#3076)
| file | sha256 | size |
|---|---|---|
| pex | 8837335d3a0967e983416b25d8686501860393e3f7aa9c36f9389c02d4abc165 | 4955662 |
| pex-linux-aarch64 | 48bbbccb931cbe5c3b72c1cf50e2e17019fbf7ddeb27cbea096971fcf90065da | 36581919 |
| pex-linux-armv7l | 85eb3136c35ec1280c8b7801204ac0095b08c3ae9d29195312a9af33eca5402a | 32932674 |
| pex-linux-riscv64 | 764d98a97f5d4ab9da29846ccece3086977fa5b1c08866f92ba1a9551e63e532 | 33065759 |
| pex-linux-x86_64 | 27a054c778b7ed48627d6741b48a34dcd23af0e857a6ba7439af59bcce0aca64 | 42517100 |
| pex-macos-aarch64 | e97150aefc6340fde4a88b009b581d1b4834730e0a087e2f2d844838b83de97d | 24431684 |
| pex-macos-x86_64 | f9d8b5efb90185bf3b13e3e43064ff10ab76f7939bdc4d03b0e4d9ff1fb52201 | 24595697 |
| pex-musl-linux-aarch64 | 6a6603ecaa6fda7b431eee013ce9d0e42cee1e67a6f6c956d74fda4c09186975 | 35824116 |
| pex-musl-linux-x86_64 | a5e3d38c5b32e08842346d6a80ded8682c2208f61ba35b74b16016c87dee73b5 | 35929716 |
pex 2.82.0
2.82.0
This release adds support for resource path bindings to plain PEXes as a follow-on to adding
resource binding support for PEX scies in the 2.81.0 release. Resource paths are bound to
environment variables with --bind-resource-path. Additionally, the existing --inject-args option
now supports replacement of {pex.env.<env var name>} placeholders with the corresponding
environment variable value. Notably, the combination of these features allows passing the paths of
files contained in a PEX to third party scripts without extra shim code.
- Support passing PEX file paths to 3rd party scripts. (#3074)
| file | sha256 | size |
|---|---|---|
| pex | 6b48461f7ba94ff1702aab287cf8cff0b7baec7b16a4a7b0b86212083b3c8ff9 | 4955508 |
| pex-linux-aarch64 | 9f2d6d02ab34a45f3108d1ccd77dfd87ecb7d9322fdaeacdf20659c05bdd3341 | 36581770 |
| pex-linux-armv7l | 731854cbd24a9121c3566ca5c962180b1c4d239e56aebd3b9fb8da568cddd09e | 32932520 |
| pex-linux-riscv64 | 3c478afbd7f268c09f43eeaa471e99d58343484bf3f857f296ce0244a4097929 | 33065603 |
| pex-linux-x86_64 | d245a6206a29f0bfb3e9973fe082cc56cfd4e2dd7c1d872921b89cfdbb2b7e8e | 42516943 |
| pex-macos-aarch64 | 0683a406550999849adcb38187b98f5d5ae69b915be3a2f8d285e5a90e8f8b77 | 24431529 |
| pex-macos-x86_64 | 1317be8e4a0b0154599b71a13909535a7c8e89ba4a940931937330713d071be5 | 24595541 |
| pex-musl-linux-aarch64 | f2ce3e56fa7add109abcc6f3ec93cfa72c5a08a2bf59efbea3ba8d226f1dc8f9 | 35823958 |
| pex-musl-linux-x86_64 | 351b49ea5f9e6fd7dd42bfb0254f5549c5a7f084877fd35dba6395315d7f1675 | 35929563 |
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 |