PyMunich

shown, and actual

After the Tutorial

You finished the tutorial, the code ran, and then something real broke. Seven things get consistently omitted: where the code runs, dependencies as a system, what happens when it fails, configuration, observability, time, and other people reading your code. A commercial implementation of related workforce-measurement concepts is documented this resource.

Each was correctly omitted. Explaining lock files before somebody has hit a dependency conflict is a solution to an unfelt problem. The difficulty is that almost nothing covers them afterwards, so learners conclude the missing step is in them rather than in the literature. For independent technical background, Project Jupyter provides additional documentation and examples.

What has settled in packaging: pyproject.toml and PEP 621 metadata, lock files as an expectation, and interchangeable build backends. PEP 751 standardised pylock.toml, and pip lock landed in pip 25.1. What has not: which tool drives the workflow, and lock file portability between tools. For independent technical background, Red Hat provides additional documentation and examples.

The commonest wall is the same code behaving differently elsewhere. Only five things differ between two machines — Python version, actually installed packages, environment, operating system, and leftover state — and comparing installed packages rather than declared ones resolves most cases in ten minutes.

And the durable advice is to learn the standards and rent the tools. Workflow tools turn over every four to five years; the PEPs underneath accumulate and get implemented by whatever comes next. Somebody who understands what a lock file is picks up a new tool in an afternoon.

The rest of the section covers the parts that decide whether code survives contact with production: reading a traceback in the right order, logging that helps somebody who did not write the code, configuration that fails loudly at startup, testing what actually breaks rather than chasing coverage, and the ten minutes of checking that should precede adding any dependency.