[Python-modules-commits] [python-pex] 01/06: Import python-pex_1.0.0.orig.tar.gz
Barry Warsaw
barry at moszumanska.debian.org
Tue Jun 2 19:01:29 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 c2741933fcfdcb174102c812f69a68004d704773
Author: Barry Warsaw <barry at debian.org>
Date: Tue Jun 2 14:14:32 2015 -0400
Import python-pex_1.0.0.orig.tar.gz
---
CHANGES.rst | 93 ++++++-
LICENSE | 201 ++++++++++++++++
MANIFEST.in | 8 +-
PKG-INFO | 95 +++++++-
README.rst | 77 +++---
docs/Makefile | 177 ++++++++++++++
docs/api/index.rst | 159 ++++++++++++
docs/buildingpex.rst | 330 +++++++++++++++++++++++++
docs/conf.py | 273 +++++++++++++++++++++
docs/index.rst | 31 +++
docs/rtd/requirements.txt | 2 +
docs/whatispex.rst | 47 ++++
pex.egg-info/PKG-INFO | 95 +++++++-
pex.egg-info/SOURCES.txt | 45 +++-
pex.egg-info/entry_points.txt | 2 +-
pex.egg-info/requires.txt | 5 +-
pex/archiver.py | 3 +
pex/base.py | 2 +-
pex/bin/pex.py | 534 +++++++++++++++++++++++++++--------------
pex/common.py | 9 +
pex/crawler.py | 6 +
pex/environment.py | 65 +++--
pex/fetcher.py | 22 +-
pex/finders.py | 60 ++++-
pex/http.py | 21 +-
pex/installer.py | 6 +-
pex/interpreter.py | 7 +-
pex/iterator.py | 79 +++---
pex/link.py | 3 +
pex/pex.py | 268 ++++++++++++++-------
pex/pex_bootstrapper.py | 33 ++-
pex/pex_builder.py | 99 +++++---
pex/pex_info.py | 73 +++---
pex/requirements.py | 94 ++++++++
pex/resolvable.py | 295 +++++++++++++++++++++++
pex/resolver.py | 377 +++++++++++++++++------------
pex/resolver_options.py | 174 ++++++++++++++
pex/sorter.py | 37 +++
pex/testing.py | 24 +-
pex/tracer.py | 27 +--
pex/translator.py | 16 +-
pex/util.py | 42 +++-
pex/variables.py | 265 ++++++++++++++++++++
pex/version.py | 8 +-
scripts/combine_coverage.py | 68 ++++++
scripts/coverage.sh | 7 +
scripts/do_nothing.py | 0
setup.py | 12 +-
tests/test_archiver.py | 28 +++
tests/test_compatibility.py | 18 ++
tests/test_crawler.py | 105 ++++++++
tests/test_environment.py | 96 ++++++++
tests/test_fetcher.py | 18 ++
tests/test_finders.py | 101 ++++++++
tests/test_http.py | 240 ++++++++++++++++++
tests/test_integration.py | 32 +++
tests/test_interpreter.py | 23 ++
tests/test_iterator.py | 38 +++
tests/test_link.py | 54 +++++
tests/test_package.py | 52 ++++
tests/test_pep425.py | 51 ++++
tests/test_pex.py | 134 +++++++++++
tests/test_pex_binary.py | 82 +++++++
tests/test_pex_bootstrapper.py | 31 +++
tests/test_pex_builder.py | 67 ++++++
tests/test_pex_info.py | 34 +++
tests/test_platform.py | 58 +++++
tests/test_requirements.py | 113 +++++++++
tests/test_resolvable.py | 113 +++++++++
tests/test_resolver.py | 59 +++++
tests/test_sorter.py | 45 ++++
tests/test_translator.py | 39 +++
tests/test_util.py | 158 ++++++++++++
tests/test_variables.py | 74 ++++++
tox.ini | 134 +++++++++++
75 files changed, 5731 insertions(+), 642 deletions(-)
diff --git a/CHANGES.rst b/CHANGES.rst
index 6a90f1c..cc25d1f 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -2,9 +2,98 @@
CHANGES
=======
-----------
+-----
+1.0.0
+-----
+
+The 1.0.0 release of pex introduces a few breaking changes: ``pex -r`` now takes requirements.txt files
+instead of requirement specs, ``pex -s`` has now been removed since source specs are accepted as arguments,
+and ``pex -p`` has been removed in favor of its alias ``pex -o``.
+
+The pex *command line interface* now adheres to semver insofar as backwards incompatible CLI
+changes will invoke a major version change. Any backwards incompatible changes to the PEX
+environment variable semantics will also result in a major version change. The pex *API* adheres
+to semver insofar as backwards incompatible API changes will invoke minor version changes.
+
+For users of the PEX API, it is recommended to add minor version ranges, e.g. ``pex>=1.0,<1.1``.
+For users of the PEX CLI, major version ranges such as ``pex>=1,<2`` should be sufficient.
+
+* BREAKING CHANGE: Removes the ``-s`` option in favor of specifying directories directly as
+ arguments to the pex command line.
+
+* BREAKING CHANGE: ``pex -r`` now takes requirements.txt filenames and *not* requirement
+ specs. Requirement specs are now passed as arguments to the pex tool. Use ``--`` to escape
+ command line arguments passed to interpreters spawned by pex. Implements
+ `#5 <https://github.com/pantsbuild/pex/issues/5>`_.
+
+* Adds a number of flag aliases to be more compatible with pip command lines: ``--no-index``,
+ ``-f``, ``--find-links``, ``--index-url``, ``--no-use-wheel``. Removes ``-p`` in favor of
+ ``-o`` exclusively.
+
+* Adds ``--python-shebang`` option to the pex tool in order to set the ``#!`` shebang to an exact
+ path. `#53 <https://github.com/pantsbuild/pex/issues/53>`_.
+
+* Adds support for ``PEX_PYTHON`` environment variable which will cause the pex file to reinvoke
+ itself using the interpreter specified, e.g. ``PEX_PYTHON=python3.4`` or
+ ``PEX_PYTHON=/exact/path/to/interpreter``. `#27 <https://github.com/pantsbuild/pex/issues/27>`_.
+
+* Adds support for ``PEX_PATH`` environment variable which allows merging of PEX environments at
+ runtime. This can be used to inject plugins or entry_points or modules from one PEX into
+ another without explicitly building them together. `#30 <https://github.com/pantsbuild/pex/issues/30>`_.
+
+* Consolidates documentation of ``PEX_`` environment variables and adds the ``--help-variables`` option
+ to the pex client. Partially addresses `#13 <https://github.com/pantsbuild/pex/issues/13>`_.
+
+* Adds helper method to dump a package subdirectory onto disk from within a zipped PEX file. This
+ can be useful for applications that know they're running within a PEX and would prefer some
+ static assets dumped to disk instead of running as an unzipped PEX file.
+ `#12 <https://github.com/pantsbuild/pex/pull/12>`_.
+
+* Now supports extras for static URLs and installable directories.
+ `#65 <https://github.com/pantsbuild/pex/issues/65>`_.
+
+* Adds ``-m`` and ``--entry-point`` alias to the existing ``-e`` option for entry points in
+ the pex tool to evoke the similarity to ``python -m``.
+
+* Adds console script support via ``-c/--script/--console-script`` and ``PEX_SCRIPT``. This allows
+ you to reference the named entry point instead of the exact ``module:name`` pair. Also supports
+ scripts defined in the ``scripts`` section of setup.py.
+ `#59 <https://github.com/pantsbuild/pex/issues/59>`_.
+
+* Adds more debugging information when encountering unresolvable requirements.
+ `#79 <https://github.com/pantsbuild/pex/issues/79>`_.
+
+* Bug fix: ``PEX_COVERAGE`` and ``PEX_PROFILE`` did not function correctly when SystemExit was raised.
+ Fixes `#81 <https://github.com/pantsbuild/pex/issues/81>`_.
+
+* Bug fix: Fixes caching in the PEX tool since we don't cache the source distributions of installable
+ directories. `#24 <https://github.com/pantsbuild/pex/issues/24>`_.
+
+-----
+0.9.0
+-----
+
+This is the last release before the 1.0.0 development branch is started.
+
+* Change the setuptools range to >=2.2,<16 by handling EntryPoint changes as well as
+ being flexible on whether ``pkg_resources`` is a package or a module. Fixes
+ `#55 <https://github.com/pantsbuild/pex/issues/55>`_ and
+ `#34 <https://github.com/pantsbuild/pex/issues/34>`_.
+
+* Adds option groups to the pex tool to make the help output slightly more readable.
+
+* Bug fix: Make ``pip install pex`` work better by removing ``extras_requires`` on the
+ ``console_script`` entry point. Fixes `#48 <https://github.com/pantsbuild/pex/issues/48>`_
+
+* New feature: Adds an interpreter cache to the ``pex`` tool. If the user does not explicitly
+ disable the wheel feature and attempts to build a pex with wheels but does not have the wheel
+ package installed, pex will download it in order to make the feature work.
+ Implements `#47 <https://github.com/pantsbuild/pex/issues/47>`_ in order to
+ fix `#48 <https://github.com/pantsbuild/pex/issues/48>`_
+
+-----
0.8.6
-----------
+-----
* Bug fix: Honor installed sys.excepthook in pex teardown.
`RB #1733 <https://rbcommons.com/s/twitter/r/1733>`_
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..ad410e1
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,201 @@
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
\ No newline at end of file
diff --git a/MANIFEST.in b/MANIFEST.in
index 591118a..e1a99fa 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,3 +1,5 @@
-include *.py
-include docs/*.md
-include CHANGES.rst
+include *.py *.rst *.ini MANIFEST.in LICENSE
+recursive-include docs *
+recursive-include tests *
+recursive-include scripts *
+recursive-exclude * *.pyc *~
diff --git a/PKG-INFO b/PKG-INFO
index c84540b..8dc49f7 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pex
-Version: 0.8.6
+Version: 1.0.0
Summary: The PEX packaging toolchain.
Home-page: https://github.com/pantsbuild/pex
Author: UNKNOWN
@@ -10,9 +10,98 @@ Description: =======
CHANGES
=======
- ----------
+ -----
+ 1.0.0
+ -----
+
+ The 1.0.0 release of pex introduces a few breaking changes: ``pex -r`` now takes requirements.txt files
+ instead of requirement specs, ``pex -s`` has now been removed since source specs are accepted as arguments,
+ and ``pex -p`` has been removed in favor of its alias ``pex -o``.
+
+ The pex *command line interface* now adheres to semver insofar as backwards incompatible CLI
+ changes will invoke a major version change. Any backwards incompatible changes to the PEX
+ environment variable semantics will also result in a major version change. The pex *API* adheres
+ to semver insofar as backwards incompatible API changes will invoke minor version changes.
+
+ For users of the PEX API, it is recommended to add minor version ranges, e.g. ``pex>=1.0,<1.1``.
+ For users of the PEX CLI, major version ranges such as ``pex>=1,<2`` should be sufficient.
+
+ * BREAKING CHANGE: Removes the ``-s`` option in favor of specifying directories directly as
+ arguments to the pex command line.
+
+ * BREAKING CHANGE: ``pex -r`` now takes requirements.txt filenames and *not* requirement
+ specs. Requirement specs are now passed as arguments to the pex tool. Use ``--`` to escape
+ command line arguments passed to interpreters spawned by pex. Implements
+ `#5 <https://github.com/pantsbuild/pex/issues/5>`_.
+
+ * Adds a number of flag aliases to be more compatible with pip command lines: ``--no-index``,
+ ``-f``, ``--find-links``, ``--index-url``, ``--no-use-wheel``. Removes ``-p`` in favor of
+ ``-o`` exclusively.
+
+ * Adds ``--python-shebang`` option to the pex tool in order to set the ``#!`` shebang to an exact
+ path. `#53 <https://github.com/pantsbuild/pex/issues/53>`_.
+
+ * Adds support for ``PEX_PYTHON`` environment variable which will cause the pex file to reinvoke
+ itself using the interpreter specified, e.g. ``PEX_PYTHON=python3.4`` or
+ ``PEX_PYTHON=/exact/path/to/interpreter``. `#27 <https://github.com/pantsbuild/pex/issues/27>`_.
+
+ * Adds support for ``PEX_PATH`` environment variable which allows merging of PEX environments at
+ runtime. This can be used to inject plugins or entry_points or modules from one PEX into
+ another without explicitly building them together. `#30 <https://github.com/pantsbuild/pex/issues/30>`_.
+
+ * Consolidates documentation of ``PEX_`` environment variables and adds the ``--help-variables`` option
+ to the pex client. Partially addresses `#13 <https://github.com/pantsbuild/pex/issues/13>`_.
+
+ * Adds helper method to dump a package subdirectory onto disk from within a zipped PEX file. This
+ can be useful for applications that know they're running within a PEX and would prefer some
+ static assets dumped to disk instead of running as an unzipped PEX file.
+ `#12 <https://github.com/pantsbuild/pex/pull/12>`_.
+
+ * Now supports extras for static URLs and installable directories.
+ `#65 <https://github.com/pantsbuild/pex/issues/65>`_.
+
+ * Adds ``-m`` and ``--entry-point`` alias to the existing ``-e`` option for entry points in
+ the pex tool to evoke the similarity to ``python -m``.
+
+ * Adds console script support via ``-c/--script/--console-script`` and ``PEX_SCRIPT``. This allows
+ you to reference the named entry point instead of the exact ``module:name`` pair. Also supports
+ scripts defined in the ``scripts`` section of setup.py.
+ `#59 <https://github.com/pantsbuild/pex/issues/59>`_.
+
+ * Adds more debugging information when encountering unresolvable requirements.
+ `#79 <https://github.com/pantsbuild/pex/issues/79>`_.
+
+ * Bug fix: ``PEX_COVERAGE`` and ``PEX_PROFILE`` did not function correctly when SystemExit was raised.
+ Fixes `#81 <https://github.com/pantsbuild/pex/issues/81>`_.
+
+ * Bug fix: Fixes caching in the PEX tool since we don't cache the source distributions of installable
+ directories. `#24 <https://github.com/pantsbuild/pex/issues/24>`_.
+
+ -----
+ 0.9.0
+ -----
+
+ This is the last release before the 1.0.0 development branch is started.
+
+ * Change the setuptools range to >=2.2,<16 by handling EntryPoint changes as well as
+ being flexible on whether ``pkg_resources`` is a package or a module. Fixes
+ `#55 <https://github.com/pantsbuild/pex/issues/55>`_ and
+ `#34 <https://github.com/pantsbuild/pex/issues/34>`_.
+
+ * Adds option groups to the pex tool to make the help output slightly more readable.
+
+ * Bug fix: Make ``pip install pex`` work better by removing ``extras_requires`` on the
+ ``console_script`` entry point. Fixes `#48 <https://github.com/pantsbuild/pex/issues/48>`_
+
+ * New feature: Adds an interpreter cache to the ``pex`` tool. If the user does not explicitly
+ disable the wheel feature and attempts to build a pex with wheels but does not have the wheel
+ package installed, pex will download it in order to make the feature work.
+ Implements `#47 <https://github.com/pantsbuild/pex/issues/47>`_ in order to
+ fix `#48 <https://github.com/pantsbuild/pex/issues/48>`_
+
+ -----
0.8.6
- ----------
+ -----
* Bug fix: Honor installed sys.excepthook in pex teardown.
`RB #1733 <https://rbcommons.com/s/twitter/r/1733>`_
diff --git a/README.rst b/README.rst
index 16317df..ff5a556 100644
--- a/README.rst
+++ b/README.rst
@@ -34,7 +34,7 @@ You can also build pex in a git clone using tox:
.. code-block:: bash
- $ tox -e package
+ $ tox -e py27-package
$ cp dist/pex ~/bin
This builds a pex binary in ``dist/pex`` that can be copied onto your ``$PATH``.
@@ -45,39 +45,62 @@ possible and is more in-line with what pex does philosophically.
Simple Examples
===============
-Launch an interpreter with ``requests`` and ``flask`` in the environment:
+Launch an interpreter with ``requests``, ``flask`` and ``psutil`` in the environment:
.. code-block:: bash
- $ pex -r requests -r flask
+ $ pex requests flask 'psutil>2,<3'
-Run webserver.py in an environment containing ``flask`` and the setup.py package in
-the current working directory:
+Or instead freeze your current virtualenv via requirements.txt and execute it anywhere:
-.. code-block::
+.. code-block:: bash
+
+ $ pex -r <(pip freeze) -o my_virtualenv.pex
+ $ deactivate
+ $ ./my_virtualenv.pex
+
+Run webserver.py in an environment containing ``flask`` as a quick way to experiment:
- $ pex -r flask -s . -- webserver.py
+.. code-block:: bash
+
+ $ pex flask -- 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
+ $ pex sphinx -e sphinx:main -- --help
-Build a standalone pex binary into ``pex.pex``:
+Build a standalone pex binary into ``pex.pex`` using the ``pex`` console_scripts entry point:
-.. code-block::
+.. code-block:: bash
- $ pex -r pex -e pex.bin.pex:main -o pex.pex
+ $ pex pex -c pex -o pex.pex
-Build a standalone pex binary but invoked using a specific Python version:
+You can also build pex files that use a specific interpreter type:
-.. code-block::
+.. code-block:: bash
- $ pex -r pex -e pex.bin.pex:main --python=pypy -o pypy-pex.pex
+ $ pex pex -c pex --python=pypy -o pypy-pex.pex
Most pex options compose well with one another, so the above commands can be
-mixed and matched.
+mixed and matched. For a full list of options, just type ``pex --help``.
+
+
+Integrating pex into your workflow
+==================================
+
+If you use tox (and you should!), a simple way to integrate pex into your
+workflow is to add a packaging test environment to your ``tox.ini``:
+
+.. code-block:: ini
+
+ [testenv:package]
+ deps = pex
+ commands = pex . -o dist/app.pex
+
+Then ``tox -e package`` will produce a relocateable copy of your application
+that you can copy to staging or production environments.
Documentation
@@ -97,29 +120,11 @@ the test suite, just invoke tox:
$ 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
+If you don't have tox, you can generate a pex of tox:
-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
+.. code-block::
- $ tox -e py27-run -- <cmdline>
+ $ pex tox -c tox -o ~/bin/tox
Contributing
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..6001793
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,177 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = _build
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " texinfo to make Texinfo files"
+ @echo " info to make Texinfo files and run them through makeinfo"
+ @echo " gettext to make PO message catalogs"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " xml to make Docutils-native XML files"
+ @echo " pseudoxml to make pseudoxml-XML files for display purposes"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/pex.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/pex.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/pex"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/pex"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+latexpdfja:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through platex and dvipdfmx..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+ @echo "Run \`make' in that directory to run these through makeinfo" \
+ "(use \`make info' here to do that automatically)."
+
+info:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo "Running Texinfo files through makeinfo..."
+ make -C $(BUILDDIR)/texinfo info
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+ @echo
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
+
+xml:
+ $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+ @echo
+ @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+ $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+ @echo
+ @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/docs/api/index.rst b/docs/api/index.rst
new file mode 100644
index 0000000..bbd1a32
--- /dev/null
+++ b/docs/api/index.rst
@@ -0,0 +1,159 @@
+PEX API Reference
+=================
+
+Module contents
+---------------
+
+.. automodule:: pex
+ :members:
+ :show-inheritance:
+
+pex.crawler module
+------------------------
+
+.. automodule:: pex.crawler
+ :members:
+ :show-inheritance:
+
+pex.environment module
+----------------------
+
+.. automodule:: pex.environment
+ :members:
+ :show-inheritance:
+
+pex.fetcher module
+------------------
+
+.. automodule:: pex.fetcher
+ :members:
+ :show-inheritance:
+
+pex.finders module
+------------------
+
+.. automodule:: pex.finders
+ :members:
+ :show-inheritance:
+
+pex.http module
+--------------------
+
+.. automodule:: pex.http
+ :members:
+ :show-inheritance:
+
+pex.installer module
+--------------------
+
+.. automodule:: pex.installer
+ :members:
+ :show-inheritance:
+
+pex.interpreter module
+----------------------
+
+.. automodule:: pex.interpreter
+ :members:
+ :show-inheritance:
+
+pex.iterator module
+----------------------
+
+.. automodule:: pex.iterator
+ :members:
+ :show-inheritance:
+
+pex.link module
+----------------------
+
+.. automodule:: pex.link
+ :members:
+ :show-inheritance:
+
+pex.package module
+------------------
+
+.. automodule:: pex.package
+ :members:
+ :show-inheritance:
+
+pex.pep425 module
+-----------------
+
+.. automodule:: pex.pep425
+ :members:
+ :show-inheritance:
+
+pex.pex module
+--------------
+
+.. automodule:: pex.pex
+ :members:
+ :show-inheritance:
+
+pex.pex_builder module
+----------------------
+
+.. automodule:: pex.pex_builder
+ :members:
+ :show-inheritance:
+
+pex.pex_info module
+-------------------
+
+.. automodule:: pex.pex_info
+ :members:
+ :show-inheritance:
+
+pex.platforms module
+--------------------
+
+.. automodule:: pex.platforms
+ :members:
+ :show-inheritance:
+
+pex.resolver module
+-------------------
+
+.. automodule:: pex.resolver
+ :members:
+ :show-inheritance:
+
+pex.testing module
+------------------
+
+.. automodule:: pex.testing
+ :members:
+ :show-inheritance:
+
+pex.tracer module
+-----------------
+
+.. automodule:: pex.tracer
+ :members:
+ :show-inheritance:
+
+pex.translator module
+---------------------
+
+.. automodule:: pex.translator
+ :members:
+ :show-inheritance:
+
+pex.util module
+---------------
+
+.. automodule:: pex.util
+ :members:
+ :show-inheritance:
+
+
+pex.variables module
+--------------------
+
+.. _PexVariables:
+
+.. automodule:: pex.variables
+ :members:
+ :show-inheritance:
diff --git a/docs/buildingpex.rst b/docs/buildingpex.rst
new file mode 100644
index 0000000..8a16acf
--- /dev/null
+++ b/docs/buildingpex.rst
@@ -0,0 +1,330 @@
+.. _buildingpex:
... 6794 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