The Brian 2 simulator provides extensive documentation, examples, and tutorials. Examples and tutorials are provided in different formats: as websites, downloadable files, and jupyter notebooks which can also be executed on the binder infrastructure. Generating these formats is done partly manual, i.e. by running a script on the developer’s local machine, which is inconvenient and error-prone. In addition, the examples and tutorials are not well integrated with the rest of the documentation, which could be improved by replacing some of the Brian-specific scripts by the solutions provided by the Python ecosystem.
Specifically, this project aims to:
- Automatize the generating of example/tutorial content (e.g. by using GitHub Actions)
- Run the examples/tutorials regularly to catch errors and incompatibilities introduced by changes in Brian
- Remove some of the Brian-specific scripts and classes by migrating to established packages such as napoleon or sphinx-gallery
- Improve the presentation of the examples/tutorials and their integration with the rest of the documentation (e.g. with sphinx-gallery)
Skills: Python programming, experience with sphinx and CI infrastructure such as GitHub Actions helpful
Tags: BRIAN, Python, documentation, sphinx