Install
SPOC needs Python 3.12 or newer. That's it — the core has zero dependencies.
Or with uv:
For an application you'll deploy, pin the major:
That range is exactly what the stability contract promises against — see Upgrading for why nothing tighter is needed.
Check it worked
The spoc command line tool comes with the package:
Extras (only if you want them)
Everything the kernel does works on a bare install. A few optional features
of spoc.formats and
spoc.testing need one extra package each:
| Extra | Install | What it unlocks |
|---|---|---|
yaml |
pip install "spoc[yaml]" |
Reading and writing YAML files |
xml |
pip install "spoc[xml]" |
Reading and writing XML files |
toml |
pip install "spoc[toml]" |
Writing TOML (reading is built in) |
query |
pip install "spoc[query]" |
JSONPath queries with formats.query |
full |
pip install "spoc[full]" |
All of the above |
You can't pick wrong
If you use a feature whose extra is missing, SPOC tells you exactly which one to install. Nothing fails silently.
Next: build your first project.