Glossary

PyPI

Also known as: Python Package Index, the Cheese Shop

The Python Package Index (PyPI), hosted at pypi.org, is the official repository for third-party Python packages. It hosts over 500,000 packages covering virtually every domain — web development, data science, machine learning, CLI tools, testing utilities, and more. When you run pip install requests, pip downloads the package from PyPI by default.

Package authors upload their packages to PyPI using tools like twine, flit, or hatch. Each package on PyPI has a unique name, one or more versions, and metadata including a description, author, license, and dependency list. Packages are distributed as wheels (.whl files, the modern binary format) or source distributions (.tar.gz), with wheels preferred because they install faster and don't require compilation.

PyPI has a companion test server, TestPyPI (test.pypi.org), where package authors can test their upload and installation workflow before publishing to the real index. Alternative package indexes exist for organisations that need to host private packages (e.g., Artifactory, devpi, AWS CodeArtifact). pip can be configured to use multiple indexes with the --index-url and --extra-index-url options.

Related terms: pip, pyproject.toml, Virtual Environment

Discussed in:

This site is currently in Beta. Please email Chris Paton (cpaton@gmail.com) with any suggestions, questions or comments.