Python Packaging User Guide#
Welcome to the Python Packaging User Guide. This collection of tutorials, how-to guides, explanations, specifications, and references is a central place to learn about Python packages, how to distribute and install libraries and projects, and build awareness of available modern tools.
This guide is maintained on GitHub by the Python Packaging Authority. We encourage and happily accept contributions. 😊
Overview#
The Overview of Python Packaging section provides a high-level view of Python packaging and its use when preparing and distributing projects. This section helps you become familiar with available tools and processes. It includes what packaging is, the problems that it solves, and key considerations. To get an overview of the workflow used to publish your code, see packaging flow.
Tutorials#
Tutorials are the best place to start for anyone new to installing or creating Python Packages. Tutorials walk through the steps needed to complete a project for the first time. The Tutorials section includes:
A tutorial on managing application dependencies in a version controlled project
A tutorial on packaging and distributing your project
How-to Guides#
How-to Guides provide step-by-step instructions to perform a specific task. These guides are written for users who are already familiar with Python packaging.
The How-to Guides section is organized in the following areas:
package installation
building and distributing packages
miscellaneous topics
Explanations#
The Explanations and Discussions section presents in-depth explanations and discussion about a packaging topic. These documents explain the rationale or “why” something is done.
Specifications#
The PyPA specifications section documents the packaging interoperability specifications.
Reference#
The Reference section describes projects and gives informative information. These resources typically answer “What is…” questions. The section includes:
The list of other projects maintained by members of the Python Packaging Authority.
The Glossary for definitions of terms used in Python packaging.