GuideStablesince v0.1.0

Contributing

How to develop against the NeuronScope repo — dev install, running tests, style, and the pull-request contract maintainers actually enforce.

Audience: ContributorsRead: 8 minEdit on GitHub

Dev setup

Clone with submodules, install in editable mode with the dev extras, and enable pre-commit hooks. Native accelerator is built on first install.

shellbash
git clone --recursive https://github.com/neuronscope/neuronscope
cd neuronscope
uv sync --extra dev
uv run pre-commit install

Running tests

  • uv run pytest -q — the full suite (~90s on a laptop).
  • uv run pytest -q -k fingerprint — target a module.
  • uv run pytest -q --backend=jax — parametrized backend suite.

Style and typing

  • Ruff for lint and format — uv run ruff check, uv run ruff format.
  • Full mypy under --strict for the neuronscope package.
  • Public API changes need a stability annotation and a changelog entry.

Pull-request contract

  • One logical change per PR. Refactors and features do not ship together.
  • Every public change ships with a test that fails without the change.
  • Every user-visible change updates the docs page it affects — not just the changelog.
  • Breaking changes require an ADR and a deprecation cycle.
Related