caeli-data
The Python client of the Caeli data repository API (https://data.caeli.space). One door for every producer and reader of datasets: the inventory platform, pipelines and colleagues all use this library; nothing writes to the tables or the buckets directly.
pip install caeli-data # caeli-data[aws] also brings boto3, for Repository.from_secret
from caeli_data import Repository, TableRejected, IngestFailed
repo = Repository() # CAELI_API_URL (default https://data.caeli.space) and CAELI_API_KEY
repo.whoami() # {"name": "tim", "role": "admin", ...}
# a prepared Parquet file with any regions and months in it: split per partition region and month, every part loaded
jobs = repo.load_file("prepared.parquet", "cdse-sentinel-5p-l2-no2", software={"my-pipeline": "1.0"}, source_ref="download 4711")
print(jobs[0]["message"]) # "200000 rows appended in cdse_sentinel_5p_l2_no2, ... item N_EU__2026-09__v1 now ..."
# a pandas DataFrame straight in: columns ordered and cast to the registered schema, the helper column idx_month dropped
jobs = repo.load_dataframe(df, "cdse-sentinel-5p-l2-no2", software={"my-pipeline": "1.0"})
A complete month delivered again is a new version of that month: mode="replace", reason="re-import of 2026-09".
A service takes its key from Secrets Manager: Repository.from_secret("caeli/data-platform/api-key-inventory-platform").
The rules a table file must meet are in Caeli_data_repository_conventions (section 6); the library checks them before
uploading and says which rule a file breaks (TableRejected). IngestFailed means the platform failed; the same file
sent again is the same job, never a double load. Python 3.9 and later.
Rasters, the read side (catalogue, versions, downloads) and the command line follow in the next versions.
Metadata
Release files for caeli-data 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| caeli_data-0.2.0.tar.gz | 15.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| caeli_data-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.9 kB
Release files / caeli_data-0.2.0.tar.gz
| Download URL | caeli_data-0.2.0.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
38b6ee88f4b64545cf4c1b55ba91dbef7f6451e5318aaa751d8e66820500a78b
|
|
BLAKE2b-256 checksum How to use checksums |
f76711171c7d0e365ded962be6cdc6d5a4d898327693e08100c7a42c9a896235
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / caeli_data-0.2.0-py3-none-any.whl
| Download URL | caeli_data-0.2.0-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0fd730d97f331dd4684cc1feebe59cdce494d8ea66670b5b52c87b1167f28499
|
|
BLAKE2b-256 checksum How to use checksums |
d232ca275f5ad0419cc908e5bdaa426d289ad7df32132a5354ed26a5fe665b68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for caeli-data 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.