1Metadata-Version: 2.1
2Name: pipenv
3Version: 2021.5.29
4Summary: Python Development Workflow for Humans.
5Home-page: https://github.com/pypa/pipenv
6Author: Pipenv maintainer team
7Author-email: distutils-sig@python.org
8License: MIT
9Platform: UNKNOWN
10Classifier: License :: OSI Approved :: MIT License
11Classifier: Programming Language :: Python
12Classifier: Programming Language :: Python :: 2.7
13Classifier: Programming Language :: Python :: 3
14Classifier: Programming Language :: Python :: 3.4
15Classifier: Programming Language :: Python :: 3.5
16Classifier: Programming Language :: Python :: 3.6
17Classifier: Programming Language :: Python :: 3.7
18Classifier: Programming Language :: Python :: Implementation :: CPython
19Classifier: Programming Language :: Python :: Implementation :: PyPy
20Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
21Description-Content-Type: text/markdown
22Provides-Extra: dev
23Provides-Extra: tests
24License-File: LICENSE
25
26
27Pipenv: Python Development Workflow for Humans
28==============================================
29
30[![image](https://img.shields.io/pypi/v/pipenv.svg)](https://python.org/pypi/pipenv)
31[![image](https://img.shields.io/pypi/l/pipenv.svg)](https://python.org/pypi/pipenv)
32[![Azure Pipelines Build Status](https://dev.azure.com/pypa/pipenv/_apis/build/status/Pipenv%20CI?branchName=master)](https://dev.azure.com/pypa/pipenv/_build/latest?definitionId=16&branchName=master)
33[![image](https://img.shields.io/pypi/pyversions/pipenv.svg)](https://python.org/pypi/pipenv)
34
35
36------------------------------------------------------------------------
37[[ ~ Dependency Scanning by PyUp.io ~ ]](https://pyup.io)
38
39**Pipenv** is a tool that aims to bring the best of all packaging worlds
40(bundler, composer, npm, cargo, yarn, etc.) to the Python world.
41*Windows is a first-class citizen, in our world.*
42
43It automatically creates and manages a virtualenv for your projects, as
44well as adds/removes packages from your `Pipfile` as you
45install/uninstall packages. It also generates the ever-important
46`Pipfile.lock`, which is used to produce deterministic builds.
47
48![GIF demonstrating Pipenv's usage](https://gist.githubusercontent.com/jlusk/855d611bbcfa2b159839db73d07f6ce9/raw/7f5743401809f7e630ee8ff458faa980e19924a0/pipenv.gif)
49
50The problems that Pipenv seeks to solve are multi-faceted:
51
52-   You no longer need to use `pip` and `virtualenv` separately. They
53    work together.
54-   Managing a `requirements.txt` file [can be
55    problematic](https://kennethreitz.org/essays/2016/02/25/a-better-pip-workflow),
56    so Pipenv uses the upcoming `Pipfile` and `Pipfile.lock` instead,
57    which is superior for basic use cases.
58-   Hashes are used everywhere, always. Security. Automatically expose
59    security vulnerabilities.
60-   Give you insight into your dependency graph (e.g. `$ pipenv graph`).
61-   Streamline development workflow by loading `.env` files.
62
63You can quickly play with Pipenv right in your browser:
64
65[![Try in browser](https://cdn.rawgit.com/rootnroll/library/assets/try.svg)](https://rootnroll.com/d/pipenv/)
66
67Installation
68------------
69
70If you\'re using Debian Buster+:
71
72    $ sudo apt install pipenv
73
74Or, if you\'re using Fedora:
75
76    $ sudo dnf install pipenv
77
78Or, if you\'re using FreeBSD:
79
80    # pkg install py36-pipenv
81
82Or, if you\'re using Windows:
83
84    # pip install --user pipenv
85
86When none of the above is an option, it is recommended to use [Pipx](https://pypi.org/p/pipx):
87
88    $ pipx install pipenv
89
90Otherwise, refer to the [documentation](https://pipenv.pypa.io/en/latest/#install-pipenv-today) for instructions.
91
92✨��✨
93
94☤ User Testimonials
95-------------------
96
97**David Gang**---
98
99:   *This package manager is really awesome. For the first time I know
100    exactly what my dependencies are which I installed and what the
101    transitive dependencies are. Combined with the fact that installs
102    are deterministic, makes this package manager first class, like
103    cargo*.
104
105**Justin Myles Holmes**---
106
107:   *Pipenv is finally an abstraction meant to engage the mind instead
108    of merely the filesystem.*
109
110☤ Features
111----------
112
113-   Enables truly *deterministic builds*, while easily specifying *only
114    what you want*.
115-   Generates and checks file hashes for locked dependencies.
116-   Automatically install required Pythons, if `pyenv` is available.
117-   Automatically finds your project home, recursively, by looking for a
118    `Pipfile`.
119-   Automatically generates a `Pipfile`, if one doesn\'t exist.
120-   Automatically creates a virtualenv in a standard location.
121-   Automatically adds/removes packages to a `Pipfile` when they are
122    un/installed.
123-   Automatically loads `.env` files, if they exist.
124
125The main commands are `install`, `uninstall`, and `lock`, which
126generates a `Pipfile.lock`. These are intended to replace
127`$ pip install` usage, as well as manual virtualenv management (to
128activate a virtualenv, run `$ pipenv shell`).
129
130### Basic Concepts
131
132-   A virtualenv will automatically be created, when one doesn\'t exist.
133-   When no parameters are passed to `install`, all packages
134    `[packages]` specified will be installed.
135-   To initialize a Python 3 virtual environment, run
136    `$ pipenv --three`.
137-   To initialize a Python 2 virtual environment, run `$ pipenv --two`.
138-   Otherwise, whatever virtualenv defaults to will be the default.
139
140### Other Commands
141
142-   `shell` will spawn a shell with the virtualenv activated.
143-   `run` will run a given command from the virtualenv, with any
144    arguments forwarded (e.g. `$ pipenv run python`).
145-   `check` asserts that PEP 508 requirements are being met by the
146    current environment.
147-   `graph` will print a pretty graph of all your installed
148    dependencies.
149
150### Shell Completion
151
152For example, with fish, put this in your
153`~/.config/fish/completions/pipenv.fish`:
154
155    eval (pipenv --completion)
156
157Alternatively, with bash, put this in your `.bashrc` or `.bash_profile`:
158
159    eval "$(pipenv --completion)"
160
161Magic shell completions are now enabled! There is also a [fish
162plugin](https://github.com/fisherman/pipenv), which will automatically
163activate your subshells for you!
164
165Fish is the best shell. You should use it.
166
167☤ Usage
168-------
169
170    $ pipenv
171    Usage: pipenv [OPTIONS] COMMAND [ARGS]...
172
173    Options:
174      --where          Output project home information.
175      --venv           Output virtualenv information.
176      --py             Output Python interpreter information.
177      --envs           Output Environment Variable options.
178      --rm             Remove the virtualenv.
179      --bare           Minimal output.
180      --completion     Output completion (to be eval'd).
181      --man            Display manpage.
182      --three / --two  Use Python 3/2 when creating virtualenv.
183      --python TEXT    Specify which version of Python virtualenv should use.
184      --site-packages  Enable site-packages for the virtualenv.
185      --version        Show the version and exit.
186      -h, --help       Show this message and exit.
187
188
189    Usage Examples:
190       Create a new project using Python 3.7, specifically:
191       $ pipenv --python 3.7
192
193       Remove project virtualenv (inferred from current directory):
194       $ pipenv --rm
195
196       Install all dependencies for a project (including dev):
197       $ pipenv install --dev
198
199       Create a lockfile containing pre-releases:
200       $ pipenv lock --pre
201
202       Show a graph of your installed dependencies:
203       $ pipenv graph
204
205       Check your installed dependencies for security vulnerabilities:
206       $ pipenv check
207
208       Install a local setup.py into your virtual environment/Pipfile:
209       $ pipenv install -e .
210
211       Use a lower-level pip command:
212       $ pipenv run pip freeze
213
214    Commands:
215      check      Checks for security vulnerabilities and against PEP 508 markers
216                 provided in Pipfile.
217      clean      Uninstalls all packages not specified in Pipfile.lock.
218      graph      Displays currently–installed dependency graph information.
219      install    Installs provided packages and adds them to Pipfile, or (if no
220                 packages are given), installs all packages from Pipfile.
221      lock       Generates Pipfile.lock.
222      open       View a given module in your editor.
223      run        Spawns a command installed into the virtualenv.
224      scripts    Displays the shortcuts in the (optional) [scripts] section of
225                 Pipfile.
226      shell      Spawns a shell within the virtualenv.
227      sync       Installs all packages specified in Pipfile.lock.
228      uninstall  Un-installs a provided package and removes it from Pipfile.
229
230Locate the project:
231
232    $ pipenv --where
233    /Users/kennethreitz/Library/Mobile Documents/com~apple~CloudDocs/repos/kr/pipenv/test
234
235Locate the virtualenv:
236
237    $ pipenv --venv
238    /Users/kennethreitz/.local/share/virtualenvs/test-Skyy4vre
239
240Locate the Python interpreter:
241
242    $ pipenv --py
243    /Users/kennethreitz/.local/share/virtualenvs/test-Skyy4vre/bin/python
244
245Install packages:
246
247    $ pipenv install
248    Creating a virtualenv for this project...
249    ...
250    No package provided, installing all dependencies.
251    Virtualenv location: /Users/kennethreitz/.local/share/virtualenvs/test-EJkjoYts
252    Installing dependencies from Pipfile.lock...
253    ...
254
255    To activate this project's virtualenv, run the following:
256    $ pipenv shell
257
258Installing from git:
259
260You can install packages with pipenv from git and other version control systems using URLs formatted according to the following rule:
261
262    <vcs_type>+<scheme>://<location>/<user_or_organization>/<repository>@<branch_or_tag>#<package_name>
263
264The only optional section is the `@<branch_or_tag>` section.  When using git over SSH, you may use the shorthand vcs and scheme alias `git+git@<location>:<user_or_organization>/<repository>@<branch_or_tag>#<package_name>`. Note that this is translated to `git+ssh://git@<location>` when parsed.
265
266Valid values for `<vcs_type>` include `git`, `bzr`, `svn`, and `hg`.  Valid values for `<scheme>` include `http,`, `https`, `ssh`, and `file`.  In specific cases you also have access to other schemes: `svn` may be combined with `svn` as a scheme, and `bzr` can be combined with `sftp` and `lp`.
267
268Note that it is **strongly recommended** that you install any version-controlled dependencies in editable mode, using `pipenv install -e`, in order to ensure that dependency resolution can be performed with an up to date copy of the repository each time it is performed, and that it includes all known dependencies.
269
270Below is an example usage which installs the git repository located at `https://github.com/requests/requests.git` from tag `v2.19.1` as package name `requests`:
271
272    $ pipenv install -e git+https://github.com/requests/requests.git@v2.19#egg=requests
273    Creating a Pipfile for this project...
274    Installing -e git+https://github.com/requests/requests.git@v2.19.1#egg=requests...
275    [...snipped...]
276    Adding -e git+https://github.com/requests/requests.git@v2.19.1#egg=requests to Pipfile's [packages]...
277    [...]
278
279You can read more about [pip's implementation of vcs support here](https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support).
280
281Install a dev dependency:
282
283    $ pipenv install pytest --dev
284    Installing pytest...
285    ...
286    Adding pytest to Pipfile's [dev-packages]...
287
288Show a dependency graph:
289
290    $ pipenv graph
291    requests==2.18.4
292      - certifi [required: >=2017.4.17, installed: 2017.7.27.1]
293      - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
294      - idna [required: >=2.5,<2.7, installed: 2.6]
295      - urllib3 [required: <1.23,>=1.21.1, installed: 1.22]
296
297Generate a lockfile:
298
299    $ pipenv lock
300    Assuring all dependencies from Pipfile are installed...
301    Locking [dev-packages] dependencies...
302    Locking [packages] dependencies...
303    Note: your project now has only default [packages] installed.
304    To install [dev-packages], run: $ pipenv install --dev
305
306Install all dev dependencies:
307
308    $ pipenv install --dev
309    Pipfile found at /Users/kennethreitz/repos/kr/pip2/test/Pipfile. Considering this to be the project home.
310    Pipfile.lock out of date, updating...
311    Assuring all dependencies from Pipfile are installed...
312    Locking [dev-packages] dependencies...
313    Locking [packages] dependencies...
314
315Uninstall everything:
316
317    $ pipenv uninstall --all
318    No package provided, un-installing all dependencies.
319    Found 25 installed package(s), purging...
320    ...
321    Environment now purged and fresh!
322
323Use the shell:
324
325    $ pipenv shell
326    Loading .env environment variables...
327    Launching subshell in virtual environment. Type 'exit' or 'Ctrl+D' to return.
328    $ ▯
329
330☤ Documentation
331---------------
332
333Documentation resides over at [pipenv.pypa.io](https://pipenv.pypa.io/en/latest/).
334
335
336