The Python Package Index, abbreviated as PyPI () and also known as the Cheese Shop (a reference to the ''
Monty Python's Flying Circus
''Monty Python's Flying Circus'' (also known as simply ''Monty Python'') is a British surreal sketch comedy series created by and starring Graham Chapman, John Cleese, Eric Idle, Terry Jones, Michael Palin and Terry Gilliam, who became known ...
'' sketch "
Cheese Shop"), is the official third-party
software repository for
Python.
It is analogous to the
CPAN repository for
Perl 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.
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
Keyword may refer to:
Computing
* Keyword (Internet search), a word or phrase typically used by bloggers or online content creator to rank a web page on a particular topic
* Index term, a term used as a keyword to documents in an information syste ...
or by
filters against their
metadata
Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive metadata – the descriptive ...
, 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
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also inc ...
and Python versions.
History
The ''Python Distribution Utilities'' (') 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 first python release in February 1991, with the goal of simplifying the process of installing
third-party Python packages.
However, ' only provided the tools for packaging Python
code
In communications and information processing, code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form, sometimes shortened or secret, for communication through a communication ...
, and no more. It was able to collect and distribute
metadata
Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive metadata – the descriptive ...
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. All existing packages were migrated to the new platform with their histories preserved.
In May 2023 the Python Software Foundation reported that the
United States Department of Justice had
subpoenaed the user data of five PyPI contributors.
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
References
{{reflist
, colwidth=33em
, refs=
[{{cite web, url=http://www.python.org/~jeremy/weblog/030924.html, title=Python Package Index Tutorial, last=Hylton, first=Jeremy, publisher=Jeremy Hylton, date=24 September 2003, access-date=22 April 2012, archive-url=https://web.archive.org/web/20120521221310/http://www.python.org/~jeremy/weblog/030924.html, archive-date=21 May 2012, url-status=dead]
[{{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://www.pip-installer.org/en/latest/usage.html, title=Usage, work=pip 1.1.post1 documentation, publisher=The pip developers, archive-url=https://web.archive.org/web/20120502155303/http://www.pip-installer.org/en/latest/usage.html, archive-date=2 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]
*
Archive networks
Python (programming language)