Installation
These instructions assume you are working from a local checkout of the Abacus repository.
Prerequisites
| Item | Notes |
|---|---|
| Python | The package requires Python 3.11 or later. The repo development environment uses Python 3.12. |
| Local checkout | Install from the repository root, not from a published package index. |
| Writable temp/cache directory | Useful for PyTensor compiledir and local verification commands. |
Recommended setup: Conda + editable install
This is the supported local development path for the repository.
This gives you:
- the repo-managed development environment from
environment.yml - an editable install, so local code changes are picked up immediately
Minimal pip install from source
If you do not want the full Conda environment, you can still install Abacus directly from the repository root.
Standard install
Editable install
Use the editable install if you are changing code, configs, or docs locally.
Optional extras
Abacus defines a small set of optional extras in pyproject.toml.
| Extra | Install command | Use when you need |
|---|---|---|
lint |
python3 -m pip install .[lint] |
Ruff, MyPy, and related local linting tools |
test |
python3 -m pip install .[test] |
Pytest and test-only dependencies |
planner |
python3 -m pip install -e ".[planner]" |
Deprecated no-op compatibility marker for old install commands |
If you created the environment from environment.yml, most development
dependencies are already present.
The statistical scenario API does not require the planner extra. New
library code should import scenario objects from abacus.scenarios. The
experimental abacus-dashboard application is deprecated. Use the scenario
Python API or CLI; no dashboard installation is required. Legacy app-layer
paths under abacus.scenario_planner remain as advisory compatibility facades.
Abacus does not vendor Dash, Plotly, or Flask dependencies.
Verify the install
A quick smoke check from the repository root:
For a real end-to-end verification path, use the repo smoke target:
If you are working on the repo itself, the main local verification commands are:
Runtime defaults for restricted environments
Some local runs need writable cache directories. If you hit PyTensor compiledir or cache-permission issues, export the same defaults used by the repo verification scripts:
Next steps
- Read Quickstart: Python API if you want to fit a model directly from pandas data.
- Read Quickstart: YAML Builder if you want configuration-driven model construction.
- Read Quickstart: Pipeline Runner if you want a full structured run with staged artefacts.