Skip to content

Releases: pex-tool/pex

pex 2.24.1

05 Nov 00:36
v2.24.1
991883c
Compare
Choose a tag to compare

2.24.1

This release fixes pex3 cache prune handling of cached Pips.
Previously, performing a pex3 cache prune would bump the last access
time of all un-pruned cached Pips artificially. If you ran
pex3 cache prune in a daily or weekly cron job, this would mean Pips
would never be pruned.

  • Fix pex3 cache prune handling of cached Pips. (#2589)

file sha256 size
pex 76cd4ff405618ca936b9e675a00191a29c26a93ef129754ab6824f666e6ac008 4361907
pex-linux-aarch64 82d1f939a0a07525d377ee9ff7016fd7cead6407e11f3e8ddc949fd82a3223c1 24107189
pex-linux-x86_64 633f6129c4bfbeab5e217c66acc1f3c4974af73a0a87f7682cb1e4516ae2bb08 27753382
pex-macos-aarch64 9043cddec0ebdcff427ed0f578138c4ee015c402796a63a53291719ad76300b8 21614031
pex-macos-x86_64 854092acb2c3b8da4aa5e58aaf5c6b8b60386f2a1af92a50e39016c31daa2c43 22125040

pex 2.24.0

04 Nov 02:59
v2.24.0
06b8850
Compare
Choose a tag to compare

2.24.0

This release adds pex3 cache prune as a likely more useful Pex cache
management command than the existing pex3 cache purge. By default
pex3 cache prune prunes any cached items not used for the last 2
weeks and is likely suitable for use as a daily cron job to keep Pex
cache sizes down. The default age of 2 weeks can be overridden by
specifying --older-than "1 week" or --last-access-before 14/3/2024,
etc. See pex3 cache prune --help for more details.

  • Support pex3 cache prune --older-than .... (#2586)

file sha256 size
pex 4503977a1974d8ad4de66908d7be7629fcc4ce87ac7ab01b9e54aee3b05f17b2 4361850
pex-linux-aarch64 a60523b731c1ce383656d86bc93b47db7a6e822359f8e72d87541ebd6236115e 24107138
pex-linux-x86_64 fbca4b7117e6dc472b139e1d2d974803a5461ad5b60d434de2151cb29b72d8d0 27753330
pex-macos-aarch64 6803f4b3eed6605234ebfff1aec04cb720b8b5768425c50b2b80870ef59b4280 21613981
pex-macos-x86_64 b190b19aa8776dfd2c0b129bee0a2f8bd57bce3871fb5865b01e384fdbbfd0ff 22124984

pex 2.23.0

29 Oct 08:18
v2.23.0
c81de55
Compare
Choose a tag to compare

2.23.0

This release adds support for drawing requirements from
PEP-735 dependency groups when creating PEXes or lock files.
Groups are requested via --group <name>@<project dir> or just
--group <name> if the project directory is the current working
directory.

  • Add support for PEP-735 dependency groups. (#2584)

file sha256 size
pex 30df3d118aeb24a5a60e6d084733462a0f049c3085cc80ae21d3dbfc446a11e4 4345631
pex-linux-aarch64 9e662166967be874e4e75ffa940387416d03764dc558b2cc3ef891874241d4dd 24090906
pex-linux-x86_64 faad2d7199ce259a771f25e35c056aef8f2e8c0c401c0dbfdc53a939011caca1 27737106
pex-macos-aarch64 310c30cd4b6c692aba2c33f0648d66c49b18b774ce4a77a45d6ee7e9da935ed5 21597761
pex-macos-x86_64 6397f35d525493f2fc80d1c8ec02d77ec744236a81346f072f765863123ef0e4 22108763

pex 2.22.0

28 Oct 21:27
v2.22.0
0e665f1
Compare
Choose a tag to compare

2.22.0

This release adds support for --pip-version 24.3.1.

  • Add support for --pip-version 24.3.1. (#2582)

file sha256 size
pex 4db2ae01c0a8714e5f15bfbda9429c68e2b842dff8432521751b5b8b2ee6a539 4319123
pex-linux-aarch64 b65f723845c969090ac776618dfcf1703b7fc1030c5cc7c9c572cccaaa2ab613 24064382
pex-linux-x86_64 b65b2305de9d30ca71bb516d563dcc50e94024b7e6d9f46f1cf3074466817208 27710593
pex-macos-aarch64 ce72fd1edeeeea75bbaf1b5fecef8498c134446b9cee5529b213c3dc90726e34 21571241
pex-macos-x86_64 8131673c47ed67e8ec363d41a3886bde3bd3b0e541a3633fb5dff192daf3b2fa 22082240

pex 2.21.0

27 Oct 18:43
v2.21.0
f052ecb
Compare
Choose a tag to compare

2.21.0

This release adds support for --pip-version 24.3.

  • Add support for --pip-version 24.3. (#2580)

file sha256 size
pex c06dd0da495639f429c007d9cf973197c9af034011e64a7e30de33634043b83d 4319117
pex-linux-aarch64 10fc338b9c1b06116579c281e1e34ff7f2b97a242252915cb7411868b6a80cfa 24064375
pex-linux-x86_64 fa1ab10963b727f88b06ed7b79e245bf6a5c8bc7dd3c922ae1a679ae91f9b78c 27710575
pex-macos-aarch64 c3c21abf63bf57a86e5cb70a5b73beab003b38935f948054fc41b4550fe189ec 21571231
pex-macos-x86_64 dcc348a2f0a2a7a3a2f7a752de30e6d35299f9c50e57685629e82285d011b381 22082231

pex 2.20.4

25 Oct 04:42
v2.20.4
a84476a
Compare
Choose a tag to compare

2.20.4

This release carries several bug fixes and a performance improvement for
lock deletes.

Although there were no direct reports in the wild, @iritkatriel noticed
by inspection the Pex safe_mkdir utility function would mask any
OSError besides EEXIST. This is now fixed.

It was observed by @b-x that when PEX_ROOT was contained in a
symlinked path, PEXes would fail to execute. The most likely case
leading to this would be a symlinked HOME dir. This is now fixed.

This release also fixes a bug where --pip-log <path>, used multiple
times in a row against the same file could lead to pex3 lock errors.
Now the specified path is always truncated before use and a note has
been added to the option --help that using the same --pip-log path
in concurrent Pex runs is not supported.

In addition, pex3 lock {update,sync} is now optimized for the cases
where all the required updates are deletes. In this case neither Pip nor
the network are consulted leading to speed improvements proportional to
the size of the resolve.

  • Fix safe_mkdir swallowing non-EEXIST errors. (#2575)
  • Fix PEX_ROOT handling for symlinked paths. (#2574)
  • Fix --pip-log re-use. (#2570)
  • Optimize pure delete lock updates. (#2568)

file sha256 size
pex bddbed460d6b504c3ce2fc3cee124a91e0a9ef157d83c074ef9375a530068785 4317976
pex-linux-aarch64 4dfd16cb9d7d830f88d1aeab33881f16a94c3ba83cb2a7528dfff1d171b45608 24063227
pex-linux-x86_64 d10e04d17eae42a66470717abec1c4eb47f0562d5bc3b08425d31e1cc5ebbbe9 27709425
pex-macos-aarch64 eae3e0c8b3f0288e0111cebe8877d06430758595e7f20d6e1ed5b677456eaab4 21570083
pex-macos-x86_64 1285a1bef5cefbfbfb0a8cb038ad1eba3a25b94536530dd5b4d463e2d4e5914b 22081080

pex 2.20.3

09 Oct 23:40
v2.20.3
cf04a5a
Compare
Choose a tag to compare

2.20.3

This release fixes both PEX building and lock creation via
pex3 lock {create,sync} to be reproducible in more cases. Previously,
if a requirement only available in source form (an sdist, a local
project or a VCS requirement) had a build that was not reproducible due
to either file timestamps (where the SOURCE_DATE_EPOCH standard was
respected) or random iteration order (e.g.: the setup.py used sets in
certain in-opportune ways), Pex's outputs would mirror the problematic
requirement's non-reproducibility. Now Pex plumbs a fixed
SOURCE_DATE_EPOCH and PYTHONHASHSEED to all places sources are
built.

  • Plumb reproducible build env vars more thoroughly. (#2554)

file sha256 size
pex 0100c2e0b9e5dd56b063c98176cdd11b6064c2439d0faefdd3d25453393ed9fb 4315782
pex-linux-aarch64 a8a8199ed4ef71b439c622f39f77aa2bbb9e3f64b04abd8f9ecc0dccca0c6d48 24061034
pex-linux-x86_64 e19ad6b265327201a1c1bfdae62b9e8a9af2b26e810cf6921a0db44a9e224b5a 27707238
pex-macos-aarch64 e0eda2ed5c29d819e0b4b47ed3713b3d95ab296377a14c803430a6e96acd87fa 21567888
pex-macos-x86_64 e5d8103f07a29db384becc976d9062dc105a9386cfd6d3e1bd9cb75ad6a77e1b 22078896

pex 2.20.2

01 Oct 02:07
v2.20.2
f28046b
Compare
Choose a tag to compare

2.20.2

This release fixes an old bug handling certain sdist zips under
Python 2.7 as well missing support for Python 3.13's PYTHON_COLORS
env var.

  • Fix Zip extraction UTF-8 handling for Python 2.7. (#2546)
  • Add repl support for PYTHON_COLORS. (#2545)

file sha256 size
pex 6f761f0efe161938f902ddf1da9fd9a5529514cf2155ebec943c3698336e5fd7 4314770
pex-linux-aarch64 f6cb396d4937f971b88f868aaaf700a8aaf913f2db796c7ca745775231d3c17f 24055701
pex-linux-x86_64 1cb2ede381c2b4a3204044b15b27e175d7114d4cdc08de980243c89b793d22cf 27671950
pex-macos-aarch64 0a6b07b3b523e151f2613e5387863faa47ddddbaea60ad6ac250b8e29bd128a2 21526938
pex-macos-x86_64 e343cd10a0f82323bd2dceaebe8637acb38cc1c9e8c2cad74213476f4bd68906 22041156

pex 2.20.1

19 Sep 22:50
v2.20.1
da262e7
Compare
Choose a tag to compare

2.20.1

This release fixes Pex --interpreter-constraint handling such that
any supplied interpreter constraints which are in principle
unsatisfiable either raise an error or else cause a warning to be issued
when other viable interpreter constraints have also been specified. For
example, --interpreter-constraint ==3.11.*,==3.12.* now errors and
--interpreter-constraint '>=3.8,<3.8' --interpreter-constraint ==3.9.*
now warns, culling >3.8,<3.8 and continuing using only ==3.9.*.

  • Pre-emptively cull unsatisfiable interpreter constraints. (#2542)

file sha256 size
pex 0dfc0295677698ad1c74c77e5f5b2ff19a0cba1ddd629b228aaf5d2bd290bc20 4313097
pex-linux-aarch64 006172bad4e6598a4be846ebe883f2475db93c0558b38d23614d6d3d942a07c3 24054033
pex-linux-x86_64 3e7be4684d67e38278aa5beb34dfe8e34b6a4519fda9dc53d1214a829591c146 27670289
pex-macos-aarch64 88814a45df55529fe7c74b5c2dc3c61740ea3c97f310021d286902441d4b3963 21525279
pex-macos-x86_64 a78012827ab3ac5ccaa4f9eddd75d388079a8bffc3722a6392c94b8052e1ead9 22039492

pex 2.20.0

19 Sep 04:10
v2.20.0
ea0dfba
Compare
Choose a tag to compare

2.20.0

This release adds the --pip-log alias for the existing
--preserve-pip-download-log option as well as the ability to specify
the log file path. So, to debug a resolve, you can now specify
--pip-log log.txt and Pex will deposit the Pip resolve log to
log.txt in the current directory for easy tailing or post-resolve
inspection. In addition, the log file itself is more useful in some
cases. When you specify any abbreviated --platform targets, those
targets calculated wheel compatibility tags are included in the Pip
log. Also, when multiple targets are specified, their log outputs are
now merged at the end of the resolve in a serialized fashion with
prefixes on each log line indicating which target the log line
corresponds to.

In addition, a race in Pex's PEP-517 implementation that could (rarely)
lead to spurious metadata generation errors or sdist creation errors is
fixed.

  • Fix intermittent PEP-517 failures. (#2540)
  • Plumb --pip-version to Platform tag calculation. (#2538)
  • Add the ability to specify the --pip-log path. (#2536)

file sha256 size
pex b9637600b512e19bb8ded10cecd7afbf4126d4a1dc8b93aa63e29a9b9d0acf79 4311728
pex-linux-aarch64 af3c3049d9f8bb94f4d3e67eb4f2c6a4d16aede34569f9367adf99c495649a6a 24052664
pex-linux-x86_64 5186406f5e93ef00139a989235d7467df5ced4e4edf389cd7903b04eea50ec0d 27668910
pex-macos-aarch64 81ed55d4fe7d8ca9ff0ba55f9443e650df283afa7b4b87be2337caecdaa1951a 21523908
pex-macos-x86_64 12a3745d7f80ba679d2763af90b722810cd372cb545bfdc364454b2c241a0798 22038122