Warning: this project is under active development.
A Pipfile
is a new (and much better!) way to declare dependencies for your Python environment, e.g. deployment of a web application. It will be a full replacement for the well-pervasive requirements.txt files, currently installable with $ pip install -r
.
A Pipfile
will be superior to a requirements.txt
file in a number of ways:
- Expressive Python syntax for declaring all types of Python dependencies.
- Grouping of sub-dependency groups (e.g. a
testing
group). - Use of a single file only will be extremely encouraged.
Pipfile.lock
Note—this is an evolving work in progress:
# Note: There will be a default source, and context manager can also be used. source('https://pypi.org/', verify_ssl=True) package('requests') package('Django', '==1.6') package('pinax', git='git://github.com/pinax/pinax.git', ref='1.4', editable=True) with group('development'): package('nose')
Note—this file is always to be generated, not modified or constructed by a user:
{ "_meta": { "sources": [ {"url": "https://pypi.org/", "verify_ssl": true}, ] }, "default": [ {"name": "requests", "version": "0.11.2", "hash": "..."}, {"name": "Django", "version": "1.6", "hash": "..."}, {"name": "pinax", "git": "git://...", "ref": "1.4", "editable": true}, ], "development": [ {"name": "nose", "version": "1.3.7", "hash": "..."}, ] }
- pypa/pip#1795: Requirements 2.0
- Basic Concept Gist (fork of @dstufft's)
The documentation for this project will (eventually) reside at pypi.org.
If you run into bugs, you can file them in our issue tracker.
You can also join #pypa
on Freenode to ask questions or get involved.
Everyone interacting in the pipfile project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.