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 8.3.0

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 8.3.0
File Size Uploaded
marinerg_test_access-8.3.0.tar.gz 414.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for marinerg-test-access 8.3.0
File Interpreter ABI Platform
marinerg_test_access-8.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 828.1 kB

Release files / marinerg_test_access-8.3.0.tar.gz

Download URL marinerg_test_access-8.3.0.tar.gz
Size 414.8 kB
Tags Source
SHA-256 checksum
How to use checksums
641b4aa780e5d131f48308ced91ed0a8dceab690e275629f1b91fcbfa58fe49a
BLAKE2b-256 checksum
How to use checksums
fc5eced50aa235b3c1e0eb2fa02cc43db866a2ab462c64393c0781cb03800f17
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-8.3.0-py3-none-any.whl

Download URL marinerg_test_access-8.3.0-py3-none-any.whl
Size 413.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac81a2636341024f5351d612df930aa7cac0381f0327d2141455887ac59cf6e3
BLAKE2b-256 checksum
How to use checksums
f6ab91ab8188da6c905ea17b317b5cfb04e12a03b4576600aa9dbf2ef8879504
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

9.0.1

2 release files

9.0.0

2 release files

8.4.0

2 release files

This release

8.3.0 This release

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