Database for experimental neuroscience laboratories
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
- 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:
- Open a PR from your feature branch into dev
- On dev, bump the Alyx version and update the changelog
- Open a PR from dev to master
- When CI passes, make a squash commit into master using the version as the commit title, and changelog section as the message
- Actions will automatically create a new release, deploy containers, and assign a DOI
- If using a squash commit, rebase dev on origin/master
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)
pip install myst-parser sphinx_rtd_theme sphinx-autobuild
From the root of the repository.
sphinx-autobuild -b html ./docs ./docs/_build/ --port 8700