Port pants to pex 0.8.x
Review Request #1421 - Created Dec. 4, 2014 and submitted
|Brian Wickman (Twitter)|
SSIA. The user facing parts of this change:
- package resolution happens via requests now -- this is way more reliable and results in fewer Untranslateable exceptions
- PEX_VERBOSE now controls all pex verbosity, including better messages around Untranslateable (yay!)
- fixes a major pex regression with namespace packages introduced somewhere in 0.5.x
The pex 0.7.0 -> 0.8.0 changelog:
- API change: Decouple translation from package iteration. This removes
the Obtainer construct entirely, which likely means if you're using PEX as
a library, you will need to change your code if you were doing anything
nontrivial. This adds a couple new options to
the story around how to cache packages.
- Refactor http handling in pex to allow for alternate http implementations. Adds support
improving both performance and security. For more information, read the commit notes at
- Improvements to API documentation throughout.
TraceLoggerto prevent nondeterministic isort ordering.
- Refactor tox.ini to increase the number of environment combinations and improve coverage.
- Adds HTTP retry support for the RequestsContext.
- Make pex --version correct.
- Bug fix: Fix over-aggressive sys.modules scrubbing for namespace packages. Under
certain circumstances, namespace packages in site-packages could conflict with packages
within a PEX, causing them to fail importing.
- Bug fix: Replace uses of
Pull Request #11
- Bug fix: Scrub sys.path and sys.modules based upon both supplied path and
realpath of files and directories. Newer versions of virtualenv on Linux symlink site-packages
which caused those packages to not be removed from sys.path correctly.
- Bug fix: The pex -s option was not correctly pulling in transitive dependencies.
- Bug fix: Adds
contentmethod to HTTP contexts that does HTML content decoding, fixing
an encoding issue only experienced when using Python 3.
Revision 2 (+78 -91)