This chapter covers
- Automating code quality checks on each change using GitHub Actions
- Building distributions for a variety of platforms
- Publishing distributions to PyPI
Through the course of the previous chapters you’ve built up a repertoire of tasks you execute each time you change your package so that you can maintain functionality and code quality. This is a huge stride in building confidence in changes, but doing all this locally on your own computer is still a big limitation. You may have trouble remembering all the steps that go into verifying a change, and people just starting to work on the project may struggle even more. Even when they perform their due diligence, commands they run locally can’t be directly verified by you unless you’re supervising them. This is difficult enough with a team of a few people, but becomes impossible in the open-source world, where you may not even know the person contributing code changes.
In this chapter you’ll create a pipeline for your package to bring automation to nearly every aspect of the packaging process—aside from writing the code, of course. Before getting to deep into the details of setting up this pipeline, you first need to understand the high-level flow.
Important
You can use the code companion (https://github.com/daneah/publishing-python-packages) to check your work for the exercises in this chapter.