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.1.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.1.0
File Size Uploaded
marinerg_test_access-8.1.0.tar.gz 390.7 kB Details

Built distribution (wheel)

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

Total release size: 781.4 kB

Release files / marinerg_test_access-8.1.0.tar.gz

Download URL marinerg_test_access-8.1.0.tar.gz
Size 390.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6a1f0a54ab87d7e6985a73a5fd519ff189f524f53c69d2df0ff17eb5f03ddf8e
BLAKE2b-256 checksum
How to use checksums
15fa719cf8f5da43563d021a61a45dbdca52ced59f1d69966ef3e2ff6c5e6a32
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.1.0-py3-none-any.whl

Download URL marinerg_test_access-8.1.0-py3-none-any.whl
Size 390.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8504d1dc748389990715f377cbfd94e46a9bc66e5a7f0fa02e64222f455216a8
BLAKE2b-256 checksum
How to use checksums
d04216b577088ed4cde983c7226d7ab39eb839800baed9b71523962fb37510c4
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

8.3.0

2 release files

8.2.0

2 release files

This release

8.1.0 This release

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