Facility-side MARINERG-i data client: inspect, convert, validate, publish, and fetch marine test-facility datasets.
Project description
marinerg-data
Facility-side data client for the MARINERG-i e-infrastructure: inspect → convert → validate → publish, plus VRE consumption (search, resolve, fetch, lazy streaming). Django-free and pip-installable, so it runs both at a test facility and inside a Blue-Cloud / D4Science VRE Jupyter image.
The invariant that shapes everything: bulk data never transits the e-infrastructure. Facilities publish to their own Zenodo; this tool registers the record in CKAN; the server only re-validates metadata.
Install
pip install marinerg-data # core client (inspect/validate/publish)
pip install "marinerg-data[kerchunk]" # + kerchunk reference sidecars
pip install "marinerg-data[mock]" # + synthetic scenario generator
pip install marinerg-wave-tank # optional wave-tank converter family
Commands
| Command | Purpose |
|---|---|
inspect <dir> |
Sniff capture formats, report converter families; --draft-manifest writes a skeleton |
convert <run-dir> |
Run a converter family (--family wave-tank, else auto-detect); writes open-format outputs + <run>.manifest.json, then validates. With [kerchunk], also emits a <file>.nc.kerchunk.json reference sidecar per NetCDF |
validate <manifest-or-dir> |
JSON Schema (run-manifest v0.1) + referential integrity + file existence; --verify-checksums, --no-files |
publish <bundle-dir> |
Facility Zenodo record + CKAN registration; --sandbox, --new-version, --dry-run |
mock --scenario <name> |
Synthetic NetCDF + manifest for fixtures/seeding/demos (--scenario list) |
Environment: ZENODO_TOKEN (a sandbox token with --sandbox), CKAN_URL,
CKAN_TOKEN.
Cloud-optimised access (VRE)
With the [kerchunk] extra, convert emits a kerchunk reference sidecar per
NetCDF. The sidecar lets xarray lazily stream individual chunks straight from
Zenodo over HTTP range requests — open a 10 GB campaign, plot five minutes of one
gauge, transfer megabytes not gigabytes. The reference URL is templated ({{u}})
so the sidecar is portable; it is retargeted to the Zenodo file URL at publish.
Develop
uv sync --group dev
uv run pytest # Django-free, no network (HTTP is faked)
uv run ruff check src tests
Python 3.14, uv-native toolchain. See CLAUDE.md for architecture pointers and
the token-free release flow.
Licence
Copyright ICHEC. GNU AGPL v3 or later. Exemptions available for MARINERG-i project partners.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file marinerg_data-0.1.0.tar.gz.
File metadata
- Download URL: marinerg_data-0.1.0.tar.gz
- Upload date:
- Size: 56.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00d6c41a5393c2c07d3b6a41ed08a1dff9343e2d43d612912878a1071bb4438f
|
|
| MD5 |
5acf95ceb71f30c01e583fa86ffaddc0
|
|
| BLAKE2b-256 |
91224d48ac7521ae1dc923e0e44434a7c8782c2b5a388930f1dc6b2fa5471579
|
File details
Details for the file marinerg_data-0.1.0-py3-none-any.whl.
File metadata
- Download URL: marinerg_data-0.1.0-py3-none-any.whl
- Upload date:
- Size: 46.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46793912ea25290f9ce9b5d9ce40c560273c6b483fcd43ba43cfacb7ae0cef64
|
|
| MD5 |
74b2157b9930fa6d6248315a78bc370e
|
|
| BLAKE2b-256 |
80771ae518a884bd6bf0039e570b062362f5ce3f12cde16754998317d379dffd
|