152: Python Packaging - Brett Cannon
I always learn a lot when I talk to Brett, and this episode is no exception.
We talk about the packaging workflow, tools, changes, pyproject.toml, flit, setuptools, and so much more.
I hope you learn as much as I did in this great discussion.
We talk about the packaging workflow, tools, changes, pyproject.toml, flit, setuptools, and so much more.
I hope you learn as much as I did in this great discussion.
Links:
- pytest-srcpaths
- Python Packaging User Guide
- pypa/packaging: Core utilities for Python packages
- flit and requires-python
- Extending and Embedding the Python Interpreter — Python 3.9.2 documentation
- Flit
- setuptools
- PEP 518 -- Specifying Minimum Build System Requirements for Python Projects | Python.org
- PEP 517 -- A build-system independent format for source trees | Python.org
- Flit editable installs with --symlink or --pth-file
- PEP 440 -- Version Identification and Dependency Specification | Python.org
- Specifying requires-python with flit
- wheel
- Universal 1 binary
- Universal 2 binary
- Cython: C-Extensions for Python
- CFFI
- pybind11: Seamless operability between C++11 and Python
- Conda
- conda environments
- conda-forge
- VaultsOfParnassus
Sponsored by:
- The Complete pytest course is now a bundle, with each part available separately.
- pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively.
- Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing strategy, and CI
- Then pytest Booster Rockets can help with advanced parametrization and building plugins.
- Whether you need to get started with pytest today, or want to power up your pytest skills, PythonTest has a course for you.
Creators and Guests

Guest
Brett Cannon (@brettcannon@fosstodon.org)
Python core developer. Dev lead for the Python extension for VS Code. Tall, snarky Canadian.
