Python Package Index
{{Short description|Software repository}}
{{Redirect-distinguish2|PyPI|PyPy, a Python interpreter and JIT compiler}}
{{Infobox website
| name = PyPI
| logo = PyPI logo.svg
| type = Software repository
| owner = Python Software Foundation
| language = Multilingual
| url = {{url|https://pypi.org/}}
| launch_date = 2003{{cite web |title=Packaging History |url=https://www.pypa.io/en/latest/history |website=Python Packaging Authority — PyPA documentation}}
| current_status = Active
| programming_language = Various
}}
The Python Package Index, abbreviated as PyPI ({{IPAc-en|,|p|aɪ|p|i|'|aɪ}}) and also known as the Cheese Shop (a reference to the Monty Python's Flying Circus sketch "Cheese Shop"),{{cite book|title=Programming Python|edition=3|volume=10|last=Lutz|first=Mark|publisher=O'Reilly Media, Inc.|year=2006|isbn=9780596009250}}{{rp|8}}{{cite book|title=Fluent Python|last=Ramalho|first=Luciano|publisher=O'Reilly Media, Inc|year=2015|isbn=9781491946268}}{{rp|742}} is the official third-party software repository for Python. It is analogous to the CPAN repository for Perl{{cite book|title=Head First Python|last=Barry|first=Paul|publisher=O'Reilly Media, Inc|year=2010|isbn=978-1-4493-8267-4}}{{rp|36}} and to the CRAN repository for R. PyPI is run by the Python Software Foundation, a charity. Some package managers, including pip, use PyPI as the default source for packages and their dependencies.
{{As of|2024|5|6|post=,}} more than 530,000 Python packages are available.
PyPI primarily hosts Python packages in the form of source archives, called "sdists", or of "wheels" that may contain binary modules from a compiled language.
PyPI as an index allows users to search for packages by keywords or by filters against their metadata, such as free software license or compatibility with POSIX. A single entry on PyPI is able to store, aside from just a package and its metadata, previous releases of the package, precompiled wheels (e.g. containing DLLs on Windows), as well as different forms for different operating systems and Python versions.
History
The Python Distribution Utilities ({{Proper name|distutils}}) Python module was first added to the Python standard library in the 1.6.1 release, in September 2000, and in the 2.0 release, in October 2000, nine years after the first Python release in February 1991, with the goal of simplifying the process of installing third-party Python packages.
However, {{Proper name|distutils}} only provided the tools for packaging Python code, and no more. It was able to collect and distribute metadata but did not use it for other purposes. Python still lacked a centralised catalog for packages on the internet. PEP 241, a proposal to standardize metadata for indexes, was finalized in March 2001. A proposal to create a comprehensive centralised catalog, hosted at the python.org domain, was later finalized in November 2002.
On 16 April 2018, all PyPI traffic began being served by a more modern website platform: Warehouse. The legacy website was turned off at the end of that month.{{cite web|url=https://warehouse.readthedocs.io/|title=Welcome to Warehouse's documentation!}}{{cite web|url=https://blog.python.org/2018/04/new-pypi-launched-legacy-pypi-shutting.html|title=Python Insider: New PyPI launched, legacy PyPI shutting down April 30|date=16 April 2018|publisher=Python Software Foundation|access-date=1 June 2018}} All existing packages were migrated to the new platform with their histories preserved.{{cite web|url=https://lwn.net/Articles/751458/|title=A new package index for Python|publisher=LWN.net|access-date=1 June 2018}}
In May 2023 the Python Software Foundation reported that the United States Department of Justice had subpoenaed the user data of five PyPI contributors.{{cite web |last1=Durbin |first1=Ee |title=PyPI was subpoenaed - The Python Package Index |url=https://blog.pypi.org/posts/2023-05-24-pypi-was-subpoenaed/ |website=blog.pypi.org |language=en |date=24 May 2023}}{{cite news |last1=Rudra |first1=Sourav |title=The Python Software Foundation Complies with PyPI Subpoenas to Share Some User Data |url=https://news.itsfoss.com/pypi-subpoenaed/ |work=It's FOSS News |date=25 May 2023 |language=en}} A representative of the organization further explained that they expect privacy for contributors, but they also comply with the law and court orders, and for this reason turned over the data which the government requested.
Notes
{{Wikidata property | P5568 }}
= References =
{{reflist
|colwidth=33em
|refs=
{{cite web|url=http://pypi.python.org/mirrors|title=PyPI mirrors|work=Python Package Index|publisher=Python Software Foundation|access-date=22 April 2012|archive-url=https://web.archive.org/web/20120503003036/http://pypi.python.org/mirrors|archive-date=3 May 2012|url-status=dead}}
{{cite web|url=http://python.org/download/releases/1.6.1/|title=Python 1.6.1|publisher=Python Software Foundation|access-date=24 April 2012}}
{{cite web|url=https://docs.python.org/2/whatsnew/2.0.html|title=What's New in Python 2.0|publisher=Python Software Foundation|access-date=2 August 2016}}
{{cite web|url=https://www.python.org/dev/peps/pep-0241/|title=PEP 241 -- Metadata for Python Software Packages|date=19 October 2001|publisher=Python Software Foundation|access-date=18 August 2016}}
{{cite web|url=https://www.python.org/dev/peps/pep-0301/|title=PEP 301 -- Package Index and Metadata for Distutils|date=24 October 2002|publisher=Python Software Foundation|access-date=3 June 2012}}
{{cite web|url=https://pypi.python.org/pypi?:action=browse|title=Browse : Python Package Index|publisher=Python Software Foundation|access-date=2 August 2016}}
{{cite web|url=https://www.python.org/dev/peps/pep-0427/|title=PEP 427 -- The Wheel Binary Package Format 1.0|date=15 February 2013|publisher=Python Software Foundation|access-date=28 October 2017}}
}}