Skip to main content

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)

Source distribution for marinerg-test-access 9.0.1
File Size Uploaded
marinerg_test_access-9.0.1.tar.gz 499.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for marinerg-test-access 9.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

9.2.0

2 release files

9.1.0

2 release files

This release

9.0.1 This release

2 release files

9.0.0

2 release files

8.4.0

2 release files

8.3.0

2 release files

8.2.0

2 release files

8.1.0

2 release files

8.0.0

2 release files

7.2.0

2 release files

7.1.0

2 release files

7.0.0

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.0.0

2 release files

3.0.0

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.12

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page