[Python-modules-commits] [python-pex] 01/05: initial upstream import

Barry Warsaw barry at moszumanska.debian.org
Wed Feb 18 22:42:00 UTC 2015


This is an automated email from the git hooks/post-receive script.

barry pushed a commit to branch master
in repository python-pex.

commit 5a53fd5b89920a5134773ad201cc4cb5b3750cb7
Author: Barry Warsaw <barry at python.org>
Date:   Wed Feb 18 16:48:57 2015 -0500

    initial upstream import
---
 CHANGES.rst                       | 354 +++++++++++++++++++++++++++++++
 MANIFEST.in                       |   3 +
 PKG-INFO                          | 368 +++++++++++++++++++++++++++++++++
 README.rst                        | 128 ++++++++++++
 pex.egg-info/PKG-INFO             | 368 +++++++++++++++++++++++++++++++++
 pex.egg-info/SOURCES.txt          |  43 ++++
 pex.egg-info/dependency_links.txt |   1 +
 pex.egg-info/entry_points.txt     |   3 +
 pex.egg-info/requires.txt         |   4 +
 pex.egg-info/top_level.txt        |   1 +
 pex.egg-info/zip-safe             |   1 +
 pex/__init__.py                   |   2 +
 pex/archiver.py                   |  48 +++++
 pex/base.py                       |  41 ++++
 pex/bin/__init__.py               |   2 +
 pex/bin/pex.py                    | 346 +++++++++++++++++++++++++++++++
 pex/common.py                     | 313 ++++++++++++++++++++++++++++
 pex/compatibility.py              |  95 +++++++++
 pex/crawler.py                    | 139 +++++++++++++
 pex/environment.py                | 170 +++++++++++++++
 pex/fetcher.py                    |  53 +++++
 pex/finders.py                    | 236 +++++++++++++++++++++
 pex/http.py                       | 244 ++++++++++++++++++++++
 pex/installer.py                  | 249 ++++++++++++++++++++++
 pex/interpreter.py                | 425 ++++++++++++++++++++++++++++++++++++++
 pex/iterator.py                   |  61 ++++++
 pex/link.py                       | 125 +++++++++++
 pex/marshaller.py                 |  86 ++++++++
 pex/orderedset.py                 |  78 +++++++
 pex/package.py                    | 250 ++++++++++++++++++++++
 pex/pep425.py                     | 144 +++++++++++++
 pex/pex.py                        | 374 +++++++++++++++++++++++++++++++++
 pex/pex_bootstrapper.py           |  80 +++++++
 pex/pex_builder.py                | 365 ++++++++++++++++++++++++++++++++
 pex/pex_info.py                   | 250 ++++++++++++++++++++++
 pex/platforms.py                  |  64 ++++++
 pex/resolver.py                   | 239 +++++++++++++++++++++
 pex/testing.py                    | 183 ++++++++++++++++
 pex/tracer.py                     | 135 ++++++++++++
 pex/translator.py                 | 167 +++++++++++++++
 pex/util.py                       | 164 +++++++++++++++
 pex/version.py                    |   1 +
 setup.cfg                         |   8 +
 setup.py                          |  57 +++++
 44 files changed, 6468 insertions(+)

