Cloudnet API client
Project description
Cloudnet API client
Official Python client for the Cloudnet data portal API.
Installation
python3 -m pip install cloudnet-api-client
Quickstart
from cloudnet_api_client import APIClient
client = APIClient()
sites = client.sites()
site = client.site("hyytiala")
products = client.products()
product = client.products("classification")
models = client.models()
model = client.model("ecmwf-open")
instruments = client.instruments()
instrument = client.instrument("d6bf209b-c48b-48a4-bbfb-fed713b27832")
file = client.file("405cc410-1f24-4ea9-bae8-da7f22be26cb")
files = client.files(site_id="hyytiala", date="2021-01-01", product_id=["mwr", "radar"])
file_paths = client.download(files, "data/")
raw_files = client.raw_files(site_id="granada", date="2024-01", instrument_id="parsivel")
file_paths = client.download(raw_files, "data_raw/")
When downloading files inside Jupyter notebook (or similar environment), you have to use the asynchronous version:
file_paths = await client.adownload(metadata)
Documentation
APIClient().files() and raw_files() → list[Metadata]
Fetch product and raw file metadata from the Cloudnet data portal.
Parameters:
| name | type | default | example |
|---|---|---|---|
| site_id | str or list[str] |
None |
"hyytiala" |
| date | str or date |
None |
"2024-01-01" |
| date_from | str or date |
None |
"2025-01-01" |
| date_to | str or date |
None |
"2025-01-01" |
| updated_at | str, date or datetime |
None |
"2025-01-01T12:00:00" |
| updated_at_from | str, date or datetime |
None |
"2025-01-01T12:00:00" |
| updated_at_to | str, date or datetime |
None |
"2025-01-01T12:00:00" |
| instrument_id | str or list[str] |
None |
"rpg-fmcw-94" |
| instrument_pid | str or list[str] |
None |
"https://hdl.handle.net/21.12132/3.191564170f8a4686" |
| model_id | str or list[str] |
None |
"gdas1" |
| product_id* | str or list[str] |
None |
"classification" |
| show_legacy* | bool |
False |
|
| filename_prefix** | str or list[str] |
None |
"stare" |
| filename_suffix** | str or list[str] |
None |
".lv1" |
| status** | str or list[str] |
None |
"created", "uploaded", "processed" or "invalid" |
* = only in files()
** = only in raw_files()
Date Handling
The date, date_from and date_to parameters support:
- "YYYY-MM-DD" — a specific date
- "YYYY-MM" — the entire month
- "YYYY" — the entire year
- Or directly as
datetime.dateobject
In addition to these, the updated_at, updated_at_from and updated_at_to parameters support:
- "YYYY-MM-DDTHH" — a specific hour
- "YYYY-MM-DDTHH:MM" — a specific minute
- "YYYY-MM-DDTHH:MM:SS" — a specific second
- "YYYY-MM-DDTHH:MM:SS.FFFFFF" — a specific microsecond
- Or directly as
datetime.datetimeobject
Return value
Both methods return a list of dataclass instances, ProductMetadata and RawMetadata, respectively.
APIClient().filter(list[Metadata]) → list[Metadata]
Additional filtering of fetched metadata.
Parameters:
| name | type | default |
|---|---|---|
| metadata | list[RawMetadata] or list[ProductMetadata] |
|
| include_pattern | str |
None |
| exclude_pattern | str |
None |
| include_tag_subset* | set[str] |
None |
| exclude_tag_subset* | set[str] |
None |
* = only with RawMetadata
APIClient().file() → ProductMetadata
Fetch metadata of a single file.
Parameters:
| name | type |
|---|---|
| uuid | str or uuid.UUID |
APIClient().sites() → list[Site]
Fetch all sites.
Parameters:
| name | type | choices | default |
|---|---|---|---|
| type | str |
"cloudnet", "campaign", "model", "hidden" | None |
APIClient().site() → Site
Fetch a single site.
Parameters:
| name | type |
|---|---|
| site_id | str |
APIClient().products() → list[Product]
Fetch all products.
Parameters:
| name | type | choices | default |
|---|---|---|---|
| type | str or list[str] |
"instrument", "geophysical", "evaluation" | None |
APIClient().product() → ExtendedProduct
Fetch a single product.
Parameters:
| name | type |
|---|---|
| product_id | str |
APIClient().instruments() → list[Instrument]
Fetch all instruments.
APIClient().instrument() → ExtendedInstrument
Fetch a single instruments.
Parameters:
| name | type |
|---|---|
| uuid | str |
APIClient().models() → list[Model]
Fetch all models.
APIClient().instrument() → Model
Fetch a single model.
Parameters:
| name | type |
|---|---|
| model_id | str |
APIClient().versions() → list[VersionMetadata]
Fetch information of all versions of a file.
Parameters:
| name | type |
|---|---|
| uuid | str or uuid.UUID |
APIClient().download(list[Metadata]) → list[Path]
Download files from the fetched metadata.
Parameters:
| name | type | default |
|---|---|---|
| metadata | list[RawMetadata] or list[ProductMetadata] |
|
| output_directory | PathLike or str |
Current directory |
| concurrency_limit | int |
5 |
| progress | bool or None |
None |
| validate_checksum | bool |
False |
There's also an asynchronous version of this function:
cloudnet_api_client.adownload. It's useful for usage inside Jupyter notebook.
License
MIT
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 cloudnet_api_client-0.12.1.tar.gz.
File metadata
- Download URL: cloudnet_api_client-0.12.1.tar.gz
- Upload date:
- Size: 315.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
881ea310470745826453aac78cf11b3efa212289a61b2fa3398307b9121207d2
|
|
| MD5 |
69981362558525e7cf1c38cc2dbc6d44
|
|
| BLAKE2b-256 |
276a16ced9385b5feb4fe58632d5827a645d62c3c280ebf027a9ca6b6e574c70
|
Provenance
The following attestation bundles were made for cloudnet_api_client-0.12.1.tar.gz:
Publisher:
publish.yml on actris-cloudnet/cloudnet-api-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cloudnet_api_client-0.12.1.tar.gz -
Subject digest:
881ea310470745826453aac78cf11b3efa212289a61b2fa3398307b9121207d2 - Sigstore transparency entry: 429813917
- Sigstore integration time:
-
Permalink:
actris-cloudnet/cloudnet-api-client@e9233477e10051df729010083f05323951b45d7d -
Branch / Tag:
refs/tags/v0.12.1 - Owner: https://github.com/actris-cloudnet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e9233477e10051df729010083f05323951b45d7d -
Trigger Event:
push
-
Statement type:
File details
Details for the file cloudnet_api_client-0.12.1-py3-none-any.whl.
File metadata
- Download URL: cloudnet_api_client-0.12.1-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5fd667bfeb15c303c16403fe74a31125a8704f98c2a75b0aaf27bb3498db37b
|
|
| MD5 |
8182f216461171e516e32e46dfdd6824
|
|
| BLAKE2b-256 |
2374bd7f7976562b340e13257967fbb8e9ba1602b26b39d0369ac6b8a9ac052b
|
Provenance
The following attestation bundles were made for cloudnet_api_client-0.12.1-py3-none-any.whl:
Publisher:
publish.yml on actris-cloudnet/cloudnet-api-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cloudnet_api_client-0.12.1-py3-none-any.whl -
Subject digest:
d5fd667bfeb15c303c16403fe74a31125a8704f98c2a75b0aaf27bb3498db37b - Sigstore transparency entry: 429813926
- Sigstore integration time:
-
Permalink:
actris-cloudnet/cloudnet-api-client@e9233477e10051df729010083f05323951b45d7d -
Branch / Tag:
refs/tags/v0.12.1 - Owner: https://github.com/actris-cloudnet
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e9233477e10051df729010083f05323951b45d7d -
Trigger Event:
push
-
Statement type: