Packaging

Python packaging has a long and tangled history. Distutils shipped in 1.6, setuptools added features (and complexity), distribute forked setuptools, distutils2 tried to start fresh, and eventually pip and the Python Packaging Authority brought some order to it all. This section captures that entire arc – design documents, sprint notes, proposals, surveys, and tool-specific pages. A lot of it is historical, but it is useful history if you want to understand why packaging works the way it does today.

Overviews and Tools

  • Packaging – status page for the standard library packaging module (what distutils2 became, briefly, in Python 3.3)

  • Packaging subpages – sprint notes and related proposals

  • Distutils – the original packaging system, shipped with Python since 1.6

  • Distutils subpages – proposals and related distutils documentation

  • Distutils2 – the clean-room rewrite of distutils, developed outside the standard library

  • Distutils2 subpages – contributing guidelines, sprint setup, and related docs

  • Distribute – the project that forked setuptools to rethink distutils’ future

  • Distribute subpages – additional distribute documentation

  • EasyInstall – setuptools’ easy_install command for remote package installation

  • SetuptoolsFeatures – mapping setuptools features to their distutils2/packaging equivalents

  • Virtualenv – tool for creating isolated Python environments

  • buildout – Zope-originated build system for managing eggs and deployment

  • buildout subpages – additional buildout documentation

PyPI (The Python Package Index)

  • PyPI – overview of the Python Package Index

  • PyPI subpages – additional PyPI documentation

  • A new pypi module – draft PEP by Tarek Ziade for a pypi package in the standard library

  • CloudPyPI – canceled project to mirror PyPI on Amazon CloudFront (now unnecessary since PyPI uses Fastly)

  • CloudPyPI subpages – additional CloudPyPI documentation

  • PyPIComments – discussion about per-package commenting and rating on PyPI

  • PyPISimple – documentation for PyPI’s Simple API

  • PyPITestingInfrastructure – infrastructure for testing and analyzing PyPI packages

  • PipAndDistutils2 – plans for pip to support distutils2/packaging alongside setuptools

Sprints, BOFs, and Community Discussions