Marinerg-i Test Access Service
This is the backend for the Marinerg-i Test Access Portal. Researchers apply for time at marine renewable energy test facilities. A review board evaluates each application, the board chair decides, and accepted applications lead to a facility test report.
It is a Django app with a REST API, built for the
Marinerg-i project. The Angular frontend is in
marinerg-i/frontend. Run it
separately and point it at this backend.
Try it locally
Read infra/quick_start.sh, then run it:
./infra/quick_start.sh
It creates a virtual environment, installs the dependencies, sets up a local database with an admin user, and starts the server. Browse to localhost:8000/api.
Develop
The app reads its settings from the environment. infra/dev.txt has working
values for local development. Keep real deployment settings out of the repo.
uv sync --group dev
source infra/set_dev_environment.sh
uv run python manage.py migrate
uv run python manage.py sync_roles
uv run python manage.py runserver
If the server says the secret key is missing, the settings didn't load into your shell.
uv run tox runs every check CI runs: format, lint, types, the tests, the
Celery tests, the schema check and the e2e collection. After you change a model
or serializer, regenerate the schema and client, and commit them:
uv run python manage.py generate_client marinerg_test_access.client
After you change an access policy, rewrite the deployed sweep's declaration:
WRITE_DECLARATION=1 uv run pytest tests/test_policies.py
To see the portal in every state, load the demo data into an empty database, as docs/demo-data.md explains.
infra/dev.txt sets DJANGO_FRONTEND_URL to the frontend's dev server, so
signing in returns you to the frontend, not to this server's port.
PDF summaries
Each submitted application gets a PDF summary, built by
Gotenberg. Without it the summary is a zip of the
HTML and attachments, so you need it only for the PDF itself and the tests in
tests/integration/:
podman run -d --rm -p 3000:3000 gotenberg/gotenberg:8.34.0
GOTENBERG_URL=http://localhost:3000 uv run python runtests.py
utils/gotenberg.py lists its timeout and retry settings.
How an application is reviewed
Each call runs its applications through a review flow: facility review, board review, the chair's decision, then the facility's test report. docs/review-flow.md explains the flow, what is left to people, and who sees whom.
Release
Each pipeline on main has release patch, release minor and
release major buttons. Press one to publish that release. Then pin the new
version in marinerg-deploy and release its image. The deployment runs
migrate and sync_roles.
Licence
Copyright of the Irish Centre for High End Computing (ICHEC), released under the
MIT Licence. See LICENSE.
Metadata
Release files for marinerg-test-access 9.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| marinerg_test_access-9.0.1.tar.gz | 499.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| marinerg_test_access-9.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / marinerg_test_access-9.0.1.tar.gz
| Download URL | marinerg_test_access-9.0.1.tar.gz |
|---|---|
| Size | 499.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5059731b4b3c203445efca227c3e502a77b1eb2f8bd972254c22803ce2056dd
|
|
BLAKE2b-256 checksum How to use checksums |
2b8c355766563c2a290b7649d66b891648f9eb143b13cd11e47d20d35bb3e1bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / marinerg_test_access-9.0.1-py3-none-any.whl
| Download URL | marinerg_test_access-9.0.1-py3-none-any.whl |
|---|---|
| Size | 505.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6874c829849797188bbc4a5452e639d4cc0fb7277afa7ba57bd75d7ad41d3ba0
|
|
BLAKE2b-256 checksum How to use checksums |
bfc58c1c2186241baff93c6d8a08a02d8b74e763e16602038d653875e5cba47e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|