This section provides quick reference materials for working with the afterpython system. It includes configuration architecture diagrams, package entry points, core dependencies, build pipelines, file paths, Python version support, and links to detailed subsections for file listings, environment variables, and terminology.
For detailed configuration file documentation, see Configuration Files.
For comprehensive CLI command documentation, see CLI Commands.
For build system details, see Build System Architecture.
The afterpython system uses a layered configuration architecture with multiple interconnected files:
Diagram: Configuration File Relationships
The configuration system has three layers:
pyproject.toml, afterpython.toml, and .env. afterpython.toml acts as an extension to pyproject.toml for website-specific metadata afterpython/doc/concepts.md34-35authors.yml and myst.yml files via ap sync. ap sync propagates values from the source files into these MyST-specific configs afterpython/doc/myst.md99-105uv.lock and pixi.lock.Sources: afterpython/doc/concepts.md34-48 afterpython/doc/myst.md99-105 .env.example1-3
The afterpython package provides two CLI entry points:
| Entry Point | Purpose |
|---|---|
ap | Main CLI interface for all project operations including ap init, ap dev, ap build, etc. |
pcu | Python Check Updates utility for dependency version checking and updates afterpython/doc/package_maintenance/package_management.md31-42 |
The ap command is the primary entry point for all afterpython functionality, while pcu can be invoked as a standalone tool (aliased to ap update deps).
Sources: afterpython/doc/package_maintenance/package_management.md31-42
Diagram: CLI Command Hierarchy
afterpython provides wrapper commands for common maintenance tasks. For example, ap install orchestrates both uv sync and pixi install afterpython/doc/package_maintenance/package_management.md59 ap add and ap remove manage dependencies across both uv and pixi simultaneously afterpython/doc/package_maintenance/package_management.md56-57
Sources: afterpython/doc/package_maintenance/package_management.md10-60
The afterpython system integrates several key tools as core dependencies:
| Package | Purpose | Usage in afterpython |
|---|---|---|
mystmd | Content processing | Parses Markdown and Jupyter Notebooks to render HTML afterpython/doc/myst.md30 |
ruff | Linting and formatting | Configured via afterpython/ruff.toml afterpython/doc/package_maintenance/package_management.md22 |
pre-commit | Git hook management | Configured in afterpython/.pre-commit-config.yaml afterpython/doc/concepts.md21 |
commitizen | Conventional commits | Configured in afterpython/cz.toml afterpython/doc/concepts.md19 |
uv | Python package manager | Primary tool for dependency resolution and syncing afterpython/doc/package_maintenance/package_management.md12 |
pixi | Environment manager | Handles system-level dependencies and reproducible environments afterpython/doc/package_maintenance/package_management.md51-55 |
marimo (molab) | Interactive notebooks | Provides cloud execution badges for Jupyter Notebooks afterpython/doc/myst.md37-43 |
Sources: afterpython/doc/concepts.md1-24 afterpython/doc/myst.md1-43 afterpython/doc/package_maintenance/package_management.md1-60
Diagram: Package Manager Ecosystem
The system uses three package managers for different dependency types. afterpython provides unified commands like ap lock to update both uv.lock and pixi.lock at once afterpython/doc/package_maintenance/package_management.md58
Sources: afterpython/doc/package_maintenance/package_management.md51-60
Diagram: Build Pipeline Stages
The build process involves preparing content (like adding Molab badges to notebooks afterpython/doc/myst.md39), building MyST content for each directory afterpython/doc/myst.md47-48 and finally building the SvelteKit website.
Sources: afterpython/doc/myst.md37-48
| Path Pattern | Type | Purpose | Generated/Manual |
|---|---|---|---|
pyproject.toml | File | Primary project metadata | Manual |
afterpython.toml | File | Extended configuration (company, website) | Manual afterpython/doc/concepts.md34-48 |
.env | File | Runtime environment variables | Manual afterpython/doc/references/environment_variables.md1-9 |
afterpython/ | Directory | Root for content and tool configs | Manual afterpython/doc/concepts.md8-24 |
afterpython/doc/ | Directory | Documentation content (MyST) | Manual afterpython/doc/concepts.md12 |
afterpython/blog/ | Directory | Blog posts (MyST) | Manual afterpython/doc/concepts.md13 |
afterpython/tutorial/ | Directory | Tutorial content (MyST) | Manual afterpython/doc/concepts.md14 |
afterpython/example/ | Directory | Example code/notebooks (MyST) | Manual afterpython/doc/concepts.md15 |
afterpython/guide/ | Directory | How-to guides (MyST) | Manual afterpython/doc/concepts.md16 |
afterpython/authors.yml | File | Author metadata for MyST | Generated afterpython/doc/myst.md77-78 |
afterpython/ruff.toml | File | Ruff linting configuration | Manual afterpython/doc/concepts.md20 |
afterpython/cz.toml | File | Commitizen configuration | Manual afterpython/doc/concepts.md19 |
Sources: afterpython/doc/concepts.md8-57 afterpython/doc/myst.md77-82
The project supports the following Python versions:
| Version | Status | Testing Environment |
|---|---|---|
| 3.11 | ✅ Supported | py311 pixi environment |
| 3.12 | ✅ Supported | py312 pixi environment |
| 3.13 | ✅ Supported | py313 pixi environment |
| 3.14 | 🧪 Experimental | py314 pixi environment |
Minimum required version: Python 3.11. afterpython uses pixi to manage these multi-version environments for testing and development afterpython/doc/package_maintenance/package_management.md54-55
Sources: afterpython/doc/package_maintenance/package_management.md51-60
This section contains the following reference materials:
AP_AUTO_SYNC and AP_MOLAB_BADGE afterpython/doc/references/environment_variables.md1-9Sources: afterpython/doc/concepts.md1-57 afterpython/doc/myst.md1-105 afterpython/doc/package_maintenance/package_management.md1-60 afterpython/doc/references/environment_variables.md1-9 .env.example1-3 src/afterpython/const.py4