Platform Setup¶
Page Maps¶
graph LR
family["Python Programming"]
program["Python Functional Programming"]
section["Guides"]
page["Platform Setup"]
capstone["Capstone evidence"]
family --> program --> section --> page
page -.applies in.-> capstone
flowchart LR
orient["Orient on the page map"] --> read["Read the main claim and examples"]
read --> inspect["Inspect the related code, proof, or capstone surface"]
inspect --> verify["Run or review the verification path"]
verify --> apply["Apply the idea back to the module and capstone"]
Read the first diagram as a timing map: this page exists for setup pressure, not for general course reading. Read the second diagram as the setup loop: check the owning surface, run one route, then stop once the environment contract is visible.
Python Functional Programming assumes a small but explicit toolchain. The course is about design judgment, not about fighting local environment drift before you can inspect the capstone honestly.
Minimum tooling¶
You need:
- Python 3.10 or newer
- Git on the command line
- a writable local filesystem for
artifacts/ - the capstone-managed virtual environment created through
make install
Supported toolchain contract¶
The support promise is tied to the capstone-managed environment, not to whichever packages happen to be installed globally.
Use these surfaces as the authoritative setup contract:
| Surface | What it tells you |
|---|---|
capstone/pyproject.toml |
supported Python floor and development dependencies |
capstone/Makefile install target |
how the supported virtual environment is built |
capstone/Makefile lint, test, and proof targets |
whether the current environment still honors the course contract |
| Command Guide | which route to run once setup is stable |
Repository-root setup¶
From the repository root:
make PROGRAM=python-programming/python-functional-programming install
make PROGRAM=python-programming/python-functional-programming test
make PROGRAM=python-programming/python-functional-programming docs-build
Use install for first setup or after Python changed. Use test when you want the
strongest course-level confirmation route. Use docs-build when you need the course-book
rendered locally.
Capstone setup¶
From capstone/:
That sequence creates the virtual environment, installs the capstone plus its development tools, checks the test suite, and confirms that the guided bundles still build.
What to verify before deeper proof¶
Check these in order:
make installfinishes without recreating a broken environment repeatedly.make testruns the raw executable suite.make inspectwrites the guided inventory bundle intoartifacts/inspect/....make proofcompletes when you need the full sanctioned route.
If setup fails before step 2, the right next move is environment repair, not capstone reading.
Common setup failures¶
| Symptom | Likely cause | Fix |
|---|---|---|
python or virtualenv creation fails |
unsupported Python on the path | install Python 3.10+ and rerun make install |
ruff, mypy, or pytest are missing after install |
partially built virtual environment | rerun make rebuild-venv inside capstone/, then make install |
docs-build fails while tests pass |
docs dependencies were not installed yet | rerun repository-root make ... install and then docs-build |
proof bundles are missing under artifacts/ |
commands ran from the wrong directory or a stale environment | rerun the documented route from the repository root or capstone/ exactly |
Drift signals¶
Treat these as reasons to re-check the setup contract:
- Python changed locally and the virtual environment was not rebuilt
make teststarts passing in one shell and failing in another- a global package upgrade changed behavior without touching the capstone environment
- the commands in Command Guide no longer match the Makefile
What this page does not promise¶
- It does not promise support for arbitrary global package installs.
- It does not treat “the command exists” as enough; the proof routes still decide whether the environment is trustworthy.
- It does not replace Proof Ladder when the real question is evidence depth rather than setup.