Publishing Python Packages: Test, Share, and Automate Your Projects

  • 3h 56m
  • Dane Hillard
  • Manning Publications
  • 2022

Create masterful, maintainable Python packages! This book includes pro tips for design, automation, testing, deployment, and even release as an open source project!

In Publishing Python Packages you will learn how to:

  • Build extensions and console script commands
  • Use tox to automate packaging, installing, and testing
  • Build a continuous integration pipeline using GitHub Actions
  • Improve code quality and reduce manual review using black, mypy, and flake8
  • Create published documentation for your packages
  • Keep packages up to date with pyupgrade and Dependabot
  • Foster an open source community using GitHub features

Publishing Python Packages teaches you how to easily share your Python code with your team and the outside world. Learn a repeatable and highly automated process for package maintenance that’s based on the best practices, tools, and standards of Python packaging. This book walks you through creating a complete package, including a C extension, and guides you all the way to publishing on the Python Package Index. Whether you’re entirely new to Python packaging or looking for optimal ways to maintain and scale your packages, this fast-paced and engaging guide is for you.

about the technology

Successful Python packages install easily, run flawlessly, and stay reliably up to date. Publishing perfect Python packages requires a rigorous process that supports systematic testing and review, along with excellent documentation. Fortunately, the Python ecosystem includes tools and techniques to automate package creation and publishing.

about the book

Publishing Python Packages presents a practical process for sharing Python code in an automated and scalable way. Get hands-on experience with the latest packaging tools, and learn the ins and outs of package testing and continuous integration. You’ll even get pro tips for setting up a maintainable open source project, including licensing, documentation, and nurturing a community of contributors.

About the Author

Dane Hillard has spent the majority of his development career using Python to build web applications.

In this Book

  • Foreword
  • About This Book
  • The What and Why of Python Packages
  • Preparing for Package Development
  • The Anatomy of a Minimal Python Package
  • Handling Package Dependencies, Entry Points, and Extensions
  • Building and Maintaining a Test Suite
  • Automating Code Quality Tooling
  • Automating Work Through Continuous Integration
  • Authoring and Maintaining Documentation
  • Making a Package Evergreen
  • Scaling and Solidifying Your Practices
  • Building a Community
SHOW MORE
FREE ACCESS