Pex

Latest version: v2.24.1

Safety actively analyzes 682404 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 7 of 54

2.6.2

> [!NOTE]
> Although 2.6.2 successfully released to [PyPI](
> https://pypi.org/project/pex/2.6.2/), it failed to release to GitHub
> Releases (neither the Pex PEX nor the pex.pdf were published.) You
> can use Pex 2.6.3 instead which has no Pex code changes over this
> release.

There are no changes to Pex code or released artifacts over 2.6.1, just
a fix to the GitHub Releases release process which 2442 broke.

* Fix GitHub Releases deployment. (2444)

2.6.1

> [!NOTE]
> Although 2.6.1 successfully released to [PyPI](
> https://pypi.org/project/pex/2.6.1/), it failed to release to GitHub
> Releases (neither the Pex PEX nor the pex.pdf were published.) You
> can use Pex 2.6.3 instead which has no Pex code changes over this
> release.

This release improves error messages when attempting to read invalid
metadata from distributions such that the problematic distribution is
always identified.

* Improve errors for invalid distribution metadata. (2443)

2.6.0

This release adds support for [PEP-723](
https://peps.python.org/pep-0723) script metadata in `--exe`s. For such
a script with metadata describing its dependencies or Python version
requirements, running the script is as simple as
`pex --exe <script> -- <script args>` and building a PEX encapsulating
it as simple as `pex --exe <script> --output <PEX file>`.

* Add support for PEP-723 script metadata to `--exe`. (2436)

2.5.0

This release brings support for Python 3.13 and `--pip-version 24.1`,
which is the first Pip version to support it.

* Support `--pip-version 24.1` and Python 3.13. (2435)

2.4.1

This release fixes `pex --only-binary X --lock ...` to work with lock
files also created with `--only-binary X`. The known case here is a
`--style universal` lock created with `--only-binary X` to achieve a
partially wheel-only universal lock.

* Fix `pex --only-binary X --lock ...`. (2433)

2.4.0

This release brings new support for preserving arguments passed to the
Python interpreter (like `-u` or `-W ignore`) either via running a PEX
via Python from the command line like `python -u my.pex` or via a
shebang with embedded Python arguments like `!/usr/bin/python -u`.

In addition, PEXes can now be built with `--inject-python-args` similar
to the existing `--inject-args` but sealing in arguments to pass to
Python instead. When both explicitly passed Python interpreter arguments
and injected Python interpreter arguments are specified, the injected
arguments appear first on the synthesized command line and the
explicitly passed arguments appear last so that the explicit arguments
can trump (which is how Python handles this).

Several bugs existing in the `--exclude` implementation since its
introduction are now fixed and the feature is greatly improved to act on
excludes eagerly, never traversing them in the resolve process; thus
avoiding downloads associated with them as well as potentially failing
metadata extraction & wheel builds for ill-behaved sdists.

Finally, a bug was fixed in `pex3 lock export` for lock files containing
either locked VCS requirements or locked local project directories.
Previously, these were exported with a `<project name>==<version>`
requirement, which lost fidelity with the input requirement. Now they
are exported with their original requirement form. Further, since the
`--hash` of these styles of locked requirement are unuseable outside
Pex, a new `--format` option of `pip-no-hashes` is introduced for the
adventurous.

* Implement support for preserving and injecting Python args. (2427)
* Fix `--exclude`. (2409)
* Fix `pex3 lock export` handling of exotic reqs. (2423)

Page 7 of 54

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.