Python Package Index
The Python Package Index, abbreviated as PyPI and also known as the Cheese Shop (a reference to the Monty Python's Flying Circus sketch Cheese Shop), is the official third-party software repository for Python. It is analogous to CPAN, the repository for Perl. Some package managers, including pip, use PyPI as the default source for packages and their dependencies. Over 113,000 Python packages can be accessed through PyPI.
PyPI primarily hosts Python packages in the form of archives called sdists (source distributions) or precompiled "wheels."
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.
The Python Distribution Utilities (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 first python release in February 1991, with the goal of simplifying the process of installing third-party Python packages.
However, 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 and the legacy website was turned off at the end of that month. All existing packages were migrated to the new platform and their histories preserved.
- Lutz 2006, p. 8.
- Ramalho 2015, p. 742.
- Hylton, Jeremy (24 September 2003). "Python Package Index Tutorial". Jeremy Hylton. Archived from the original on 23 April 2012. Retrieved 22 April 2012.
- Barry 2010, p. 36.
- "Usage". pip 1.1.post1 documentation. The pip developers. Archived from the original on 23 April 2012.
- "PyPI mirrors". Python Package Index. Python Software Foundation. Archived from the original on 23 April 2012. Retrieved 22 April 2012.
- "PyPI - the Python Package Index". Python Package Index. Python Software Foundation. Retrieved 18 August 2016.
- "PEP 427 -- The Wheel Binary Package Format 1.0". Python Software Foundation. 15 February 2013. Retrieved 28 October 2017.
- "Browse : Python Package Index". Python Software Foundation. Retrieved 2 August 2016.
- "Python 1.6.1". Python Software Foundation. Retrieved 24 April 2012.
- "What's New in Python 2.0". Python Software Foundation. Retrieved 2 August 2016.
- "PEP 301 -- Package Index and Metadata for Distutils". Python Software Foundation. 24 October 2002. Retrieved 3 June 2012.
- "PEP 241 -- Metadata for Python Software Packages". Python Software Foundation. 19 October 2001. Retrieved 18 August 2016.
- "Welcome to Warehouse's documentation!".
- "Python Insider: New PyPI launched, legacy PyPI shutting down April 30". Python Software Foundation. 16 April 2018. Retrieved 1 June 2018.
- "A new package index for Python". LWN.net. Retrieved 1 June 2018.
- Barry, Paul (2010). Head First Python. O'Reilly Media, Inc. ISBN 978-1-4493-8267-4.
- Alchin, Marty (2010). Pro Python. Apress. ISBN 978-1-4302-2757-1.
- Hussain, Zahid (2011). "Proceedings of the Fall 2010 Future SOC Lab Day". Technische Berichte des Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam. Universitätsverlag Potsdam (42). ISBN 978-3-86956-114-1.
- Martelli, Alex (2006). Python in a Nutshell. O'Reilly Media, Inc. ISBN 9780596100469.
- Lutz, Mark (2006). Programming Python. 10 (3 ed.). O'Reilly Media, Inc. ISBN 9780596009250.
- Ramalho, Luciano (2015). Fluent Python. O'Reilly Media, Inc. ISBN 9781491946268.