Generated by GPT-5-mini| pip (package manager) | |
|---|---|
| Name | pip |
| Author | Python Software Foundation |
| Developer | Python Packaging Authority |
| Released | 2008 |
| Programming language | Python |
| Operating system | Cross-platform |
| License | MIT License |
pip (package manager) pip is the standard package installer for the Python programming language, used to install and manage software packages from the Python Package Index and other repositories. It interacts with ecosystem services, distribution formats, and build tools to resolve dependencies, install wheels and source archives, and integrate with virtual environments. pip's role connects projects, maintainers, repositories, and end users across software ecosystems maintained by many organizations and open source communities.
pip originated in the late 2000s as an alternative to easy_install and was influenced by contributors from projects such as Setuptools and Distribute. Early development involved maintainers associated with the Python Software Foundation and contributors active in repositories like Python Package Index. Over time, pip evolved through releases coordinated alongside efforts by the Python Packaging Authority and inputs from stakeholders including maintainers of Django, Flask, NumPy, SciPy, and Pandas. Major milestones include adoption in core distributions such as Anaconda (distribution), inclusion in Python (programming language) installers distributed by the Python Software Foundation, integration with virtual environment tools like virtualenv and venv (module), and coordination with build systems such as setuptools, distutils, wheel (package), PEP 517, and PEP 518. The project has seen contributions from individuals and organizations tied to events like PyCon and institutions such as Google, Microsoft, Red Hat, and Canonical (company).
pip provides dependency resolution, wheel installation, source distribution building, and support for editable installs, exposing interfaces consumed by projects like pipenv, poetry, Conda, Buildout, and tox (software). It handles artifact formats such as Wheel (file format), sdist, and integrates with repository protocols backed by the Python Package Index and private registries operated by entities like GitHub, GitLab, Bitbucket, Artifactory, and Nexus Repository Manager. pip supports commands for installing, uninstalling, listing, and freezing package sets used by deployments to cloud platforms including Amazon Web Services, Google Cloud Platform, Microsoft Azure, and services run by companies such as Heroku, DigitalOcean, and Dropbox. Features include caching, progress reporting, resolver improvements influenced by academic work and industry practices exemplified by projects at Mozilla, Facebook, Instagram, and Netflix.
pip is typically bundled with modern installers of Python (programming language) distributed by the Python Software Foundation and is installed via native package managers on systems like Debian, Ubuntu, Fedora (operating system), CentOS, macOS, and Windows. Users often combine pip with environment tools like virtualenv, pyenv, conda (package manager), and venv (module) to isolate dependencies for projects including Django, Flask, Pyramid (web framework), FastAPI, and Celery (software). Common workflows use files such as REQUIREMENTS.txt, pyproject.toml influenced by PEP 517 and PEP 621, and lockfiles produced by tools like pipenv and poetry; CI/CD systems like Jenkins, Travis CI, GitHub Actions, GitLab CI/CD, and CircleCI run pip commands to provision build environments. Advanced usage includes installing from VCS providers such as GitHub, GitLab, and Bitbucket, or from private registries managed by enterprises like Atlassian and Splunk.
pip is implemented in Python and leverages packaging libraries such as setuptools, distutils, packaging (Python library), and wheel (package). The resolver logic has been redesigned to address complex dependency graphs and interacts with package metadata formats defined by PEP 440 and PEP 503. pip communicates with indexes via HTTP APIs and uses caching layers that can be proxied by tools like DevPI, Artifactory, and Nexus Repository Manager. Integration points include build backends conforming to PEP 517 and configuration as specified in pyproject.toml proposals; the implementation draws on testing and automation practices common at events such as PyCon and infrastructures like GitHub Actions and Travis CI. The project repository follows contribution workflows typical of open source hosted on GitHub, with continuous integration and static analysis tooling similar to setups used by Mozilla, Google, and Microsoft.
pip's security model involves source verification, wheel signature proposals, support for secure transport via TLS as implemented by OpenSSL libraries packaged in distributions like Debian and Ubuntu, and authentication mechanisms compatible with repository managers such as Artifactory and Nexus Repository Manager. The ecosystem has responded to supply chain incidents that prompted collaborations among the Python Software Foundation, Open Source Initiative, and organizations like GitHub and Google to improve practices around package vetting, account security, and malware scanning. Standards such as PEP 458 and PEP 480 have influenced discussions about repository integrity, while vulnerability databases and advisories maintained by CERT/CC, NVD (database), and services from Snyk and Dependabot guide remediation. Security-conscious deployments integrate pip with tools for SBOM generation, vulnerability scanning used by Sonatype, JFrog, and Black Duck and follow organizational policies enforced by companies like Red Hat and Canonical (company).
pip is maintained by volunteers and members of the Python Packaging Authority, and governance is shaped by community processes used at Python Software Foundation events, PyCon, and working groups that include contributors from companies such as Google, Microsoft, Amazon (company), Red Hat, and Canonical (company). The project accepts contributions through platforms like GitHub and coordinates with adjacent projects including setuptools, wheel (package), virtualenv, pipenv, and poetry to align on standards such as PEP 517, PEP 518, and PEP 440. Documentation, issue triage, and release management follow models practiced by large open source communities represented at conferences like PyCon US, EuroPython, and SciPy and by organizations such as the Python Software Foundation and the Open Source Initiative. Community resources include mailing lists, discussion forums, and governance artifacts maintained alongside projects like Django, NumPy, Pandas, and SciPy.