Welcome — this project is steered by the Active Inference Institute and welcomes contributions from researchers, engineers, and AI agents alike.
- Open or comment on an issue describing what you want to do.
- Fork → branch → code → test → PR.
- Run
pytestandruff check blockference testsbefore pushing. - Keep PRs scoped: one logical change per PR.
git clone https://github.com/<you>/ActiveBlockference.git
cd ActiveBlockference
uv venv --python 3.11
uv pip install -e ".[dev,docs]"
uv run pytest # baseline; should be greengit checkout -b feat/<short-description>
# or fix/<...>, docs/<...>, refactor/<...>- Library code lives in
blockference/. - Tests live in
tests/and mirror the package layout. - Notebooks in
notebooks/are for exploration; promote stable code into the package.
uv run ruff format blockference tests
uv run ruff check blockference testsIf you change a public surface, update:
- The relevant module docstring.
docs/api.md.docs/architecture.mdif you change layering.- The folder-local
README.mdtable.
Fill in the PR template:
- What changed — code summary.
- Why — motivating issue or use case.
- How verified — pytest output, screenshots if visual.
A reviewer will look at correctness, scope, and doc/test parity.
See the table in the root AGENTS.md. Each folder also
ships its own AGENTS.md with local rules.
Open at https://github.com/ActiveInferenceInstitute/ActiveBlockference/issues with:
- Reproducer (minimal Python snippet or notebook cell).
- Expected vs. observed behaviour.
- Versions (
python -V,pip show inferactively-pymdp cadCAD radcad).
Be kind. Default to assuming good faith. This community values rigour and warmth — both are required.