@@ -21,10 +21,7 @@ applicable to the development and deployment of network services (including
21
21
web applications), but is also very well suited to managing development and
22
22
testing environments for any kind of project.
23
23
24
- Developers of Python libraries, or of applications that support distribution
25
- as Python libraries, should also consider the
26
- `poetry <https://github.com/python-poetry/poetry >`_ project as an alternative dependency
27
- management solution.
24
+ For alternatives, see `Other Tools for Application Dependency Management `_.
28
25
29
26
Installing Pipenv
30
27
-----------------
@@ -161,20 +158,24 @@ Other Tools for Application Dependency Management
161
158
162
159
If you find this particular approach to managing application dependencies isn't
163
160
working well for you or your use case, you may want to explore these other tools
164
- and techniques to see if one of them is a better fit:
165
-
166
- * `poetry <https://github.com/python-poetry/poetry >`__ for a tool comparable in scope
167
- to ``pipenv `` that focuses more directly on use cases where the repository being
168
- managed is structured as a Python project with a valid ``pyproject.toml `` file
169
- (by contrast, ``pipenv `` explicitly avoids making the assumption that the
170
- application being worked on that's depending on components from PyPI will
171
- itself support distribution as a ``pip ``-installable Python package).
161
+ and techniques, listed in alphabetical order, to see if one of them is a better fit:
162
+
172
163
* `hatch <https://github.com/ofek/hatch >`_ for opinionated coverage of even
173
- more steps in the project management workflow (such as incrementing versions,
174
- tagging releases, and creating new skeleton projects from project templates)
175
- * `pip-tools <https://github.com/jazzband/pip-tools >`_ to build your own
176
- custom workflow from lower level pieces like ``pip-compile `` and ``pip-sync ``
177
- * `micropipenv <https://github.com/thoth-station/micropipenv >`_ is a lightweight
178
- wrapper for pip to support requirements.txt, Pipenv and Poetry lock files or
179
- converting them to pip-tools compatible output. Designed for containerized
180
- Python applications but not limited to them.
164
+ more steps in the project management workflow, such as incrementing versions,
165
+ tagging releases, and creating new skeleton projects from project templates.
166
+ * `micropipenv <https://github.com/thoth-station/micropipenv >`_ for a lightweight
167
+ wrapper around pip that supports ``requirements.txt ``, Pipenv and Poetry lock files,
168
+ or converting them to pip-tools compatible output. Designed for containerized
169
+ Python applications, but not limited to them.
170
+ * `PDM <https://github.com/pdm-project/pdm >`_ for a modern Python package management
171
+ tool supporting :pep: `582 ` (replacing virtual environments with ``__pypackages__ ``
172
+ directory for package installation) and relying on standards such as :pep: `517 ` and
173
+ :pep: `621 `.
174
+ * `pip-tools <https://github.com/jazzband/pip-tools >`_ for creating a lock file of all
175
+ dependencies from a list of packages directly used in a project, and ensuring that
176
+ only those dependencies are installed.
177
+ * `Poetry <https://github.com/python-poetry/poetry >`__ for a tool comparable in scope
178
+ to Pipenv that focuses more directly on use cases where the project being managed is
179
+ structured as a distributable Python package with a valid ``pyproject.toml `` file.
180
+ By contrast, Pipenv explicitly avoids making the assumption that the application
181
+ being worked on will support distribution as a ``pip ``-installable Python package.
0 commit comments