Skip to content

cortex-lab/alyx

Repository files navigation

alyx

Github Actions Coverage Status DOI

Database for experimental neuroscience laboratories

Documentation

Alyx Experimenter Guide

Installation

The getting started section of the documentation details the steps for

  • installing the Python/Django environment
  • running the app with a development server
  • registering local data
  • accessing local data using ONE

More complex deployments scenarios using web servers and Cloud applications are in the how-to guides section of the documtentaiton

Contribution

  • Development happens on the dev branch
  • alyx is sync with the master branch
  • alyx-dev is sync with the dev branch
  • Migrations files are always provided by the repository

Contribution checklist:

  • lint using ruff ruff check . at the root of the repository
  • tests pass (see below how to run tests)
  • migrations are provided with the commit
  • update version number in ./alyx/alyx/__init__.py
  • update CHANGELOG.md

Release process:

  1. Open a PR from your feature branch into dev
  2. On dev, bump the Alyx version and update the changelog
  3. Open a PR from dev to master
  4. When CI passes, make a squash commit into master using the version as the commit title, and changelog section as the message
  5. Actions will automatically create a new release, deploy containers, and assign a DOI
  6. If using a squash commit, rebase dev on origin/master

Running tests

Continuous integration is set up. But before submitting a PR or commit,the tests can run locally. First install the test dependencies with pip install -r requirements_test.txt. - ./manage.py test -n --parallel parallel test without migrations (fastest) - ./manage.py test test with migrations (recommended if models change)

Documentation contribution guide

Dependencies

pip install myst-parser sphinx_rtd_theme sphinx-autobuild

Build documentation locally

From the root of the repository.

sphinx-autobuild -b html ./docs ./docs/_build/ --port 8700

Releases

Packages

Used by

Contributors

Languages