Skip to content

Bonus: Python Project Configuration History

Introduction

This bonus chapter follows one small package through the evolution of Python project configuration. It starts with Python 1.6 and distutils, then moves through metadata-only dependency hints, early setuptools, pinned requirements files, setup.cfg, and finally a modern pyproject.toml workflow. The goal is to show how each configuration style worked, why the ecosystem changed, and which ideas still shape current Python packaging practices.

Overview

Use the navigation on the left to move through the bonus sections:

Section Summary Project Notebooks
Section 01 Python 1.6 Historic Calculator v.1.0.0
Section 02 Python 2.3 Historic Calculator v.2.0.0
Section 03 Python 2.4 Historic Calculator v.3.0.0
Section 04 Python 2.7 Historic Calculator v.4.0.0
Section 05 Python 3.5 Historic Calculator v.5.0.0
Section 06 Python 3.11 Historic Calculator v.6.0.0