diff --git a/CHANGES.rst b/CHANGES.rst
new file mode 100644
index 0000000..6a90f1c
--- /dev/null
+++ b/CHANGES.rst
@@ -0,0 +1,354 @@
+=======
+CHANGES
+=======
+
+----------
+0.8.6
+----------
+
+* Bug fix: Honor installed sys.excepthook in pex teardown.
+  `RB #1733 <https://rbcommons.com/s/twitter/r/1733>`_
+
+* Bug fix: ``UrllibContext`` used ``replace`` as a keyword argument for ``bytes.decode``
+  but this only works on Python 3.  `Pull Request #46 <https://github.com/pantsbuild/pex/pull/46>`_
+
+-----
+0.8.5
+-----
+
+* Bug fix: Fixup string formatting in pex/bin/pex.py to support Python 2.6
+  `Pull Request #40 <https://github.com/pantsbuild/pex/pull/40>`_
+
+-----
+0.8.4
+-----
+
+* Performance improvement: Speed up the best-case scenario of dependency resolution.
+  `RB #1685 <https://rbcommons.com/s/twitter/r/1685>`_
+
+* Bug fix: Change from ``uuid4().get_hex()`` to ``uuid4().hex`` to maintain Python3
+  compatibility of pex.common.
+  `Pull Request #39 <https://github.com/pantsbuild/pex/pull/39>`_
+
+* Bug fix: Actually cache the results of translation.  Previously bdist translations
+  would be created in a temporary directory even if a cache location was specified.
+  `RB #1666 <https://rbcommons.com/s/twitter/r/1666>`_
+
+* Bug fix: Support all potential abi tag permutations when determining platform
+  compatibility.
+  `Pull Request #33 <https://github.com/pantsbuild/pex/pull/33>`_
+
+-----
+0.8.3
+-----
+
+* Performance improvement: Don't always write packages to disk if they've already been
+  cached.  This can significantly speed up launching PEX files with a large
+  number of non-zip-safe dependencies.
+  `RB #1642 <https://rbcommons.com/s/twitter/r/1642>`_
+
+-----
+0.8.2
+-----
+
+* Bug fix: Allow pex 0.8.x to parse pex files produced by earlier versions of
+  pex and twitter.common.python.
+
+* Pin pex to setuptools prior to 9.x until we have a chance to make changes
+  related to PEP440 and the change of pkg_resources.py to a package.
+
+-----
+0.8.1
+-----
+
+* Bug fix: Fix issue where it'd be possible to ``os.path.getmtime`` on a remote ``Link`` object
+  `Issue #29 <https://github.com/pantsbuild/pex/issues/29>`_
+
+-----
+0.8.0
+-----
+
+* *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 ``resolve`` but simplifies
+  the story around how to cache packages.
+  `RB #785 <https://rbcommons.com/s/twitter/r/785/>`_
+
+* Refactor http handling in pex to allow for alternate http implementations.  Adds support
+  for `requests <https://github.com/kennethreitz/requests>`_,
+  improving both performance and security.   For more information, read the commit notes at
+  `91c7f32 <https://github.com/pantsbuild/pex/commit/91c7f324085c18af714d35947b603a5f60aeb682>`_.
+  `RB #778 <https://rbcommons.com/s/twitter/r/778/>`_
+
+* Improvements to API documentation throughout.
+
+* Renamed ``Tracer`` to ``TraceLogger`` to prevent nondeterministic isort ordering.
+
+* Refactor tox.ini to increase the number of environment combinations and improve coverage.
+
+* Adds HTTP retry support for the RequestsContext.
+  `RB #1303 <https://rbcommons.com/s/twitter/r/1303/>`_
+
+* Make pex --version correct.
+  `Issue #19 <https://github.com/pantsbuild/pex/issues/19>`_
+
+* 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.
+  `RB #1378 <https://rbcommons.com/s/twitter/r/1378/>`_
+
+* Bug fix: Replace uses of ``os.unsetenv(...)`` with ``del os.environ[...]``
+  `Pull Request #11 <https://github.com/pantsbuild/pex/pull/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.
+  `Issue #21 <https://github.com/pantsbuild/pex/issues/21>`_
+
+* Bug fix: The pex -s option was not correctly pulling in transitive dependencies.
+  `Issue #22 <https://github.com/pantsbuild/pex/issues/22>`_
+
+* Bug fix: Adds ``content`` method to HTTP contexts that does HTML content decoding, fixing
+  an encoding issue only experienced when using Python 3.
+  `Issue #10 <https://github.com/pantsbuild/pex/issues/10>`_
+
+-----
+0.7.0
+-----
+
+* Rename ``twitter.common.python`` to ``pex`` and split out from the
+  `twitter/commons <http://github.com/twitter/commons>`_ repo.
+
+-----
+0.6.0
+-----
+
+* Change the interpretation of ``-i`` (and of PyPIFetcher's pypi_base)
+  to match pip's ``-i``.  This is useful for compatibility with devpi.
+
+------
+0.5.10
+------
+
+* Ensures that .egg/.whl distributions on disk have their mtime updated
+  even though we no longer overwrite them. This gives them a new time
+  lease against their ttl.
+
+  Without this change, once a distribution aged past the ttl it would
+  never be used again, and builds would re-create the same distributions
+  in tmpdirs over and over again.
+
+-----
+0.5.9
+-----
+
+* Fixes an issue where SourceTranslator would overwrite .egg/.whl
+  distributions already on disk.  Instead it should always check to see if
+  a copy already exists and reuse if there.
+
+  This ordinarily should not be a problem but the zipimporter caches
+  metadata by filename instead of stat/sha, so if the underlying contents
+  changed a runtime error would be thrown due to seemingly corrupt zip file
+  offsets. `RB #684 <https://rbcommons.com/s/twitter/r/684/>`_
+
+-----
+0.5.8
+-----
+
+* Adds ``-i/--index`` option to the pex tool.
+
+-----
+0.5.7
+-----
+
+* Adds ``twitter.common.python.pex_bootstrap`` ``bootstrap_pex_env`` function in
+  order to initialize a PEX environment from within a python interpreter.
+  (Patch contributed by @kwlzn)
+
+* Adds stdin=,stdout=,stderr= keyword parameters to the ``PEX.run`` function.
+  (Patch from @benjy)
+
+-----
+0.5.6
+-----
+
+* The crawler now defaults to not follow links for security reasons.
+  (Before the default behavior was to implicitly ``--follow-links`` for all
+  requirements.) `RB #293 <https://rbcommons.com/s/twitter/r/293/>`_
+
+-----
+0.5.5
+-----
+
+* Improves scrubbing of site-packages from PEX environments.
+  `RB #289 <https://rbcommons.com/s/twitter/r/289/>`_
+
+-------------
+0.5.1 - 0.5.4
+-------------
+
+* Silences exceptions reported during interpreter teardown (the exceptions
+  resulting from incorrect atexit handler behavior) introduced by 0.4.3
+  `RB #253 <https://rbcommons.com/s/twitter/r/253/>`_
+  `RB #249 <https://rbcommons.com/s/twitter/r/249/>`_
+
+* Adds ``__hash__`` to ``Link`` so that Packages are hashed correctly in
+  ``twitter.common.python.resolver`` ``resolve``
+
+-----
+0.5.0
+-----
+
+* Adds wheel support to ``twitter.common.python``
+  `RB #94 <https://rbcommons.com/s/twitter/r/94/>`_
+  `RB #154 <https://rbcommons.com/s/twitter/r/154/>`_
+  `RB #148 <https://rbcommons.com/s/twitter/r/148/>`_
+
+-----
+0.4.3
+-----
+
+* Adds ``twitter.common.python.finders`` which are additional finders for
+  setuptools including:
+  - find eggs within a .zip
+  - find wheels within a directory
+  - find wheels within a .zip
+  `RB #86 <https://rbcommons.com/s/twitter/r/86/>`_
+
+* Adds a new Package abstraction by refactoring Link into Link and Package.
+  `RB #92 <https://rbcommons.com/s/twitter/r/92/>`_
+
+* Adds support for PEP425 tagging necessary for wheel support.
+  `RB #87 <https://rbcommons.com/s/twitter/r/87/>`_
+
+* Improves python environment isolation by correctly scrubbing namespace
+  packages injected into module ``__path__`` attributes by nspkg pth files.
+  `RB #116 <https://rbcommons.com/s/twitter/r/116/>`_
+
+* Adds ``twitter.common.python.resolver`` ``resolve`` method that handles
+  transitive dependency resolution better.  This means that if the
+  requirement ``futures==2.1.2`` and an unqualified ``futures>=2`` is pulled in
+  transitively, our resolver will correctly resolve futures 2.1.2 instead
+  of reporting a VersionConflict if any version newer than 2.1.2 is
+  available. `RB #129 <https://rbcommons.com/s/twitter/r/129/>`_
+
+* Factors all ``twitter.common.python`` test helpers into
+  ``twitter.common.python.testing``
+  `RB #91 <https://rbcommons.com/s/twitter/r/91/>`_
+
+* Bug fix: Fix ``OrderedSet`` atexit exceptions
+  `RB #147 <https://rbcommons.com/s/twitter/r/147/>`_
+
+* Bug fix: Fix cross-device symlinking (patch from @benjy)
+
+* Bug fix: Raise a ``RuntimeError`` if we fail to write ``pkg_resources`` into a .pex
+  `RB #115 <https://rbcommons.com/s/twitter/r/115/>`_
+
+-----
+0.4.2
+-----
+
+* Upgrade to ``setuptools>=1``
+
+-----
+0.4.1
+-----
+
+* ``twitter.common.python`` is no longer a namespace package
+
+-----
+0.4.0
+-----
+
+* Kill the egg distiller.  We now delegate .egg generation to bdist_egg.
+  `RB #55 <https://rbcommons.com/s/twitter/r/55/>`_
+
+-----
+0.3.1
+-----
+
+* Short-circuit resolving a distribution if a local exact match is found.
+  `RB #47 <https://rbcommons.com/s/twitter/r/47/>`_
+
+* Correctly patch the global ``pkg_resources`` ``WorkingSet`` for the lifetime
+  of the Python interpreter. `RB #52 <https://rbcommons.com/s/twitter/r/52/>`_
+
+* Fixes a performance regression in setuptools ``build_zipmanifest``
+  `Setuptools Issue #154 <https://bitbucket.org/pypa/setuptools/issue/154/build_zipmanifest-results-should-be>`_
+  `RB #53 <https://rbcommons.com/s/twitter/r/53/>`_
+
+-----
+0.3.0
+-----
+
+* Plumb through the ``--zip-safe``, ``--always-write-cache``, ``--ignore-errors``
+  and ``--inherit-path`` flags to the pex tool.
+
+* Delete the unused ``PythonDirWrapper`` code.
+
+* Split ``PEXEnvironment`` resolution into ``twitter.common.python.environment``
+  and deconflate ``WorkingSet``/``Environment`` state.
+
+* Removes the monkeypatched zipimporter in favor of keeping all eggs
+  unzipped within PEX files.  Refactors the PEX dependency cache in
+  ``util.py``
+
+* Adds interpreter detection for Jython and PyPy.
+
+* Dependency translation errors should be made uniform.
+  (Patch from @johnsirois)
+
+* Adds ``PEX_PROFILE_ENTRIES`` to limit the number of entries reported when
+  ``PEX_PROFILE`` is enabled. (Patch from @rgs_)
+
+* Bug fix: Several fixes to error handling in ``twitter.common.python.http``
+  (From Marc Abramowitz)
+
+* Bug fix: PEX should not always assume that ``$PATH`` was available.
+  (Patch from @jamesbroadhead)
+
+* Bug fix: Filename should be part of the .pex cache key or else multiple
+  identical versions will incorrectly resolve (Patch from @tc)
+
+* Bug fix: Executed entry points shouldn't be forced to run in an
+  environment with ``__future__`` imports enabled. (Patch from
+  @lawson_patrick)
+
+* Bug fix: Detect versionless egg links and fail fast. (Patch from
+  @johnsirois.)
+
+* Bug fix: Handle setuptools>=2.1 correctly in the zipimport monkeypatch
+  (Patch from @johnsirois.)
+
+-----
+0.2.3
+-----
+
+* Bug fix: Fix handling of Fetchers with ``file://`` urls.
+
+-----
+0.2.2
+-----
+
+* Adds the pex tool as a standalone tool.
+
+-----
+0.2.1
+-----
+
+* Bug fix: Bootstrapped ``twitter.common.python`` should declare ``twitter.common``
+  as a namespace package.
+
+-----
+0.2.0
+-----
+
+* Make ``twitter.common.python`` fully standalone by consolidating
+  external dependencies within ``twitter.common.python.common``.
+
+-----
+0.1.0
+-----
+
+* Initial published version of ``twitter.common.python``.
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..591118a
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,3 @@
+include *.py
+include docs/*.md
+include CHANGES.rst
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..c84540b
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,368 @@
+Metadata-Version: 1.1
+Name: pex
+Version: 0.8.6
+Summary: The PEX packaging toolchain.
+Home-page: https://github.com/pantsbuild/pex
+Author: UNKNOWN
+Author-email: UNKNOWN
+License: Apache License, Version 2.0
+Description: =======
+        CHANGES
+        =======
+        
+        ----------
+        0.8.6
+        ----------
+        
+        * Bug fix: Honor installed sys.excepthook in pex teardown.
+          `RB #1733 <https://rbcommons.com/s/twitter/r/1733>`_
+        
+        * Bug fix: ``UrllibContext`` used ``replace`` as a keyword argument for ``bytes.decode``
+          but this only works on Python 3.  `Pull Request #46 <https://github.com/pantsbuild/pex/pull/46>`_
+        
+        -----
+        0.8.5
+        -----
+        
+        * Bug fix: Fixup string formatting in pex/bin/pex.py to support Python 2.6
+          `Pull Request #40 <https://github.com/pantsbuild/pex/pull/40>`_
+        
+        -----
+        0.8.4
+        -----
+        
+        * Performance improvement: Speed up the best-case scenario of dependency resolution.
+          `RB #1685 <https://rbcommons.com/s/twitter/r/1685>`_
+        
+        * Bug fix: Change from ``uuid4().get_hex()`` to ``uuid4().hex`` to maintain Python3
+          compatibility of pex.common.
+          `Pull Request #39 <https://github.com/pantsbuild/pex/pull/39>`_
+        
+        * Bug fix: Actually cache the results of translation.  Previously bdist translations
+          would be created in a temporary directory even if a cache location was specified.
+          `RB #1666 <https://rbcommons.com/s/twitter/r/1666>`_
+        
+        * Bug fix: Support all potential abi tag permutations when determining platform
+          compatibility.
+          `Pull Request #33 <https://github.com/pantsbuild/pex/pull/33>`_
+        
+        -----
+        0.8.3
+        -----
+        
+        * Performance improvement: Don't always write packages to disk if they've already been
+          cached.  This can significantly speed up launching PEX files with a large
+          number of non-zip-safe dependencies.
+          `RB #1642 <https://rbcommons.com/s/twitter/r/1642>`_
+        
+        -----
+        0.8.2
+        -----
+        
+        * Bug fix: Allow pex 0.8.x to parse pex files produced by earlier versions of
+          pex and twitter.common.python.
+        
+        * Pin pex to setuptools prior to 9.x until we have a chance to make changes
+          related to PEP440 and the change of pkg_resources.py to a package.
+        
+        -----
+        0.8.1
+        -----
+        
+        * Bug fix: Fix issue where it'd be possible to ``os.path.getmtime`` on a remote ``Link`` object
+          `Issue #29 <https://github.com/pantsbuild/pex/issues/29>`_
+        
+        -----
+        0.8.0
+        -----
+        
+        * *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 ``resolve`` but simplifies
+          the story around how to cache packages.
+          `RB #785 <https://rbcommons.com/s/twitter/r/785/>`_
+        
+        * Refactor http handling in pex to allow for alternate http implementations.  Adds support
+          for `requests <https://github.com/kennethreitz/requests>`_,
+          improving both performance and security.   For more information, read the commit notes at
+          `91c7f32 <https://github.com/pantsbuild/pex/commit/91c7f324085c18af714d35947b603a5f60aeb682>`_.
+          `RB #778 <https://rbcommons.com/s/twitter/r/778/>`_
+        
+        * Improvements to API documentation throughout.
+        
+        * Renamed ``Tracer`` to ``TraceLogger`` to prevent nondeterministic isort ordering.
+        
+        * Refactor tox.ini to increase the number of environment combinations and improve coverage.
+        
+        * Adds HTTP retry support for the RequestsContext.
+          `RB #1303 <https://rbcommons.com/s/twitter/r/1303/>`_
+        
+        * Make pex --version correct.
+          `Issue #19 <https://github.com/pantsbuild/pex/issues/19>`_
+        
+        * 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.
+          `RB #1378 <https://rbcommons.com/s/twitter/r/1378/>`_
+        
+        * Bug fix: Replace uses of ``os.unsetenv(...)`` with ``del os.environ[...]``
+          `Pull Request #11 <https://github.com/pantsbuild/pex/pull/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.
+          `Issue #21 <https://github.com/pantsbuild/pex/issues/21>`_
+        
+        * Bug fix: The pex -s option was not correctly pulling in transitive dependencies.
+          `Issue #22 <https://github.com/pantsbuild/pex/issues/22>`_
+        
+        * Bug fix: Adds ``content`` method to HTTP contexts that does HTML content decoding, fixing
+          an encoding issue only experienced when using Python 3.
+          `Issue #10 <https://github.com/pantsbuild/pex/issues/10>`_
+        
+        -----
+        0.7.0
+        -----
+        
+        * Rename ``twitter.common.python`` to ``pex`` and split out from the
+          `twitter/commons <http://github.com/twitter/commons>`_ repo.
+        
+        -----
+        0.6.0
+        -----
+        
+        * Change the interpretation of ``-i`` (and of PyPIFetcher's pypi_base)
+          to match pip's ``-i``.  This is useful for compatibility with devpi.
+        
+        ------
+        0.5.10
+        ------
+        
+        * Ensures that .egg/.whl distributions on disk have their mtime updated
+          even though we no longer overwrite them. This gives them a new time
+          lease against their ttl.
+        
+          Without this change, once a distribution aged past the ttl it would
+          never be used again, and builds would re-create the same distributions
+          in tmpdirs over and over again.
+        
+        -----
+        0.5.9
+        -----
+        
+        * Fixes an issue where SourceTranslator would overwrite .egg/.whl
+          distributions already on disk.  Instead it should always check to see if
+          a copy already exists and reuse if there.
+        
+          This ordinarily should not be a problem but the zipimporter caches
+          metadata by filename instead of stat/sha, so if the underlying contents
+          changed a runtime error would be thrown due to seemingly corrupt zip file
+          offsets. `RB #684 <https://rbcommons.com/s/twitter/r/684/>`_
+        
+        -----
+        0.5.8
+        -----
+        
+        * Adds ``-i/--index`` option to the pex tool.
+        
+        -----
+        0.5.7
+        -----
+        
+        * Adds ``twitter.common.python.pex_bootstrap`` ``bootstrap_pex_env`` function in
+          order to initialize a PEX environment from within a python interpreter.
+          (Patch contributed by @kwlzn)
+        
+        * Adds stdin=,stdout=,stderr= keyword parameters to the ``PEX.run`` function.
+          (Patch from @benjy)
+        
+        -----
+        0.5.6
+        -----
+        
+        * The crawler now defaults to not follow links for security reasons.
+          (Before the default behavior was to implicitly ``--follow-links`` for all
+          requirements.) `RB #293 <https://rbcommons.com/s/twitter/r/293/>`_
+        
+        -----
+        0.5.5
+        -----
+        
+        * Improves scrubbing of site-packages from PEX environments.
+          `RB #289 <https://rbcommons.com/s/twitter/r/289/>`_
+        
+        -------------
+        0.5.1 - 0.5.4
+        -------------
+        
+        * Silences exceptions reported during interpreter teardown (the exceptions
+          resulting from incorrect atexit handler behavior) introduced by 0.4.3
+          `RB #253 <https://rbcommons.com/s/twitter/r/253/>`_
+          `RB #249 <https://rbcommons.com/s/twitter/r/249/>`_
+        
+        * Adds ``__hash__`` to ``Link`` so that Packages are hashed correctly in
+          ``twitter.common.python.resolver`` ``resolve``
+        
+        -----
+        0.5.0
+        -----
+        
+        * Adds wheel support to ``twitter.common.python``
+          `RB #94 <https://rbcommons.com/s/twitter/r/94/>`_
+          `RB #154 <https://rbcommons.com/s/twitter/r/154/>`_
+          `RB #148 <https://rbcommons.com/s/twitter/r/148/>`_
+        
+        -----
+        0.4.3
+        -----
+        
+        * Adds ``twitter.common.python.finders`` which are additional finders for
+          setuptools including:
+          - find eggs within a .zip
+          - find wheels within a directory
+          - find wheels within a .zip
+          `RB #86 <https://rbcommons.com/s/twitter/r/86/>`_
+        
+        * Adds a new Package abstraction by refactoring Link into Link and Package.
+          `RB #92 <https://rbcommons.com/s/twitter/r/92/>`_
+        
+        * Adds support for PEP425 tagging necessary for wheel support.
+          `RB #87 <https://rbcommons.com/s/twitter/r/87/>`_
+        
+        * Improves python environment isolation by correctly scrubbing namespace
+          packages injected into module ``__path__`` attributes by nspkg pth files.
+          `RB #116 <https://rbcommons.com/s/twitter/r/116/>`_
+        
+        * Adds ``twitter.common.python.resolver`` ``resolve`` method that handles
+          transitive dependency resolution better.  This means that if the
+          requirement ``futures==2.1.2`` and an unqualified ``futures>=2`` is pulled in
+          transitively, our resolver will correctly resolve futures 2.1.2 instead
+          of reporting a VersionConflict if any version newer than 2.1.2 is
+          available. `RB #129 <https://rbcommons.com/s/twitter/r/129/>`_
+        
+        * Factors all ``twitter.common.python`` test helpers into
+          ``twitter.common.python.testing``
+          `RB #91 <https://rbcommons.com/s/twitter/r/91/>`_
+        
+        * Bug fix: Fix ``OrderedSet`` atexit exceptions
+          `RB #147 <https://rbcommons.com/s/twitter/r/147/>`_
+        
+        * Bug fix: Fix cross-device symlinking (patch from @benjy)
+        
+        * Bug fix: Raise a ``RuntimeError`` if we fail to write ``pkg_resources`` into a .pex
+          `RB #115 <https://rbcommons.com/s/twitter/r/115/>`_
+        
+        -----
+        0.4.2
+        -----
+        
+        * Upgrade to ``setuptools>=1``
+        
+        -----
+        0.4.1
+        -----
+        
+        * ``twitter.common.python`` is no longer a namespace package
+        
+        -----
+        0.4.0
+        -----
+        
+        * Kill the egg distiller.  We now delegate .egg generation to bdist_egg.
+          `RB #55 <https://rbcommons.com/s/twitter/r/55/>`_
+        
+        -----
+        0.3.1
+        -----
+        
+        * Short-circuit resolving a distribution if a local exact match is found.
+          `RB #47 <https://rbcommons.com/s/twitter/r/47/>`_
+        
+        * Correctly patch the global ``pkg_resources`` ``WorkingSet`` for the lifetime
+          of the Python interpreter. `RB #52 <https://rbcommons.com/s/twitter/r/52/>`_
+        
+        * Fixes a performance regression in setuptools ``build_zipmanifest``
+          `Setuptools Issue #154 <https://bitbucket.org/pypa/setuptools/issue/154/build_zipmanifest-results-should-be>`_
+          `RB #53 <https://rbcommons.com/s/twitter/r/53/>`_
+        
+        -----
+        0.3.0
+        -----
+        
+        * Plumb through the ``--zip-safe``, ``--always-write-cache``, ``--ignore-errors``
+          and ``--inherit-path`` flags to the pex tool.
+        
+        * Delete the unused ``PythonDirWrapper`` code.
+        
+        * Split ``PEXEnvironment`` resolution into ``twitter.common.python.environment``
+          and deconflate ``WorkingSet``/``Environment`` state.
+        
+        * Removes the monkeypatched zipimporter in favor of keeping all eggs
+          unzipped within PEX files.  Refactors the PEX dependency cache in
+          ``util.py``
+        
+        * Adds interpreter detection for Jython and PyPy.
+        
+        * Dependency translation errors should be made uniform.
+          (Patch from @johnsirois)
+        
+        * Adds ``PEX_PROFILE_ENTRIES`` to limit the number of entries reported when
+          ``PEX_PROFILE`` is enabled. (Patch from @rgs_)
+        
+        * Bug fix: Several fixes to error handling in ``twitter.common.python.http``
+          (From Marc Abramowitz)
+        
+        * Bug fix: PEX should not always assume that ``$PATH`` was available.
+          (Patch from @jamesbroadhead)
+        
+        * Bug fix: Filename should be part of the .pex cache key or else multiple
+          identical versions will incorrectly resolve (Patch from @tc)
+        
+        * Bug fix: Executed entry points shouldn't be forced to run in an
+          environment with ``__future__`` imports enabled. (Patch from
+          @lawson_patrick)
+        
+        * Bug fix: Detect versionless egg links and fail fast. (Patch from
+          @johnsirois.)
+        
+        * Bug fix: Handle setuptools>=2.1 correctly in the zipimport monkeypatch
+          (Patch from @johnsirois.)
+        
+        -----
+        0.2.3
+        -----
+        
+        * Bug fix: Fix handling of Fetchers with ``file://`` urls.
+        
+        -----
+        0.2.2
+        -----
+        
+        * Adds the pex tool as a standalone tool.
+        
+        -----
+        0.2.1
+        -----
+        
+        * Bug fix: Bootstrapped ``twitter.common.python`` should declare ``twitter.common``
+          as a namespace package.
+        
+        -----
+        0.2.0
+        -----
+        
+        * Make ``twitter.common.python`` fully standalone by consolidating
+          external dependencies within ``twitter.common.python.common``.
+        
+        -----
+        0.1.0
+        -----
+        
+        * Initial published version of ``twitter.common.python``.
+        
+Platform: UNKNOWN
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..16317df
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,128 @@
+PEX
+===
+.. image:: https://travis-ci.org/pantsbuild/pex.svg?branch=master
+    :target: https://travis-ci.org/pantsbuild/pex
+
+pex is a library for generating .pex (Python EXecutable) files which are
+executable Python environments in the spirit of `virtualenvs <http://virtualenv.org>`_.
+pex is an expansion upon the ideas outlined in
+`PEP 441 <http://legacy.python.org/dev/peps/pep-0441/>`_
+and makes the deployment of Python applications as simple as ``cp``.  pex files may even
+include multiple platform-specific Python distributions, meaning that a single pex file
+can be portable across Linux and OS X.
+
+pex files can be built using the ``pex`` tool.  Build systems such as `Pants
+<http://pantsbuild.github.io/>`_ and `Buck <http://facebook.github.io/buck/>`_ also
+support building .pex files directly.
+
+Still unsure about what pex does or how it works?  Watch this quick lightning
+talk: `WTF is PEX? <http://www.youtube.com/watch?v=NmpnGhRwsu0>`_.
+
+pex is licensed under the Apache2 license.
+
+
+Installation
+============
+
+To install pex, simply
+
+.. code-block:: bash
+
+    $ pip install pex
+
+You can also build pex in a git clone using tox:
+
+.. code-block:: bash
+
+    $ tox -e package
+    $ cp dist/pex ~/bin
+
+This builds a pex binary in ``dist/pex`` that can be copied onto your ``$PATH``.
+The advantage to this approach is that it keeps your Python environment as empty as
+possible and is more in-line with what pex does philosophically.
+
+
+Simple Examples
+===============
+
+Launch an interpreter with ``requests`` and ``flask`` in the environment:
+
+.. code-block:: bash
+
+    $ pex -r requests -r flask
+
+Run webserver.py in an environment containing ``flask`` and the setup.py package in
+the current working directory:
+
+.. code-block::
+
+    $ pex -r flask -s . -- webserver.py
+
+Launch Sphinx in an ephemeral pex environment using the Sphinx entry point ``sphinx:main``:
+
+.. code-block:: bash
+
+    $ pex -r sphinx -e sphinx:main -- --help
+
+Build a standalone pex binary into ``pex.pex``:
+
+.. code-block::
+
+    $ pex -r pex -e pex.bin.pex:main -o pex.pex
+
+Build a standalone pex binary but invoked using a specific Python version:
+
+.. code-block::
+
+    $ pex -r pex -e pex.bin.pex:main --python=pypy -o pypy-pex.pex
+
+Most pex options compose well with one another, so the above commands can be
+mixed and matched.
+
+
+Documentation
+=============
+
+More documentation about pex, building .pex files, and how .pex files work
+is available at http://pex.rtfd.org.
+
+
+Development
+===========
+
+pex uses `tox <https://testrun.org/tox/latest/>`_ for test and development automation.  To run
+the test suite, just invoke tox:
+
+.. code-block:: bash
+
+    $ tox
+
+To generate a coverage report (with more substantial integration tests):
+
+.. code-block:: bash
+
+   $ tox -e coverage
+
+To check style and sort ordering:
+
+.. code-block:: bash
+
+   $ tox -e style,isort-check
+
+To generate and open local sphinx documentation:
+
+.. code-block:: bash
+
+   $ tox -e docs
+
+To run the 'pex' tool from source (for 3.4, use 'py34-run'):
+
+.. code-block:: bash
+
+   $ tox -e py27-run -- <cmdline>
+
+
+Contributing
+============
+
+To contribute, follow these instructions: http://pantsbuild.github.io/howto_contribute.html
diff --git a/pex.egg-info/PKG-INFO b/pex.egg-info/PKG-INFO
new file mode 100644
index 0000000..c84540b
--- /dev/null
+++ b/pex.egg-info/PKG-INFO
@@ -0,0 +1,368 @@
+Metadata-Version: 1.1
+Name: pex
+Version: 0.8.6
+Summary: The PEX packaging toolchain.
+Home-page: https://github.com/pantsbuild/pex
+Author: UNKNOWN
+Author-email: UNKNOWN
+License: Apache License, Version 2.0
+Description: =======
+        CHANGES
+        =======
+        
+        ----------
+        0.8.6
+        ----------
+        
+        * Bug fix: Honor installed sys.excepthook in pex teardown.
+          `RB #1733 <https://rbcommons.com/s/twitter/r/1733>`_
+        
+        * Bug fix: ``UrllibContext`` used ``replace`` as a keyword argument for ``bytes.decode``
+          but this only works on Python 3.  `Pull Request #46 <https://github.com/pantsbuild/pex/pull/46>`_
+        
+        -----
+        0.8.5
+        -----
+        
+        * Bug fix: Fixup string formatting in pex/bin/pex.py to support Python 2.6
+          `Pull Request #40 <https://github.com/pantsbuild/pex/pull/40>`_
+        
+        -----
+        0.8.4
+        -----
+        
+        * Performance improvement: Speed up the best-case scenario of dependency resolution.
+          `RB #1685 <https://rbcommons.com/s/twitter/r/1685>`_
+        
+        * Bug fix: Change from ``uuid4().get_hex()`` to ``uuid4().hex`` to maintain Python3
+          compatibility of pex.common.
+          `Pull Request #39 <https://github.com/pantsbuild/pex/pull/39>`_
+        
+        * Bug fix: Actually cache the results of translation.  Previously bdist translations
+          would be created in a temporary directory even if a cache location was specified.
+          `RB #1666 <https://rbcommons.com/s/twitter/r/1666>`_
+        
+        * Bug fix: Support all potential abi tag permutations when determining platform
+          compatibility.
+          `Pull Request #33 <https://github.com/pantsbuild/pex/pull/33>`_
+        
+        -----
+        0.8.3
+        -----
+        
+        * Performance improvement: Don't always write packages to disk if they've already been
+          cached.  This can significantly speed up launching PEX files with a large
+          number of non-zip-safe dependencies.
+          `RB #1642 <https://rbcommons.com/s/twitter/r/1642>`_
+        
+        -----
+        0.8.2
+        -----
+        
+        * Bug fix: Allow pex 0.8.x to parse pex files produced by earlier versions of
+          pex and twitter.common.python.
+        
+        * Pin pex to setuptools prior to 9.x until we have a chance to make changes
... 5785 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-pex.git



More information about the Python-modules-commits mailing list