Python Packaging User Guide

View this page

Edit this page

Toggle table of contents sidebar

Welcome to the Python Packaging User Guide, a collection of tutorials and references to help you distribute and install Python packages with modern tools.

This guide is maintained on

GitHub

by the

Python Packaging Authority

. We happily accept

contributions and feedback

. 😊

Overview and Flow

Note

Building your understanding of Python packaging is a journey. Patience and continuous improvement are key to success. The overview and flow sections provide a starting point for understanding the Python packaging ecosystem.

The

Overview of Python Packaging

explains Python packaging and its use when preparing and distributing projects. This section helps you build understanding about selecting the tools and processes that are most suitable for your use case. 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 walk through the steps needed to complete a project for the first time. Tutorials aim to help you succeed and provide a starting point for future exploration. The

Tutorials

section includes:

A

tutorial on installing packages

A

tutorial on managing application dependencies

in a version controlled project

A

tutorial on packaging and distributing

your project

Guides

Guides provide steps to perform a specific task. Guides are more focused on users who are already familiar with Python packaging and are looking for specific information.

The

Guides

section provides “how to” instructions in three major areas: package installation; building and distributing packages; miscellaneous topics.

Explanations and Discussions

The

Discussions

section provides in-depth explanations and discussion about topics, such as:

Deploying Python applications

pip vs easy_install

Reference

The

PyPA specifications

section for packaging interoperability specifications.

The list of

other projects

maintained by members of the Python Packaging Authority.

The

Glossary

for definitions of terms used in Python packaging.