Skip to content

Releases: pex-tool/pex

pex 2.85.3

22 Jan 06:22
v2.85.3
30d854b

Choose a tag to compare


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 packaging to 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

21 Jan 21:09
v2.85.2
8876fcc

Choose a tag to compare


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-boot script 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

21 Jan 04:01
v2.85.1
c449c7c

Choose a tag to compare


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

21 Jan 01:08
v2.85.0
9f633a1

Choose a tag to compare


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-strategy option. (#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

20 Jan 02:26
v2.84.0
049ff2e

Choose a tag to compare


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

19 Jan 01:10
v2.83.0
6e52b10

Choose a tag to compare


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

16 Jan 00:31
v2.82.1
6d64128

Choose a tag to compare


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-dir handling. (#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

15 Jan 16:51
v2.82.0
7cc86fd

Choose a tag to compare


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

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