Watch here:
Or listen here:
In this week’s episode we talk with Dane about packaging and the rich ecosystem of Python tooling.
Dane is the author of Publishing Python Packages, a new Manning book that just came out. In our conversation we dive into some of the specific challenges and opportunities that come with packaging Python code.
One of the things that we discuss is the backstory behind Dane’s book on packaging. Dane talks about how he scratched his own itch by open sourcing some packaging code that he had developed at work. He then began to explore some of the patterns and practices around packaging that worked really well. His passion for helping other people distribute their code was also a strong motivator.
We also talk about where people struggle with packaging, and how some of the perceptions around packaging come from the history and diversity of tooling in the Python ecosystem. However, Dane points out that there is a more extensible architecture now, which has turned into more of a plugin-like architecture.
Dane then dives into some specific topics from his book, including the debate between using a src vs flat directory structure, the benefits of using a pyproject.toml file as a unified way of specifying dependencies and tooling, and how a tool like tox (or nox) is invaluable for orchestrating all the tooling around Python package management.
We also discuss some of the challenges around dependency hell, and some tips for managing this more effectively. Dane talks about the importance of using Github Actions as a way of automating CI/CD workflows, and how this can be a big time saver, particularly when the amount of projects you’re maintaining adds up.
Finally, we touch on the community aspect of packaging, and some tips for open source maintainers and contributors. Dane shares some of the unexpected things he learned from writing his book, as well as some advice for keeping up with the Python ecosystem and trends in the tech space.
Overall, we really enjoyed producing this episode. It offers a wealth of insights into the world of packaging in Python and we’re grateful for Dane sharing all these practical tips + advice with our audience and we’re sure it will help you improve your packaging workflows.
You can get 35% off on ALL Manning products in all formats using this code: podpybites23
Links:
- Dane’s new book
- Tox and Nox
- Should You Use Upper Bound Version Constraints?
- What Is ChatGPT Doing … and Why Does It Work?
Reach out to Dane:
Books mentioned:
Related packaging Pybites podcast: