This is the admin interface for the data catalogue.
Requirements:
- Python >= 3.13
- Recommended: Docker/Docker Compose (or uv for local installs)
Run docker compose:
docker compose up --watchNavigate to localhost:8096.
Install all packages with:
make install # installs all packages and pre-commit hooks.Start the Django application:
uv run ./src/manage.py runserver localhost:8096Run make in the src folder to have a help-overview of all common developer tasks.
The packages are managed with uv.
To add a package, run uv add <package>.
This will update the lockfile uv.lock that's used for installs.
To upgrade all packages, run make upgrade, followed by make install and make test.
Or at once if you feel lucky: make upgrade install test.
Consider using direnv for automatic activation of environment variables.
It automatically sources an .envrc file when you enter the directory.
This file should contain all lines in the export VAR=value format.
In a similar way, uv helps to install the exact Python version,
and will automatically activate a virtualenv and use it when you run commands using uv run.
A setting that may be useful is the FEATURE_FLAG_USE_AUTH, which if set to False will prevent the application from doing any authorization checks. This is strictly for development purposes, and will always be set to True in production.
To debug a running container, run docker compose with the extra debug compose file:
docker compose -f docker-compose.yml -f docker-compose.debug.yml up -d
In your .vscode folder, copy the launch.example.json to launch.json. Ensure that the paths are matching with what you
have (especially packages in your virtualenv).
Start the debugger through the Run and Debug menu. The debugger is called "Python Debugger: Remote Attach". You can now add breakpoints.