Microcircuit Lab builds, simulates and analyses spiking neural network models, from a single microcircuit to multi-area models. A network is described in plain YAML files; the same core checks it, runs it in NEST or Brian2 and analyses the result, whatever model it came from. Model-specific code lives apart, in builders, so published models share one tested simulation path.
The full documentation is in microcircuit_lab/README.md.
Install the core, start a project with the examples, and run the smallest one:
python -m venv .venv
source .venv/bin/activate
pip install "microcircuit_lab[nest] @ git+https://github.com/shimoura/microcircuit-lab"
microcircuit-lab init my_project --with-core # copies the backends of the installed simulators
cd my_project
microcircuit-lab run --network toyThe plots and spikes are saved in output/toy/<timestamp>/. pd14, toy_two_areas and the HuMAM networks run the same way. NEST can also come from conda-forge or a build from source; see Installation.
Next:
- Other settings (duration, seed, threads): edit
configs/simulation/toy.yamland run again. - Your own analysis: read a finished run with
read_run; see Reading a run. - Parameter sweeps, several seeds, any batch: a Python script; recipes in Running from a script.
- Your own network: Adding a new network.
A project holds your own builders, analyses and configs, and with --with-core your own copy of the core to change as you like; see Starting a project. To propose a change to the core here, see CONTRIBUTING.md.
If you use Microcircuit Lab in your work, please cite it. CITATION.cff has the reference; on GitHub, "Cite this repository" in the sidebar gives it in APA and BibTeX. The DOI 10.5281/zenodo.23547742 cites all versions; each release also has its own DOI on Zenodo. Please also cite the papers of the models you use (listed in each builder's README).
BSD 3-Clause, see LICENSE.