alyx
Database for experimental neuroscience laboratories
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