Releases: pex-tool/pex
pex 2.1.22
2.1.22
This release fixes a deadlock that could be experienced when building
PEX files in highly concurrent environments in addition to fixing
pex --help-variables
output.
A new suite of PEX tools is now available in Pex itself and any PEXes
built with the new --include-tools
option. Use
PEX_TOOLS=1 pex --help
to find out more about the available tools and
their usage.
Finally, the long deprecated exposure of the Pex APIs through _pex
has
been removed. To use the Pex APIs you must include pex as a dependency
in your PEX file.
- Add a dependency graph tool. (#1132)
- Add a venv tool. (#1128)
- Remove long deprecated support for _pex module. (#1135)
- Add an interpreter tool. (#1131)
- Escape venvs unless PEX_INHERIT_PATH is requested. (#1130)
- Improve
PythonInterpreter
venv support. (#1129) - Add support for PEX runtime tools & an info tool. (#1127)
- Exclusive atomic_directory always unlocks. (#1126)
- Fix
PythonInterpreter
binary normalization. (#1125) - Add a
requires_dists
function. (#1122) - Add an
is_exe
helper. (#1123) - Fix req parsing for local archives & projects. (#1121)
- Improve PEXEnvironment constructor ergonomics. (#1120)
- Fix
safe_open
for single element relative paths. (#1118) - Add URLFetcher IT. (#1116)
- Implement full featured requirment parsing. (#1114)
- Fix
--help-variables
docs. (#1113) - Switch from optparse to argparse. (#1083)
pex 2.1.21
2.1.21
- Fix
iter_compatible_interpreters
withpath
. (#1110) - Fix
Requires-Python
environment marker mapping. (#1105) - Fix spurious
InstalledDistribution
env markers. (#1104) - Deprecate
-R
/--resources-directory
. (#1103) - Fix ResourceWarning for unclosed
/dev/null
. (#1102) - Fix runtime vendoring bytecode compilation races. (#1099)
pex 2.1.20
2.1.20
This release improves interpreter discovery to prefer more recent patch versions, e.g. preferring
Python 3.6.10 over 3.6.8.
We recently regained access to the docsite, and https://pex.readthedocs.io/en/latest/ is now
up-to-date.
pex 2.1.19
2.1.19
This release adds the --python-path
option, which allows controlling the
interpreter search paths when building a PEX.
The release also removes --use-first-matching-interpreter
, which was a misfeature. If you want to use
fewer interpreters when building a PEX, use more precise values for --interpreter-constraint
and/or
--python-path
, or use --python
or --platform
.
pex 2.1.18
2.1.18
This release brings official support for Python 3.9 and adds a new --tmpdir
option to explicitly
control the TMPDIR used by Pex and its subprocesses. The latter is useful when building PEXes in
space-constrained environments in the face of large distributions.
The release also fixes --cert
and --client-cert
so that they work with PEP-518 builds in
addition to fixing bytecode compilation races in highly parallel environments.
pex 2.1.17
2.1.17
This release fixes a bug in --resolve-local-platforms
handling that made it unusable in 2.1.16
(#1043) as well as fixing a long standing file handle leak (#1050) and a bug when running under
macOS framework builds of Python (#1009).
- Fix
--unzip
performance regression. (#1056) - Fix resource leak in Pex self-isolation. (#1052)
- Fix use of
iter_compatible_interpreters
. (#1048) - Do not rely on
sys.executable
being accurate. (#1049) - slightly demystify the relationship between platforms and interpreters in the library API and CLI (#1047)
- Path filter for PythonInterpreter.iter_candidates. (#1046)
- Add type hints to
util.py
andtracer.py
(#1044) - Add type hints to variables.py and platforms.py (#1042)
- Add type hints to the remaining tests (#1040)
- Add type hints to most tests (#1036)
- Use MyPy via type comments (#1032)
pex 2.1.16
pex 2.1.15
2.1.15
A patch release to fix an issue with the --use-first-matching-interpreter
flag.
- Fix --use-first-matching-interpreter at runtime. (#1014)
pex 2.1.14
pex 2.1.13
2.1.13
The focus of this release is better support of the --platform
CLI
arg. Platforms are now better documented and can optionally be resolved
to local interpreters when possible via --resolve-local-platforms
to
better support creation of multiplatform PEXes.