pydevtools.com blog

Scientific Python Library Development Guide

Along with the Python Packaging User Guide, another excellent resource for learning about Python development practice is the Scientific Python Library Development Guide, a “guide is maintained by the scientific Python community for the benefit of fellow scientists and research software engineers”. I especially like their topical guides on topics like packaging and getting started with Github Actions.

Read more →

February 12, 2024

Python Packaging Tool Examples

In the last few years, Python packaging has seen a lot of change. Instead of every project using setuptools/setup.py, there are now many tools to choose from when building and distributing Python packages. This can be overwhelming for new and experienced developers alike. My goal with the Python Developer Tooling Handbook is to help you make informed choices to make your Python development easier and more productive. As I’ve tried to learn the ins-and-outs of these tools, I created a series of example repositories showing how to use each of the major packaging tools. I hope these examples will be helpful to you as you learn about Python packaging.

Read more →

February 6, 2024

Quick start guide for Python development on a Mac

Note For a modern approach, consider uv, which handles Python installation, project management, and dependency management in a single tool. The pyenv + Poetry workflow described below remains valid, but uv offers a more streamlined experience.

Read more →

February 5, 2024

Introduction to Rye

Note Rye’s author Armin Ronacher now recommends uv for new projects. Rye continues as a maintained project, but uv has become the primary focus for modern Python tooling. See uv’s documentation for migration guidance.

Read more →

February 3, 2024

Python Packaging User Guide

The Python Packaging Authority produces an excellent resource called the Python Packaging User Guide, “a collection of tutorials and references to help you distribute and install Python packages with modern tools”. If you’re feeling frustrated by Python packaging, I highly recommend reading through this guide and considering it’s suggestions. My forthcoming Python Developer Tooling Handbook will cover much of the same material, but it intended as a complement to the Python Packaging User Guide, not a replacement.

Read more →

February 3, 2024