All notable changes to Python By Example are documented here.
The format is inspired by Keep a Changelog, and this project uses date-based release notes while the app is pre-1.0.
- MIT license.
- SEO metadata for the home page and all example pages.
- SEO/cache linter for future page additions.
- Browser layout regression check for Shiki-rendered code blocks.
- CodeMirror-powered editable example editor with textarea fallback.
- Execution-time display below run results with reserved space to avoid layout shift.
- Literate source/output cells for example walkthroughs.
- Fingerprinted CSS/JS assets and generated asset manifest.
- Versioned Worker Cache API keys for rendered HTML.
README.mdarchitecture, verification, deployment, and cache-busting documentation.docs/lessons-learned.md.- Markdown-backed example sources with
:::programand:::cellblocks. - Example source verifier, formatter, embedded-source build step, and golden parity check.
- GitHub Actions verification workflow.
iteratorsandgenerator-expressionsexamples to make the Iteration arc explicit.- Syntax coverage examples for loop control, loop
else, assertions, deletion, scope rebinding, positional-only parameters, assignment expressions,yield from, exception chaining/groups, advanced match patterns, inheritance, metaclasses, async iteration/context managers, import aliases, and specialized operators/literals. - Optional
see_alsoexample graph links with validation tests. Protocolexample covering structural typing and its boundary with inheritance.
- Example walkthroughs now pair prose, source fragments, and output evidence.
- Iteration examples now frame Python iteration as a value-stream protocol: producers, consumers, eager containers, lazy streams, and one-pass iterators.
- The quality rubric now requires explicit syntax-surface coverage and graph-style conceptual links for neighboring examples.
- Read-only code highlighting is handled by Shiki; editable code highlighting is handled by CodeMirror.
- Prototype routes under
/layout-options/*bypass the Worker Cache API and returnCache-Control: no-store. - Static assets use immutable cache headers only on fingerprinted filenames.
- Deployment flow now regenerates embedded example data and asset fingerprints first.
src/examples.pyis now a compatibility shim over Markdown example sources.- Output panels reserve space for execution timing to prevent layout shift after runs.
- Removed the Workers journey and folded its runtime-boundary guidance into the affected examples' local notes.
- Shiki line rendering no longer creates visual blank rows beside the orange code rail.
- Prototype pages no longer serve stale HTML from the Worker Cache API.
- Normal cached HTML is busted when app/templates/examples/assets change.
- Source and output fragments now use consistent orange-rail spacing.
- Initial Cloudflare Python Workers + FastAPI app.
- Dynamic Worker execution for editable Python examples.
- 50 Python 3.13 examples linked to official Python documentation.
- Expected output for every example.
- Previous/next example navigation.
- Workers Assets configuration for favicon and static assets.
- Cache API support for GET-rendered HTML pages.
- Research and quality documents:
docs/example-quality-rubric.mddocs/literate-programming-inspiration.mddocs/research-similar-sites.md
- Example quality scoring script.
- Targeted Python 3.13 instead of unsupported Python 3.14.
- Refined UI toward a low-chrome literate-programming style inspired by Go By Example and Rust By Example.
- Extracted templates and CSS from inline Python strings.
- Edited example submissions now use URL-encoded POST bodies so edited code is actually executed.
- Dynamic Worker reuse is keyed by Python version, example slug, and code hash.
- POST example runs are not cached.