Releases: pex-tool/pex
pex 2.24.1
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
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
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
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
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
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
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
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
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
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 |