mirror of https://github.com/pypa/pip
The Python package installer
https://pip.pypa.io/
07563847b0
This introduces a new module "factory" that contains all methods dealing with producing candidates/requirements from an input requirement/candidate. This allows both models to know nothing about each other, and simply rely on the intermediate to produce the other. I *believe* this also helps us reduce merge conflicts due to adding arguments to those producer functions, since now we only need to modify the factory, and exactly one of candidate/requirement. This is only part of a big scheme--the plan is to also move Candidate.get_dependencies() and Requirement.find_matches() into the factory class, so they can avoid holding and passing around finder, preparer, and make_install_req. This is also necessary to change the return type of Candidate.get_dependencies() to Requirement without hard-coupling. |
||
---|---|---|
.azure-pipelines | ||
.github | ||
docs | ||
news | ||
src/pip | ||
tests | ||
tools | ||
.coveragerc | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.pre-commit-config.yaml | ||
.readthedocs.yml | ||
.travis.yml | ||
AUTHORS.txt | ||
LICENSE.txt | ||
MANIFEST.in | ||
NEWS.rst | ||
README.rst | ||
noxfile.py | ||
pyproject.toml | ||
setup.cfg | ||
setup.py | ||
tox.ini |
README.rst
pip - The Python Package Installer ================================== .. image:: https://img.shields.io/pypi/v/pip.svg :target: https://pypi.org/project/pip/ .. image:: https://readthedocs.org/projects/pip/badge/?version=latest :target: https://pip.pypa.io/en/latest pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes. Please take a look at our documentation for how to install and use pip: * `Installation`_ * `Usage`_ Updates are released regularly, with a new version every 3 months. More details can be found in our documentation: * `Release notes`_ * `Release process`_ If you find bugs, need help, or want to talk to the developers please use our mailing lists or chat rooms: * `Issue tracking`_ * `Discourse channel`_ * `User IRC`_ If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms: * `GitHub page`_ * `Dev documentation`_ * `Dev mailing list`_ * `Dev IRC`_ Code of Conduct --------------- Everyone interacting in the pip project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the `PyPA Code of Conduct`_. .. _package installer: https://packaging.python.org/guides/tool-recommendations/ .. _Python Package Index: https://pypi.org .. _Installation: https://pip.pypa.io/en/stable/installing.html .. _Usage: https://pip.pypa.io/en/stable/ .. _Release notes: https://pip.pypa.io/en/stable/news.html .. _Release process: https://pip.pypa.io/en/latest/development/release-process/ .. _GitHub page: https://github.com/pypa/pip .. _Dev documentation: https://pip.pypa.io/en/latest/development .. _Issue tracking: https://github.com/pypa/pip/issues .. _Discourse channel: https://discuss.python.org/c/packaging .. _Dev mailing list: https://groups.google.com/forum/#!forum/pypa-dev .. _User IRC: https://webchat.freenode.net/?channels=%23pypa .. _Dev IRC: https://webchat.freenode.net/?channels=%23pypa-dev .. _PyPA Code of Conduct: https://www.pypa.io/en/latest/code-of-conduct/