Skip to content

UtrechtUniversity/ntx

Repository files navigation

Neurotoxicology MEA

Python

Examples use uv, but plain pip can be used.

# Create/activate a virtual environment and install dependencies
cd app
uv python install 3.14
uv venv --python 3.14 
source .venv/bin/activate
uv pip install -r requirements/dev.txt

NodeJS

cd app/frontend
npm install
# Live update tailwindcss:
npm run dev

Django

cd app
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

Podman Compose

The default Compose file runs the local development image with Django's development server and a PostgreSQL container:

podman compose up --build

Open http://localhost:8000. The local image runs migrations before starting runserver. Source files and templates are mounted individually so image-built static assets are not hidden by a broad ./app:/app bind mount.

To test the production image locally, layer the production override:

podman compose -f docker-compose.yaml -f docker-compose.prod.yaml up --build

This uses the prod image target, clears local bind mounts, sets DJANGO_DEBUG=False, and runs the image default Gunicorn command. It still uses the same local PostgreSQL service and named volume. PostgreSQL 18 stores data under the volume mounted at /var/lib/postgresql.

Ingest

For example, using the example data:

cd app
source .venv/bin/activate
python manage.py import_axion_folder ../data
# Replace existing experiments instead of raising IngestionError:
python manage.py import_axion_folder --replace-existing ../data/ENDpoiNTs
# Control conditions default to DMSO; override if needed:
python manage.py import_axion_folder ../data/ENDpoiNTs --control-chemical Water

Development

# Update Python requirements
# Use uv instead of plain pip
uv pip compile requirements/base.in --universal --output-file requirements/base.txt
uv pip compile requirements/dev.in --universal --output-file requirements/dev.txt

# Use Ruff linter
ruff check

# Use Ruff formatter
ruff format

# Use Pyright type checking
pyright

# Run the tests from the app dir
# for pytest to discover the configuration
cd app
pytest

# Run Django management commands with activated venv:
cd app
python manage.py <command>

About

Processing and visualization of MicroElectrode Array data for neurotoxicology

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors