firecube 0.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- firecube/__init__.py +23 -0
- firecube/__main__.py +20 -0
- firecube/_version.py +46 -0
- firecube/cli/_audience.py +135 -0
- firecube/cli/_command_schemas.py +112 -0
- firecube/cli/_ctx.py +85 -0
- firecube/cli/_errors.py +115 -0
- firecube/cli/_formatter.py +195 -0
- firecube/cli/_product.py +47 -0
- firecube/cli/_rename_hints.py +123 -0
- firecube/cli/_shared_options.py +247 -0
- firecube/cli/_slot_env.py +102 -0
- firecube/cli/_slot_planning.py +95 -0
- firecube/cli/_typed_options.py +181 -0
- firecube/cli/_uri_policy.py +110 -0
- firecube/cli/advise.py +321 -0
- firecube/cli/archive.py +870 -0
- firecube/cli/catalog.py +196 -0
- firecube/cli/chunks/__init__.py +74 -0
- firecube/cli/chunks/_claims.py +229 -0
- firecube/cli/chunks/_common.py +84 -0
- firecube/cli/chunks/_delete.py +376 -0
- firecube/cli/chunks/_list.py +334 -0
- firecube/cli/chunks/_manager.py +161 -0
- firecube/cli/chunks/_runs.py +294 -0
- firecube/cli/chunks/_snapshots.py +165 -0
- firecube/cli/completion.py +73 -0
- firecube/cli/main.py +866 -0
- firecube/cli/parquet.py +289 -0
- firecube/cli/plugins/__init__.py +28 -0
- firecube/cli/plugins/commands.py +262 -0
- firecube/cli/plugins/introspect.py +304 -0
- firecube/cli/plugins/mgmt.py +198 -0
- firecube/cli/plugins/registry.py +132 -0
- firecube/cli/zarr.py +1043 -0
- firecube/core/__init__.py +14 -0
- firecube/core/api.py +88 -0
- firecube/core/cf/__init__.py +23 -0
- firecube/core/cf/check_ids.py +126 -0
- firecube/core/cf/report.py +57 -0
- firecube/core/cf/validator.py +313 -0
- firecube/core/config.py +307 -0
- firecube/core/controlplane/__init__.py +47 -0
- firecube/core/controlplane/_event_processor.py +136 -0
- firecube/core/controlplane/_helpers.py +114 -0
- firecube/core/controlplane/_projection.py +253 -0
- firecube/core/controlplane/_snapshot.py +215 -0
- firecube/core/controlplane/_wal_reader.py +402 -0
- firecube/core/controlplane/_wal_writer.py +589 -0
- firecube/core/controlplane/claims.py +294 -0
- firecube/core/controlplane/deletion.py +704 -0
- firecube/core/controlplane/events.py +219 -0
- firecube/core/controlplane/manager.py +990 -0
- firecube/core/controlplane/metrics.py +97 -0
- firecube/core/controlplane/repo.py +804 -0
- firecube/core/controlplane/repo_utils.py +73 -0
- firecube/core/controlplane/time_dim.py +111 -0
- firecube/core/controlplane/types.py +445 -0
- firecube/core/credentials.py +36 -0
- firecube/core/duckdb/__init__.py +27 -0
- firecube/core/duckdb/bridge.py +82 -0
- firecube/core/duckdb/io.py +30 -0
- firecube/core/errors.py +74 -0
- firecube/core/filesystem/__init__.py +60 -0
- firecube/core/filesystem/_obstore_compat.py +60 -0
- firecube/core/filesystem/fsspec_backend.py +308 -0
- firecube/core/filesystem/instrumentation.py +260 -0
- firecube/core/filesystem/obstore_backend.py +406 -0
- firecube/core/filesystem/ops.py +412 -0
- firecube/core/filesystem/protocol.py +130 -0
- firecube/core/filesystem/store_factory.py +149 -0
- firecube/core/formats/__init__.py +46 -0
- firecube/core/formats/_iso.py +84 -0
- firecube/core/formats/discovery.py +165 -0
- firecube/core/formats/hdf5.py +137 -0
- firecube/core/formats/netcdf.py +226 -0
- firecube/core/formats/zip.py +192 -0
- firecube/core/intake.py +530 -0
- firecube/core/observability/__init__.py +72 -0
- firecube/core/observability/_state.py +24 -0
- firecube/core/observability/logging.py +147 -0
- firecube/core/observability/metrics.py +230 -0
- firecube/core/observability/telemetry/__init__.py +87 -0
- firecube/core/observability/telemetry/pushgateway.py +339 -0
- firecube/core/observability/telemetry/sinks.py +155 -0
- firecube/core/observability/tracing.py +126 -0
- firecube/core/product/__init__.py +45 -0
- firecube/core/product/identity.py +76 -0
- firecube/core/product/resolver.py +121 -0
- firecube/core/product/target.py +120 -0
- firecube/core/runtime.py +187 -0
- firecube/core/slot_index.py +205 -0
- firecube/core/storage/__init__.py +45 -0
- firecube/core/storage/binding.py +39 -0
- firecube/core/storage/cache_key.py +40 -0
- firecube/core/storage/completion.py +245 -0
- firecube/core/storage/driver_config.py +125 -0
- firecube/core/storage/results.py +30 -0
- firecube/core/storage/session.py +431 -0
- firecube/core/storage/transfer.py +142 -0
- firecube/core/storage/uri.py +173 -0
- firecube/core/tensogram/__init__.py +37 -0
- firecube/core/tensogram/_compat.py +36 -0
- firecube/core/tensogram/controlplane_codec.py +230 -0
- firecube/core/tensogram/converter.py +390 -0
- firecube/core/tensogram/metadata.py +274 -0
- firecube/core/tensogram/restore.py +303 -0
- firecube/core/tensogram/schema.py +93 -0
- firecube/core/uris.py +182 -0
- firecube/core/workspaces.py +68 -0
- firecube/core/zarr/__init__.py +69 -0
- firecube/core/zarr/_reserved_attrs.py +47 -0
- firecube/core/zarr/_reserved_root_attrs.py +74 -0
- firecube/core/zarr/io.py +88 -0
- firecube/core/zarr/layers.py +184 -0
- firecube/core/zarr/multires.py +178 -0
- firecube/core/zarr/region_writer.py +782 -0
- firecube/core/zarr/scrub.py +200 -0
- firecube/core/zarr/state.py +258 -0
- firecube/core/zarr/time_decode.py +71 -0
- firecube/core/zarr/validation.py +622 -0
- firecube/ingestor/__init__.py +27 -0
- firecube/ingestor/api.py +215 -0
- firecube/ingestor/config/__init__.py +19 -0
- firecube/ingestor/config/coercion.py +157 -0
- firecube/ingestor/config/engine.py +188 -0
- firecube/ingestor/contracts/__init__.py +14 -0
- firecube/ingestor/contracts/interfaces.py +235 -0
- firecube/ingestor/devtools/_templates/__init__.py +14 -0
- firecube/ingestor/devtools/_templates/ingestor_base.py.tpl +72 -0
- firecube/ingestor/devtools/_templates/ingestor_direct_zarr.py.tpl +66 -0
- firecube/ingestor/devtools/_templates/ingestor_parquet.py.tpl +59 -0
- firecube/ingestor/devtools/_templates/ingestor_zarr.py.tpl +55 -0
- firecube/ingestor/devtools/_templates/readme.md.tpl +40 -0
- firecube/ingestor/devtools/scaffolding.py +229 -0
- firecube/ingestor/errors.py +79 -0
- firecube/ingestor/extensions/_binning.py +152 -0
- firecube/ingestor/extensions/duck.py +153 -0
- firecube/ingestor/extensions/grid.py +287 -0
- firecube/ingestor/extensions/healpix.py +330 -0
- firecube/ingestor/registry/__init__.py +14 -0
- firecube/ingestor/registry/loader.py +144 -0
- firecube/ingestor/registry/metadata.py +97 -0
- firecube/ingestor/registry/version_compat.py +95 -0
- firecube/ingestor/runtime/__init__.py +14 -0
- firecube/ingestor/runtime/aggregation.py +112 -0
- firecube/ingestor/runtime/base.py +836 -0
- firecube/ingestor/runtime/base_hooks.py +129 -0
- firecube/ingestor/runtime/batching.py +161 -0
- firecube/ingestor/runtime/configure.py +195 -0
- firecube/ingestor/runtime/coverage.py +177 -0
- firecube/ingestor/runtime/engine.py +793 -0
- firecube/ingestor/runtime/parallel_evidence.py +75 -0
- firecube/ingestor/runtime/parallel_execution_state.py +28 -0
- firecube/ingestor/runtime/parallel_gate.py +164 -0
- firecube/ingestor/runtime/parallel_run_id.py +48 -0
- firecube/ingestor/runtime/preflight.py +40 -0
- firecube/ingestor/runtime/recording.py +425 -0
- firecube/ingestor/runtime/resume_guard.py +556 -0
- firecube/ingestor/runtime/resume_types.py +65 -0
- firecube/ingestor/runtime/telemetry.py +171 -0
- firecube/ingestor/runtime/tensogram/__init__.py +14 -0
- firecube/ingestor/runtime/tensogram/strategy.py +164 -0
- firecube/ingestor/runtime/workspace.py +220 -0
- firecube/ingestor/runtime/zarr/__init__.py +34 -0
- firecube/ingestor/runtime/zarr/append.py +466 -0
- firecube/ingestor/runtime/zarr/append_services.py +650 -0
- firecube/ingestor/runtime/zarr/batch_runner.py +190 -0
- firecube/ingestor/runtime/zarr/contracts.py +58 -0
- firecube/ingestor/runtime/zarr/existing_cube_check.py +282 -0
- firecube/ingestor/runtime/zarr/resume_cache.py +92 -0
- firecube/ingestor/runtime/zarr/staged_metadata.py +249 -0
- firecube/ingestor/runtime/zarr/strategies/__init__.py +15 -0
- firecube/ingestor/runtime/zarr/strategies/append.py +172 -0
- firecube/ingestor/runtime/zarr/strategies/indexed_region.py +426 -0
- firecube/ingestor/runtime/zarr/write.py +212 -0
- firecube/ingestor/runtime/zarr/write_context.py +139 -0
- firecube/ingestor/templates/__init__.py +19 -0
- firecube/ingestor/templates/config.py +118 -0
- firecube/ingestor/templates/direct_zarr.py +790 -0
- firecube/ingestor/templates/generic.py +462 -0
- firecube/ingestor/templates/generic_tensogram.py +170 -0
- firecube/ingestor/types/__init__.py +19 -0
- firecube/ingestor/types/config.py +89 -0
- firecube/ingestor/types/context.py +409 -0
- firecube/ingestor/types/manifest.py +53 -0
- firecube/ingestor/types/planned_range.py +152 -0
- firecube/ingestor/types/result_metrics.py +386 -0
- firecube/ingestor/utils/__init__.py +14 -0
- firecube/ingestor/utils/duckdb_utils.py +235 -0
- firecube/ingestor/validation.py +55 -0
- firecube-0.1.4.dist-info/METADATA +242 -0
- firecube-0.1.4.dist-info/RECORD +197 -0
- firecube-0.1.4.dist-info/WHEEL +4 -0
- firecube-0.1.4.dist-info/entry_points.txt +2 -0
- firecube-0.1.4.dist-info/licenses/AUTHORS.md +5 -0
- firecube-0.1.4.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: firecube
|
|
3
|
+
Version: 0.1.4
|
|
4
|
+
Summary: Ingestion API for EO datasets
|
|
5
|
+
Author-email: Armagan Karatosun <armagan.karatosun@eumetsat.int>, Anna-Lena Erdmann <anna-lena.erdmann@eumetsat.int>, Carlos Horn <carlos.horn@eumetsat.int>
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
License-File: AUTHORS.md
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Requires-Python: >=3.12
|
|
10
|
+
Requires-Dist: botocore[crt]>=1.42.19
|
|
11
|
+
Requires-Dist: dask[array]>=2025.1.0
|
|
12
|
+
Requires-Dist: duckdb>=1.4.1
|
|
13
|
+
Requires-Dist: fsspec>=2025.9.0
|
|
14
|
+
Requires-Dist: h5netcdf>=1.4.2
|
|
15
|
+
Requires-Dist: h5py>=3.11.0
|
|
16
|
+
Requires-Dist: netcdf4>=1.7.1.post2
|
|
17
|
+
Requires-Dist: numpy>=2.3.3
|
|
18
|
+
Requires-Dist: opentelemetry-exporter-otlp>=1.37.0
|
|
19
|
+
Requires-Dist: opentelemetry-sdk>=1.37.0
|
|
20
|
+
Requires-Dist: pandas>=2.3.3
|
|
21
|
+
Requires-Dist: prometheus-client>=0.23.1
|
|
22
|
+
Requires-Dist: psutil>=7.1.0
|
|
23
|
+
Requires-Dist: pyarrow>=16.1.0
|
|
24
|
+
Requires-Dist: s3fs>=2025.9.0
|
|
25
|
+
Requires-Dist: xarray>=2025.10.1
|
|
26
|
+
Requires-Dist: zarr>=3.1.3
|
|
27
|
+
Provides-Extra: healpix
|
|
28
|
+
Requires-Dist: healpix-geo>=0.1.2; extra == 'healpix'
|
|
29
|
+
Provides-Extra: obstore
|
|
30
|
+
Requires-Dist: obstore>=0.4.0; extra == 'obstore'
|
|
31
|
+
Provides-Extra: tensogram
|
|
32
|
+
Requires-Dist: tensogram-xarray<0.23,>=0.22.0; extra == 'tensogram'
|
|
33
|
+
Requires-Dist: tensogram-zarr<0.23,>=0.22.0; extra == 'tensogram'
|
|
34
|
+
Requires-Dist: tensogram<0.23,>=0.22.0; extra == 'tensogram'
|
|
35
|
+
Provides-Extra: test
|
|
36
|
+
Requires-Dist: healpix-geo>=0.1.2; extra == 'test'
|
|
37
|
+
Requires-Dist: moto[s3,server]>=5.0.0; extra == 'test'
|
|
38
|
+
Requires-Dist: obstore>=0.4.0; extra == 'test'
|
|
39
|
+
Requires-Dist: tensogram-xarray<0.23,>=0.22.0; extra == 'test'
|
|
40
|
+
Requires-Dist: tensogram-zarr<0.23,>=0.22.0; extra == 'test'
|
|
41
|
+
Requires-Dist: tensogram<0.23,>=0.22.0; extra == 'test'
|
|
42
|
+
Provides-Extra: virtualzarr
|
|
43
|
+
Requires-Dist: virtualizarr<3,>=2.7.0; extra == 'virtualzarr'
|
|
44
|
+
Description-Content-Type: text/markdown
|
|
45
|
+
|
|
46
|
+
<p align="center">
|
|
47
|
+
<img src="docs/assets/firecube-logo-title.png" alt="Firecube Logo" width="165">
|
|
48
|
+
</p>
|
|
49
|
+
|
|
50
|
+
<p align="center">
|
|
51
|
+
<strong>Plugin-driven CLI for turning Earth Observation products into analysis-ready datacubes</strong>
|
|
52
|
+
</p>
|
|
53
|
+
|
|
54
|
+
<p align="center">
|
|
55
|
+
<a href="docs/index.md">Documentation</a> |
|
|
56
|
+
<a href="docs/quickstart/index.md">Quickstart</a> |
|
|
57
|
+
<a href="docs/concepts/plugins/create-a-plugin.md">Create a Plugin</a> |
|
|
58
|
+
<a href="docs/tutorials/weather-csv.md">Plugin Tutorial</a>
|
|
59
|
+
</p>
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## Installation
|
|
63
|
+
|
|
64
|
+
Firecube requires **Python 3.12+**. We recommend using `uv` for lightning-fast dependency management and isolated environments.
|
|
65
|
+
|
|
66
|
+
### 1. Clone the Repository
|
|
67
|
+
|
|
68
|
+
Clone the core Firecube ingestor repository:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
git clone https://github.com/eumetsat/firecube.git
|
|
72
|
+
cd firecube
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 2. Setup Environment
|
|
76
|
+
|
|
77
|
+
Use `uv` to install dependencies and prepare the virtual environment:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
uv venv --python 3.12
|
|
81
|
+
uv sync
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### 3. Verify CLI
|
|
85
|
+
|
|
86
|
+
Confirm the installation by checking the version:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
uv run firecube --version
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Use A Plugin
|
|
93
|
+
|
|
94
|
+
Install an external plugin using the package name or local checkout documented
|
|
95
|
+
by that plugin:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
uv run firecube plugins install <plugin-package>
|
|
99
|
+
uv run firecube plugins list
|
|
100
|
+
uv run firecube plugins describe <plugin>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Then follow the plugin documentation for its source data and options. Firecube
|
|
104
|
+
ingest commands always require explicit product flags; storage settings are
|
|
105
|
+
inferred from the URI scheme by default:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
uv run firecube ingest <plugin> \
|
|
109
|
+
--input-data file://${PWD}/source-data \
|
|
110
|
+
--target "file://${PWD}/my_product.zarr" \
|
|
111
|
+
--product-name my_product \
|
|
112
|
+
--output-format zarr \
|
|
113
|
+
--write-mode direct
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# explicit storage override if needed
|
|
118
|
+
uv run firecube ingest <plugin> \
|
|
119
|
+
--input-data file://${PWD}/source-data \
|
|
120
|
+
--target "file://${PWD}/my_product.zarr" \
|
|
121
|
+
--product-name my_product \
|
|
122
|
+
--storage-type local \
|
|
123
|
+
--storage-driver obstore \
|
|
124
|
+
--output-format zarr \
|
|
125
|
+
--write-mode direct
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
For the full first-run path, use the
|
|
129
|
+
[Quickstart](docs/quickstart/index.md).
|
|
130
|
+
|
|
131
|
+
## Documentation
|
|
132
|
+
|
|
133
|
+
- [Installation](docs/quickstart/installation.md)
|
|
134
|
+
- [Plugin setup](docs/quickstart/plugins.md)
|
|
135
|
+
- [Run ingestion](docs/quickstart/ingestion.md)
|
|
136
|
+
- [Configuration](docs/quickstart/configuration.md)
|
|
137
|
+
- [CLI reference](docs/reference/cli.md)
|
|
138
|
+
|
|
139
|
+
Build or serve the docs locally:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
uv sync --group docs
|
|
143
|
+
uv run mkdocs serve
|
|
144
|
+
uv run mkdocs build
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Development
|
|
148
|
+
|
|
149
|
+
Install test extras and run the main local gate:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
uv sync --extra test
|
|
153
|
+
uv run pytest --strict-deps -m "not slow and not s3"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Software Bill Of Materials
|
|
157
|
+
|
|
158
|
+
Regenerate the CycloneDX 1.5 SBOM and the dependency-license report locally with:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
mkdir -p reports
|
|
162
|
+
uv export --format cyclonedx1.5 --all-groups --all-extras --output-file reports/sbom.cdx.json
|
|
163
|
+
uv run --isolated --all-groups --all-extras --with hatchling --with pip-licenses pip-licenses --format=json --with-urls > reports/dependency-licenses.json
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
The SBOM covers all uv dependency groups and extras. Use the dependency license
|
|
167
|
+
report and package metadata for license review; do not rely on CycloneDX license
|
|
168
|
+
fields alone.
|
|
169
|
+
|
|
170
|
+
Included third-party components: none declared.
|
|
171
|
+
|
|
172
|
+
### Direct Runtime And Optional Dependencies
|
|
173
|
+
|
|
174
|
+
The following dependencies are not included in the package but are required or
|
|
175
|
+
available as optional runtime extras:
|
|
176
|
+
|
|
177
|
+
| dependency | version | license | copyright | home_url | comments |
|
|
178
|
+
| --- | --- | --- | --- | --- | --- |
|
|
179
|
+
| `duckdb` | 1.5.4 | MIT | | https://github.com/duckdb/duckdb-python | Direct dependency. |
|
|
180
|
+
| `pandas` | 3.0.3 | BSD-3-Clause | | https://pandas.pydata.org | Direct dependency. |
|
|
181
|
+
| `numpy` | 2.5.0 | BSD-3-Clause | | https://numpy.org | Direct dependency. |
|
|
182
|
+
| `pyarrow` | 24.0.0 | Apache-2.0 | | https://arrow.apache.org/ | Direct dependency. |
|
|
183
|
+
| `xarray` | 2026.4.0 | Apache-2.0 | | https://xarray.dev/ | Direct dependency. |
|
|
184
|
+
| `zarr` | 3.2.1 | MIT | | https://github.com/zarr-developers/zarr-python | Direct dependency. |
|
|
185
|
+
| `psutil` | 7.2.2 | BSD-3-Clause | | https://github.com/giampaolo/psutil | Direct dependency. |
|
|
186
|
+
| `fsspec` | 2026.6.0 | BSD-3-Clause | | https://github.com/fsspec/filesystem_spec | Direct dependency. |
|
|
187
|
+
| `s3fs` | 2026.6.0 | BSD-3-Clause | | http://github.com/fsspec/s3fs/ | Direct dependency. |
|
|
188
|
+
| `botocore` | 1.43.0 | Apache-2.0 | | https://github.com/boto/botocore | Direct dependency. |
|
|
189
|
+
| `netcdf4` | 1.7.4 | MIT | | https://github.com/Unidata/netcdf4-python | Direct dependency. |
|
|
190
|
+
| `h5netcdf` | 1.8.1 | BSD-3-Clause | | https://h5netcdf.org | Direct dependency. |
|
|
191
|
+
| `h5py` | 3.16.0 | BSD-3-Clause | | https://www.h5py.org/ | Direct dependency. |
|
|
192
|
+
| `dask` | 2026.6.0 | BSD-3-Clause | | https://github.com/dask/dask/ | Direct dependency. |
|
|
193
|
+
| `prometheus-client` | 0.25.0 | Apache-2.0 | | https://github.com/prometheus/client_python | Direct dependency. |
|
|
194
|
+
| `opentelemetry-sdk` | 1.43.0 | Apache-2.0 | | https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-sdk | Direct dependency. |
|
|
195
|
+
| `opentelemetry-exporter-otlp` | 1.43.0 | Apache-2.0 | | https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp | Direct dependency. |
|
|
196
|
+
| `obstore` | 0.11.0 | MIT | | https://developmentseed.org/obstore | Direct optional `obstore` extra dependency. |
|
|
197
|
+
| `tensogram` | 0.22.0 | Apache-2.0 | | https://sites.ecmwf.int/docs/tensogram/main | Direct optional `tensogram` extra dependency. |
|
|
198
|
+
| `tensogram-xarray` | 0.22.0 | Apache-2.0 | | https://sites.ecmwf.int/docs/tensogram/main | Direct optional `tensogram` extra dependency. |
|
|
199
|
+
| `tensogram-zarr` | 0.22.0 | Apache-2.0 | | https://sites.ecmwf.int/docs/tensogram/main | Direct optional `tensogram` extra dependency. |
|
|
200
|
+
| `healpix-geo` | 0.1.2 | Apache-2.0 | | https://pypi.org/project/healpix-geo/ | Direct optional `healpix` extra dependency. |
|
|
201
|
+
| `virtualizarr` | 2.7.0 | Apache-2.0 | | https://github.com/zarr-developers/VirtualiZarr | Direct optional `virtualzarr` extra dependency. |
|
|
202
|
+
|
|
203
|
+
### Direct Build, Edit, And Test Dependencies
|
|
204
|
+
|
|
205
|
+
The following dependencies are only required for building, editing,
|
|
206
|
+
documentation, or testing:
|
|
207
|
+
|
|
208
|
+
| dependency | version | sw type | license | copyright | home_url | comments |
|
|
209
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
210
|
+
| `hatchling` | 1.30.1 | Development tools | MIT | | https://hatch.pypa.io/latest/ | Build backend dependency. |
|
|
211
|
+
| `tensogram` | 0.22.0 | Development tools | Apache-2.0 | | https://sites.ecmwf.int/docs/tensogram/main | Direct optional `test` extra dependency. |
|
|
212
|
+
| `tensogram-xarray` | 0.22.0 | Development tools | Apache-2.0 | | https://sites.ecmwf.int/docs/tensogram/main | Direct optional `test` extra dependency. |
|
|
213
|
+
| `tensogram-zarr` | 0.22.0 | Development tools | Apache-2.0 | | https://sites.ecmwf.int/docs/tensogram/main | Direct optional `test` extra dependency. |
|
|
214
|
+
| `obstore` | 0.11.0 | Development tools | MIT | | https://developmentseed.org/obstore | Direct optional `test` extra dependency. |
|
|
215
|
+
| `healpix-geo` | 0.1.2 | Development tools | Apache-2.0 | | https://pypi.org/project/healpix-geo/ | Direct optional `test` extra dependency. |
|
|
216
|
+
| `moto` | 5.2.2 | Development tools | Apache-2.0 | | https://github.com/getmoto/moto | Direct optional `test` extra dependency. |
|
|
217
|
+
| `pytest` | 9.1.1 | Development tools | MIT | | https://docs.pytest.org/en/latest/ | Direct `dev` dependency group entry. |
|
|
218
|
+
| `ruff` | 0.15.20 | Development tools | MIT | | https://docs.astral.sh/ruff | Direct `dev` dependency group entry. |
|
|
219
|
+
| `pytest-cov` | 7.1.0 | Development tools | MIT | | https://pytest-cov.readthedocs.io/en/latest/changelog.html | Direct `dev` dependency group entry. |
|
|
220
|
+
| `pytest-xdist` | 3.8.0 | Development tools | MIT | | https://github.com/pytest-dev/pytest-xdist | Direct `dev` dependency group entry. |
|
|
221
|
+
| `pytest-mock` | 3.15.1 | Development tools | MIT | | https://github.com/pytest-dev/pytest-mock/ | Direct `dev` dependency group entry. |
|
|
222
|
+
| `pytest-asyncio` | 1.4.0 | Development tools | Apache-2.0 | | https://github.com/pytest-dev/pytest-asyncio | Direct `dev` dependency group entry. |
|
|
223
|
+
| `pyright` | 1.1.411 | Development tools | MIT | | https://github.com/RobertCraigie/pyright-python | Direct `dev` dependency group entry. |
|
|
224
|
+
| `mkdocs` | 1.6.1 | Development tools | BSD-2-Clause | | https://github.com/mkdocs/mkdocs | Direct `docs` dependency group entry. |
|
|
225
|
+
| `mkdocs-material` | 9.7.6 | Development tools | MIT | | https://github.com/squidfunk/mkdocs-material | Direct `docs` dependency group entry. |
|
|
226
|
+
| `mkdocstrings` | 1.0.4 | Development tools | ISC | | https://mkdocstrings.github.io | Direct `docs` dependency group entry. |
|
|
227
|
+
| `mkdocs-mermaid2-plugin` | 1.2.3 | Development tools | MIT | | https://github.com/fralau/mkdocs-mermaid2-plugin | Direct `docs` dependency group entry. |
|
|
228
|
+
| `mkdocs-click` | 0.9.0 | Development tools | Apache-2.0 | | https://github.com/mkdocs/mkdocs-click | Direct `docs` dependency group entry. |
|
|
229
|
+
| `mkdocs-macros-plugin` | 1.5.0 | Development tools | MIT | | https://github.com/fralau/mkdocs_macros_plugin | Direct `docs` dependency group entry. |
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
## Copyright and License
|
|
233
|
+
|
|
234
|
+
Copyright © EUMETSAT 2025-2026
|
|
235
|
+
|
|
236
|
+
The provided code and instructions are licensed under [Apache License, Version 2.0](./LICENSE).
|
|
237
|
+
|
|
238
|
+
Contact [EUMETSAT](http://www.eumetsat.int) for details on the usage and distribution terms.
|
|
239
|
+
|
|
240
|
+
## Authors
|
|
241
|
+
|
|
242
|
+
See [AUTHORS.md](./AUTHORS.md).
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
firecube/__init__.py,sha256=9t7YgTkLLkw9ZwWh6Z7Gw-fIAe8K_-JZrn6lkiDPkP8,727
|
|
2
|
+
firecube/__main__.py,sha256=ofc5HR6wkdwPXSvGJzMTlwPPJ0yVm4NSv0mDpoTLrHY,682
|
|
3
|
+
firecube/_version.py,sha256=sPwiKzO9U-3l3AjOWJlm5T1oDBZTfQfU4JXdYXe_M3U,1486
|
|
4
|
+
firecube/cli/_audience.py,sha256=EYtFin7pnc9AjpNadp2FqB6xyTVydSleYXjjo1gtO-4,3632
|
|
5
|
+
firecube/cli/_command_schemas.py,sha256=YdvO1ig9aumIDd6N6V1KTilWwIWcTUbr_glUDOfarBQ,4472
|
|
6
|
+
firecube/cli/_ctx.py,sha256=W8l5yJ5FItRZg55HYIBn_dWIduOEUQ07P-nJxx0_oeU,2977
|
|
7
|
+
firecube/cli/_errors.py,sha256=UefBJQ-ZIfkrwMuAy9p3MUbgIMGH4qqDuY9vWJBoiwY,4157
|
|
8
|
+
firecube/cli/_formatter.py,sha256=_cud3F87Q-11qw0aA3vuavkiA28EaGOrWwr1IxnUsnI,6710
|
|
9
|
+
firecube/cli/_product.py,sha256=_emLS6fF-9e5xXL388cR70CRriN2bhMH65gaJMFNnWM,1654
|
|
10
|
+
firecube/cli/_rename_hints.py,sha256=sSwdQ2Q5jD6aoqsCsW_HJLGehNIOxst4IbwvT44A99k,4760
|
|
11
|
+
firecube/cli/_shared_options.py,sha256=70ODdtapMDOpvOpaXR7a28o4M_Q8ZMGOvW2Va95mouc,6657
|
|
12
|
+
firecube/cli/_slot_env.py,sha256=Jy2gNt2C7RoOAgAC0f0V3VeASnlX1mKHWANAuviOKwU,3479
|
|
13
|
+
firecube/cli/_slot_planning.py,sha256=IvqwSijVNU3JtcdBS3riPbOaCjCOZhqUtnutLk6PaNg,3655
|
|
14
|
+
firecube/cli/_typed_options.py,sha256=O3oqM3eembUzcpWu_9oKx5nJHygDX2VYvxZt7xXYgZ4,6249
|
|
15
|
+
firecube/cli/_uri_policy.py,sha256=yK6lQ59eJwacIDztm-DARoMvBhz24x9U1XxeOM-LkLQ,3931
|
|
16
|
+
firecube/cli/advise.py,sha256=0i3fQS4hgWJ9EcutzPpNr8V4lqQ6YJa0ZEuJy16GjWQ,10503
|
|
17
|
+
firecube/cli/archive.py,sha256=MPZBFiSejWN4mNftr23YypE-WUyvkaqbEy6ch29VnC4,31555
|
|
18
|
+
firecube/cli/catalog.py,sha256=FO5xN9-1QfI932AIcmf3VP_4T9SH322iYTJelNd8Vro,6795
|
|
19
|
+
firecube/cli/completion.py,sha256=_OoLlmJFatBJwhuZCv0UX9QsaJAokbrfFLOkN7HlB90,2348
|
|
20
|
+
firecube/cli/main.py,sha256=PQO3x_GRQ-1Y24XC_EIDBJhO4xVoza6GxJFYi4QVAzM,28155
|
|
21
|
+
firecube/cli/parquet.py,sha256=U3cI7RW0oQYq4bDNBAQLB420DnepOlnNQDSGeNDlsfc,9031
|
|
22
|
+
firecube/cli/zarr.py,sha256=_6g49WB7hkOfL7Iame6dqhw0PySYw64Bnef0b_hwW2o,37628
|
|
23
|
+
firecube/cli/chunks/__init__.py,sha256=aFLFWv0P3kTL4iI5ByzsjaM7C4NVK9PPH5ZdyyAOWSg,2151
|
|
24
|
+
firecube/cli/chunks/_claims.py,sha256=KKB3uLRZIZh1wfT1ABi1rruw645bLMY9cBkXYnQonJs,7776
|
|
25
|
+
firecube/cli/chunks/_common.py,sha256=kFo83onVhqM1I26NUz_RJ03aV0gTvMlHI3dATHoSrCw,3079
|
|
26
|
+
firecube/cli/chunks/_delete.py,sha256=jVhWkAqUJTELpFdvc3lyHCUCKxEr_PL1QGL0cRW90sQ,12988
|
|
27
|
+
firecube/cli/chunks/_list.py,sha256=V4P-XzYJKPr-_I02T-4Oy2E5s2vMmMZ57ZBCTJa8Fds,11119
|
|
28
|
+
firecube/cli/chunks/_manager.py,sha256=3i48waOGhQwCkP0dM5hKCF9tG2Hx2r1qhjXSLFzJhsI,6054
|
|
29
|
+
firecube/cli/chunks/_runs.py,sha256=RxlGh7ZN0vyk_urGj82H2X7COYTxfdgWdHwuzxbIbA8,9664
|
|
30
|
+
firecube/cli/chunks/_snapshots.py,sha256=5NC46pOXsgcA-ZTV0_Ll6uNN4jHSr_CPRBvusnR2HUU,4841
|
|
31
|
+
firecube/cli/plugins/__init__.py,sha256=HPFTXK-2OTkDyXVVVFiTN7sHBL8Mwpq8n2WMaVKdDss,952
|
|
32
|
+
firecube/cli/plugins/commands.py,sha256=MQTz8hJQXdBAnYZquru7MPEUo9qx04N-5-0faiNEayg,8623
|
|
33
|
+
firecube/cli/plugins/introspect.py,sha256=0X6kv3WyA0IN6uU7UWapSWDnxJ-Oyl_DiZ2Eqieu3mQ,9645
|
|
34
|
+
firecube/cli/plugins/mgmt.py,sha256=sHrla5bxvmubYD3_uBWvZsHePObngb6QEFRacLdMUqQ,6485
|
|
35
|
+
firecube/cli/plugins/registry.py,sha256=ZHMiIYjnEVq10Ujc4w_5oqagEOspbQt6xi7vcKEBvm4,4059
|
|
36
|
+
firecube/core/__init__.py,sha256=LJ2j8aVO3353g7rctHlVTLadg6FH2XSgj4cC5eioan0,578
|
|
37
|
+
firecube/core/api.py,sha256=IUHQFhP8Qxc8SHFp11tR_Nqvbs5JeobGoF2RehpBVXQ,2604
|
|
38
|
+
firecube/core/config.py,sha256=4OLf6Aj36fpTW89ceMEXnsDhXiBX573r4Ndlod2l894,10844
|
|
39
|
+
firecube/core/credentials.py,sha256=6oYO9K03JUQ4IKpTn6UB9ejyqlBpNl1xzP3cT3xSuWo,1470
|
|
40
|
+
firecube/core/errors.py,sha256=HkbEKREFI7FvMGtVfZpV7wU2EJgg5vO9zqXY5TX0jl4,2616
|
|
41
|
+
firecube/core/intake.py,sha256=g6GOmHxFOGkJNlxtdCdfNqa04xF0uVsg-BM5qfBWMVg,17699
|
|
42
|
+
firecube/core/runtime.py,sha256=imSyJ8W9F8ZCVdzDz0CKhZBw7ycF2c2dqud9WTiQlfE,6800
|
|
43
|
+
firecube/core/slot_index.py,sha256=iar0ie7mpKkfrNvq45iwSDOQbxQNyfuMNkt47hZ3-Ys,7606
|
|
44
|
+
firecube/core/uris.py,sha256=G8E-RJPY0-Zuy9kNxy7YgBW45VJQCRwfKPvm7mfreDU,6426
|
|
45
|
+
firecube/core/workspaces.py,sha256=GJfNzZi6sW92serO76Zlf25fw2Tl-GnM6uTaRj9xEig,2239
|
|
46
|
+
firecube/core/cf/__init__.py,sha256=2EUrtqn40IVhdHSTfhvLvVl-f8D7oPkeDbAOmUNlWbI,890
|
|
47
|
+
firecube/core/cf/check_ids.py,sha256=r5MoTSNDbVoLoPIXTQmjWegeMIohpKEL6K0idkeOtEc,3854
|
|
48
|
+
firecube/core/cf/report.py,sha256=c6qI_7o_8gjG2SaePzAaNxee3Ybl_wy8srEckrzHdE4,1539
|
|
49
|
+
firecube/core/cf/validator.py,sha256=qlkTdrvxmQ7ZqE5B0_X-Au5XLtlV6p3HT_PhnCwgBe4,9808
|
|
50
|
+
firecube/core/controlplane/__init__.py,sha256=ehXdKH0VdC6buI9PUhVnEz_4TtyA_UU38umArB5khzo,1399
|
|
51
|
+
firecube/core/controlplane/_event_processor.py,sha256=tM2CPE8g04kfgYUbZ3XJdviY8nCjOnJjpL2IlwjZJ40,5546
|
|
52
|
+
firecube/core/controlplane/_helpers.py,sha256=R3mbWqV-zfDsZoftzH-IPsOw9Cqzh9LVgRlH7S295cc,4168
|
|
53
|
+
firecube/core/controlplane/_projection.py,sha256=wks9KWpgW73CXgipE7ZsqldDCf5fr9eJzpPb6ZHipNA,10662
|
|
54
|
+
firecube/core/controlplane/_snapshot.py,sha256=BUk_wGN-J7kFoulPZxpZe0fqtOJhMyQgMfg3oMWjXWg,9124
|
|
55
|
+
firecube/core/controlplane/_wal_reader.py,sha256=Wei_VaJCR-63ZFdQjBPuYMRvAMKvSBjznsNJYmBJpLU,15588
|
|
56
|
+
firecube/core/controlplane/_wal_writer.py,sha256=3BFmGNIdkx0po9TJrajvaDfyH3Ay5fMaV2Bxz5HPqWU,19614
|
|
57
|
+
firecube/core/controlplane/claims.py,sha256=xGawhgV8pN6yAda4beac-KGGb6XpdSuSRjeo2QaGOc4,11956
|
|
58
|
+
firecube/core/controlplane/deletion.py,sha256=J9IC9MN7GnLIVc7MH06hp2rgry-PJtSu6wI2j6fZ0EY,26885
|
|
59
|
+
firecube/core/controlplane/events.py,sha256=eWKFyjDX9XckHWpNHbkS8v9zWNPnCOD_PDOGcTPnJIA,8424
|
|
60
|
+
firecube/core/controlplane/manager.py,sha256=uqup8L0oK9coCvTpWefN7u4A7yeBX3NBG9dXXdqrk7A,38475
|
|
61
|
+
firecube/core/controlplane/metrics.py,sha256=vW_Wa-amDvVbw9T0UgS5xxXT_UPHuizPL6Xe2H9rTGI,3054
|
|
62
|
+
firecube/core/controlplane/repo.py,sha256=U3Hu_NDhqdqfiD2h3QRCF28CjBkB5mVGLJ96XXJFQio,30025
|
|
63
|
+
firecube/core/controlplane/repo_utils.py,sha256=gK8bv6cggIOlwa8etpM7QWoP9owdfUpUUU6zA9GWU5w,2448
|
|
64
|
+
firecube/core/controlplane/time_dim.py,sha256=0DjfcJSRPUNWCYPvPgnUi5bSXrhOt4Y460s-UJ_A_8c,4573
|
|
65
|
+
firecube/core/controlplane/types.py,sha256=-RI3fTmKqaSSVlwIc4FaZ_K4X_r1ww7XfuLyPvswITE,14469
|
|
66
|
+
firecube/core/duckdb/__init__.py,sha256=PpGHKmEVVc72JNMMqhxpd6JeMvzGRNDqzTFH-Gx5nX4,929
|
|
67
|
+
firecube/core/duckdb/bridge.py,sha256=kO5cTbyXNqA7nQKEepXt3caPxXqCmxorQwk4FFGIgzo,3016
|
|
68
|
+
firecube/core/duckdb/io.py,sha256=tPnGTEKYCtoZcLAQBvh1FHIK0Inz4u52xfgTnBlQoDU,1052
|
|
69
|
+
firecube/core/filesystem/__init__.py,sha256=sbOphYT0TRotY4pVNnRDsEDQDe-Wa-3WHS0ycKCtx3E,1713
|
|
70
|
+
firecube/core/filesystem/_obstore_compat.py,sha256=rRDQUR5k030pBZCGCZSd_0PCAw2qxajpoh0mYM_2dYA,1979
|
|
71
|
+
firecube/core/filesystem/fsspec_backend.py,sha256=AsckMfZbzRSO9u8E7rlVGjClgB8l5y_4NoSLVPmLJsA,12247
|
|
72
|
+
firecube/core/filesystem/instrumentation.py,sha256=FMDYoLuCXnbBOkMW5jzjdqPhnuRb36vn3WPp11judQ0,8533
|
|
73
|
+
firecube/core/filesystem/obstore_backend.py,sha256=v938z2mDOYWumoyRQ3J2x30GCbGsQuHM2hs1psjPENM,15048
|
|
74
|
+
firecube/core/filesystem/ops.py,sha256=T68BI9GyJbTsrYc-Jt9tlUHUJM0taN6kNC7QMJoQ5mI,13999
|
|
75
|
+
firecube/core/filesystem/protocol.py,sha256=p9aAqPtIe0qyE5VB-oWEh_iFF_vouTpd10vAurfCQiE,4272
|
|
76
|
+
firecube/core/filesystem/store_factory.py,sha256=2zRR0wVHmIAmFXXtENNJG2RQRYd7dDcS3hQY8gg5pQI,5175
|
|
77
|
+
firecube/core/formats/__init__.py,sha256=oV_F3Xp96Ijsj_5rBhawpjzzYUlFmmEqTHECMucuYhM,1471
|
|
78
|
+
firecube/core/formats/_iso.py,sha256=MhgQrXd85i7YfsGaazEvSa_6x8OY2GBtECptvAoD7as,2986
|
|
79
|
+
firecube/core/formats/discovery.py,sha256=iwvKKJjTdjkv1IPysZrEMHlppafVKx4IA1ouqj8bbM4,5811
|
|
80
|
+
firecube/core/formats/hdf5.py,sha256=BusXemCOyo0lmX7n3KC0yj48FGZzduslQephh02M0YA,4465
|
|
81
|
+
firecube/core/formats/netcdf.py,sha256=XYNF4ps5FHrX3eYTc-GyaRz-X1QiTpuAloJA48bbw_g,9123
|
|
82
|
+
firecube/core/formats/zip.py,sha256=jgj_D6IMWX0Jf5NmS0ZiheDS3f32ylA0Yi7kx_rbdC4,7297
|
|
83
|
+
firecube/core/observability/__init__.py,sha256=BJXyh1ASqVpcmLlE9CR1FWrJ78JoruhCMVq8sct3rPI,2237
|
|
84
|
+
firecube/core/observability/_state.py,sha256=1PRH6xJeNRel8kTBgVouPbMmCrxIpRzl0eTmvMvLrlM,776
|
|
85
|
+
firecube/core/observability/logging.py,sha256=zT0tNvX2gJeWUcjWUhLcXuVMI2z14XMttXABy4EAXXk,5468
|
|
86
|
+
firecube/core/observability/metrics.py,sha256=zJlnzpFzNDZaRvn8V3ByX3mXaIP9dgLWoHmcwTlFRsg,10434
|
|
87
|
+
firecube/core/observability/tracing.py,sha256=wI5rVNQjyIcv5zWTY4BoBO_ktY5vfpIBEhRq5vp8u9g,4452
|
|
88
|
+
firecube/core/observability/telemetry/__init__.py,sha256=T3nIxeyQoECug7xfddEfMun4HQrcov4uxRw09KmThGI,2566
|
|
89
|
+
firecube/core/observability/telemetry/pushgateway.py,sha256=RyQnkzyGbFWAQA9dcFgG_L-6UF2QS6XEX7BF7eno0Ek,11688
|
|
90
|
+
firecube/core/observability/telemetry/sinks.py,sha256=87IiO1gv7Tc_5ig1dNCEaVMVaUQ52quMjbqh5dzenSU,4201
|
|
91
|
+
firecube/core/product/__init__.py,sha256=KbKWAUn8hTZ34bMrN9i5rdezakhY95vN54GZeFgRSU8,1305
|
|
92
|
+
firecube/core/product/identity.py,sha256=PFFcf8if8owREjEaWB0wqraxWFmOcdZc0SdQpqU4vZ0,2543
|
|
93
|
+
firecube/core/product/resolver.py,sha256=5ErPrw2jeMxliAILOL3211fpbndaPgzFi4KhvU10lR0,3953
|
|
94
|
+
firecube/core/product/target.py,sha256=6exK87yG84khBhr2gPYuqaAZxfN0yC6MqfojqeSfuso,4289
|
|
95
|
+
firecube/core/storage/__init__.py,sha256=e8xyiEWqM_kEv1VIGvTzibuCV5teQu7ohZjJQbblPDM,1493
|
|
96
|
+
firecube/core/storage/binding.py,sha256=BXWzE7xOoO5x1axLqrKQFzPZcPHelEpCz6xZG0IOcqo,1272
|
|
97
|
+
firecube/core/storage/cache_key.py,sha256=zTbNXYba1kt7Rp6JpBLtpt8mBJmcRSsVlSv3aLLQJTY,1335
|
|
98
|
+
firecube/core/storage/completion.py,sha256=VY0ZdSgdpHEG81BzKTmMCkCL0my7jarYaPpDYYf3KUw,9628
|
|
99
|
+
firecube/core/storage/driver_config.py,sha256=KFvN1atd8e2CFt0WvVCgwk3W2ilf7xVEf0lHJ41LQNs,4286
|
|
100
|
+
firecube/core/storage/results.py,sha256=X8Ab-7tnqh-E2A4Qos7fhjmmvC6X4XAtWrTf5ouc1ZM,895
|
|
101
|
+
firecube/core/storage/session.py,sha256=9vq8TER0Zmz065PixOg7YJ3Ga3uWji9Q6pW1eL0u2Ys,16007
|
|
102
|
+
firecube/core/storage/transfer.py,sha256=vjA0pWjMBQhlrYWG69WDTUya5khAoZJOMhMfDnX6iKY,5556
|
|
103
|
+
firecube/core/storage/uri.py,sha256=PvFDvig_ChdYz8jpRpYiAS6IVkoP5o3LRjoqybigrgQ,6773
|
|
104
|
+
firecube/core/tensogram/__init__.py,sha256=cM2P43J8nOtSMeTgeT_HeSnM8udlxLQj3PyB3cxHM04,1045
|
|
105
|
+
firecube/core/tensogram/_compat.py,sha256=CLAOsaFBSdqBhDsSjDIXrMCgXch52hG38lYHG_EM-8I,1309
|
|
106
|
+
firecube/core/tensogram/controlplane_codec.py,sha256=x4UFuMQiJRImtWfrXQ9l3iusv8AoVOUdlZTqOqXCc3A,7591
|
|
107
|
+
firecube/core/tensogram/converter.py,sha256=k1xUdSZ4eqpb5-96mjC3no9YhNU4CvE1wcC9z4NAHOM,14612
|
|
108
|
+
firecube/core/tensogram/metadata.py,sha256=vNTCXOSchEA_ysmNArZltNhAsVH1smSRYNGkCD5WPOE,9267
|
|
109
|
+
firecube/core/tensogram/restore.py,sha256=f4jFAEkg6olAlN2Y1-zWaeIGJxG7DQYrT-kmqGh-oOI,10611
|
|
110
|
+
firecube/core/tensogram/schema.py,sha256=3rLWRRlBnvpxZK_M26GEy0AVNLDMSiyGrMmZ9vgzqY8,3155
|
|
111
|
+
firecube/core/zarr/__init__.py,sha256=f2gZ2YkhCPmwRk4JjwE3fOGvMS2e9n-DZZyupjzk5b8,2203
|
|
112
|
+
firecube/core/zarr/_reserved_attrs.py,sha256=cMCpUu9BCE4M-cofD5yUQQosPwg-G5K6Ct-R8S3tbAw,1529
|
|
113
|
+
firecube/core/zarr/_reserved_root_attrs.py,sha256=WGd7_weZRkOQH6vXgpBa0AAgPbOBwTjknd-UEMK--j4,2895
|
|
114
|
+
firecube/core/zarr/io.py,sha256=vXlcfhB3La8iKkeoe4xFQg9A9Kdphu5l6M5LIIvnnNY,3455
|
|
115
|
+
firecube/core/zarr/layers.py,sha256=ADvacytWaQU4h0NfrHq3xtCz5l9Ibf8jSop8r8rqbak,6328
|
|
116
|
+
firecube/core/zarr/multires.py,sha256=yvzLSE3ho5MvtENGJ4NcczBUr8NMWbVtcTGJfnjM-VE,6513
|
|
117
|
+
firecube/core/zarr/region_writer.py,sha256=hpZGIrd09ycSL4yWi_qnWuBYwWh-qkXDE4dyvBg8Bc0,29149
|
|
118
|
+
firecube/core/zarr/scrub.py,sha256=tVG_l_w9UZRnREJ96S0CrrGe1LuiYMzCX_oL3Uzd-p4,6863
|
|
119
|
+
firecube/core/zarr/state.py,sha256=iaL-0GqiUPMhbo8GTy4UzynWG9Bc3oWJwm55lPFZ5H0,8193
|
|
120
|
+
firecube/core/zarr/time_decode.py,sha256=RQy_xZtdFZ1Zac2YRqWU_TMJpsNcRGUX7PfxkEtF9Fg,2752
|
|
121
|
+
firecube/core/zarr/validation.py,sha256=Ql3thmmk4ih3WHv1liy--zpo4shhdUYmZdTEyiXN-iY,22779
|
|
122
|
+
firecube/ingestor/__init__.py,sha256=UMe-ZMgoWkSEfE7ywrR2cXuGSIH-OMwDbPRDmfbSuVA,803
|
|
123
|
+
firecube/ingestor/api.py,sha256=RPqhhe_3wHyvsAoeEVbGdTTx7QBuKmCYLpZjfd9bRks,6296
|
|
124
|
+
firecube/ingestor/errors.py,sha256=JycRkqfEyWpycraN6ijgRLQ2upEHM_seJSXWYrKuHsI,2353
|
|
125
|
+
firecube/ingestor/validation.py,sha256=Ky15C90unTzvEluLRLRuC4zXfuekSEGsJJ_a16DfQ-Y,2252
|
|
126
|
+
firecube/ingestor/config/__init__.py,sha256=xmpEyqFrwMShNiPFym-MaoZYIj5e3-olOpIdp75iGQc,751
|
|
127
|
+
firecube/ingestor/config/coercion.py,sha256=4P0v5gfv_2rUszuJSvLVycLiH01Uu9hc9LXUuzvBh-M,5504
|
|
128
|
+
firecube/ingestor/config/engine.py,sha256=FxbsatiwAaolOLt086PTcqChrX5JYqGwhEJy5Agw_mc,7188
|
|
129
|
+
firecube/ingestor/contracts/__init__.py,sha256=LJ2j8aVO3353g7rctHlVTLadg6FH2XSgj4cC5eioan0,578
|
|
130
|
+
firecube/ingestor/contracts/interfaces.py,sha256=vk9YdcKRTKOkSVLM2xiPlqJf_fE5v94N9A3tFso5Q1M,7981
|
|
131
|
+
firecube/ingestor/devtools/scaffolding.py,sha256=RRzSmfF9GeNXX4XisCmrtXQtDtWIqitCiLyIxEksGPs,7183
|
|
132
|
+
firecube/ingestor/devtools/_templates/__init__.py,sha256=LJ2j8aVO3353g7rctHlVTLadg6FH2XSgj4cC5eioan0,578
|
|
133
|
+
firecube/ingestor/devtools/_templates/ingestor_base.py.tpl,sha256=UaY_J5LgUTQfzQjzxkh7gQimFYm_3baaBix_tmObHDQ,2431
|
|
134
|
+
firecube/ingestor/devtools/_templates/ingestor_direct_zarr.py.tpl,sha256=LJjsB8DaFWyQGYBDuEpzPLiLng9-oE6G6l9t8t6rmvE,2342
|
|
135
|
+
firecube/ingestor/devtools/_templates/ingestor_parquet.py.tpl,sha256=ot4gTtOhDNHDhyxQQS7VFfvey_NGOuVluZlAqnkKRaM,2017
|
|
136
|
+
firecube/ingestor/devtools/_templates/ingestor_zarr.py.tpl,sha256=WpIYUJRME_otxfuYsZe3w4r4WOi9Ih2cJKsZTKMa7-I,1733
|
|
137
|
+
firecube/ingestor/devtools/_templates/readme.md.tpl,sha256=TONHQz2z15j0mJL1fMIj8xQQ-A0juTxQGhKz9OAUC3Y,1180
|
|
138
|
+
firecube/ingestor/extensions/_binning.py,sha256=zUPzDdXHAmyHGSXnJqmqZLLiZNVbxDI6kGLDr24D50o,5845
|
|
139
|
+
firecube/ingestor/extensions/duck.py,sha256=_Sk6r7QD2s0N3RLNvBXpjMXvU5wk3M6h2hUNkXHQt7M,6225
|
|
140
|
+
firecube/ingestor/extensions/grid.py,sha256=eaJyKNWk_7wVm0LudyRwT_bbQPiGvvglixLZ7xHVpcE,10413
|
|
141
|
+
firecube/ingestor/extensions/healpix.py,sha256=Dr9We6dBiFQqytScF_psW4H5MN9ra8UWzbFBJdtPfaE,11698
|
|
142
|
+
firecube/ingestor/registry/__init__.py,sha256=LJ2j8aVO3353g7rctHlVTLadg6FH2XSgj4cC5eioan0,578
|
|
143
|
+
firecube/ingestor/registry/loader.py,sha256=Y2PAOXjh2nsl3nt5KCFUHvrp0Qt7KnMQ-blhnAzBvog,4476
|
|
144
|
+
firecube/ingestor/registry/metadata.py,sha256=T0hucRW7JlDV5eB1CV2n-0dStB2xlyulQNZhw_ihqjA,2872
|
|
145
|
+
firecube/ingestor/registry/version_compat.py,sha256=wMkJdUvj2TD_COQUzsL-hQjg4NmX3sHT788H7X7KZGI,3060
|
|
146
|
+
firecube/ingestor/runtime/__init__.py,sha256=LJ2j8aVO3353g7rctHlVTLadg6FH2XSgj4cC5eioan0,578
|
|
147
|
+
firecube/ingestor/runtime/aggregation.py,sha256=L-be-1f23on5CmwoDtg9Msslv88bh_hfZsz4mcwMcV4,3892
|
|
148
|
+
firecube/ingestor/runtime/base.py,sha256=yqBcIEu3Z-pNhk7P6bSyHN8b6B2K4e5_YBHk7aWPKj4,36088
|
|
149
|
+
firecube/ingestor/runtime/base_hooks.py,sha256=cRBGmxDhHMUaOtepdey5zuSRDdxM67JaymGgxQ2q-Zw,3949
|
|
150
|
+
firecube/ingestor/runtime/batching.py,sha256=LxFo-_HnfgvL7jS9VdZspbB2FETg6JoduwjOm1lAP_I,5889
|
|
151
|
+
firecube/ingestor/runtime/configure.py,sha256=g0NKuBtVAxF99vMkq-TXOKhLH59sa_6Tb0bWZYwUKgQ,7512
|
|
152
|
+
firecube/ingestor/runtime/coverage.py,sha256=aEc1cpaKXW3lerwhTYCsLgkRAO4uKMGcR-JG46f5Zv4,5805
|
|
153
|
+
firecube/ingestor/runtime/engine.py,sha256=IjOASMYL6gp4Gub6Mjfp3Z6zZIzJX3D5DWLRHxbgnL4,30627
|
|
154
|
+
firecube/ingestor/runtime/parallel_evidence.py,sha256=1WUO5C8IRLnsXw3pX3FZxdPV9M2Dz2rw7UwOu2BJM-U,2347
|
|
155
|
+
firecube/ingestor/runtime/parallel_execution_state.py,sha256=9cro_nHhu_T4NhZI6_tGTUE1MD5D-QOej9jS5x082jA,1054
|
|
156
|
+
firecube/ingestor/runtime/parallel_gate.py,sha256=unBSr7Xnm9vSNvA9wD0Gwngw_3j8ylEDDDaQkogS6mQ,6532
|
|
157
|
+
firecube/ingestor/runtime/parallel_run_id.py,sha256=1Dr0zI3pXeHQyc4fQwKyddLGbj0XHEx_d54rg_ygUKw,1955
|
|
158
|
+
firecube/ingestor/runtime/preflight.py,sha256=sXS6tgIi-bi-ywKhKTLHFLqvbdwZwmEaDJ2RzbG367o,1388
|
|
159
|
+
firecube/ingestor/runtime/recording.py,sha256=pxT_999rZGcWRA05QVa4PZLr-_95nYuHL52PpEzguRQ,14502
|
|
160
|
+
firecube/ingestor/runtime/resume_guard.py,sha256=mpF2aGVTxAROMsLwEkdlvb_kNdurZLOOz4qKEpWK9P8,23689
|
|
161
|
+
firecube/ingestor/runtime/resume_types.py,sha256=7oWq98ywbou9E42mp9h9u3X0xrdoAj4PaPCaKTIKDws,2031
|
|
162
|
+
firecube/ingestor/runtime/telemetry.py,sha256=Jdb4NlNk8h_P6Bj7F-CV_eXtYzs0PTTYMeQNf5Um6zE,6580
|
|
163
|
+
firecube/ingestor/runtime/workspace.py,sha256=I0z3jAVHbmVIZzAKjmoTryCJuxTPlu1ILX3_NS2-4lU,7896
|
|
164
|
+
firecube/ingestor/runtime/tensogram/__init__.py,sha256=LJ2j8aVO3353g7rctHlVTLadg6FH2XSgj4cC5eioan0,578
|
|
165
|
+
firecube/ingestor/runtime/tensogram/strategy.py,sha256=aDmk0djWxycGiPBdNwRL8dSSkvVwFuiq9MZLKrbkFc4,5932
|
|
166
|
+
firecube/ingestor/runtime/zarr/__init__.py,sha256=c9bqQMqNkIP949hjzcq2f9VDWJMP7GhExrrPc_J0rKI,1343
|
|
167
|
+
firecube/ingestor/runtime/zarr/append.py,sha256=boKlBlWkOB7PvpnpYWhfCD9HdAgRa9_otafzhhUEkjw,16720
|
|
168
|
+
firecube/ingestor/runtime/zarr/append_services.py,sha256=pHgmF311uCnstFayU1D0bmw0VvVFOigcJNYY-YwKxhQ,24995
|
|
169
|
+
firecube/ingestor/runtime/zarr/batch_runner.py,sha256=oTLLbMsCNlvVLuKTT-QuFvk0QYxbwr46_o4ywc-gyqQ,6314
|
|
170
|
+
firecube/ingestor/runtime/zarr/contracts.py,sha256=yMDbeWlHpzCN2PU4f_uQxWzkTzlzslb2eZORqbqj3yo,2032
|
|
171
|
+
firecube/ingestor/runtime/zarr/existing_cube_check.py,sha256=laasuFmnM9XWSjWtjtFs2nGTM0kHevoxs3wxq0NCZ4s,10038
|
|
172
|
+
firecube/ingestor/runtime/zarr/resume_cache.py,sha256=qOCpA4aLTZk1teJcU9mFiW8AeEiUCeKhSs4pNyvYX7g,2979
|
|
173
|
+
firecube/ingestor/runtime/zarr/staged_metadata.py,sha256=Hoc58gyzYKAlcvS18hIbL22_err_ZG7dRDqroMnMeH8,9687
|
|
174
|
+
firecube/ingestor/runtime/zarr/write.py,sha256=OqLnSdQLbqCS2oIHeHPCvDznKCUHjq0qDuXn_AAxtNY,7899
|
|
175
|
+
firecube/ingestor/runtime/zarr/write_context.py,sha256=4ee71HQFDDduHK_qY3MJgOA5Jl9xoVm0cZVvM2NZz6g,4873
|
|
176
|
+
firecube/ingestor/runtime/zarr/strategies/__init__.py,sha256=ip4eyfjF5IiQ_agTV16wCp8wgutf82fep-v1y8Ij1xc,630
|
|
177
|
+
firecube/ingestor/runtime/zarr/strategies/append.py,sha256=04aSf4JubyNR-0H0dUZBGozPR21S3UQykBnueTVZSSY,6996
|
|
178
|
+
firecube/ingestor/runtime/zarr/strategies/indexed_region.py,sha256=njI4q3C6cW3PhQnUDGvKeLdH4EVnyDlMgXrbELROH0U,19204
|
|
179
|
+
firecube/ingestor/templates/__init__.py,sha256=8amYfdlUTz4oE-QzXNR_cYpWp_L32YeDSernXyoWL50,765
|
|
180
|
+
firecube/ingestor/templates/config.py,sha256=D3DEhgLRLEPKIH_eR05kk1ALjoUVt7qiVsJH-4W6jwo,4180
|
|
181
|
+
firecube/ingestor/templates/direct_zarr.py,sha256=aZEQricW1nox0j_fIks599S4dtvncBzmDB56VuYRoCQ,35111
|
|
182
|
+
firecube/ingestor/templates/generic.py,sha256=to8rQBOD-BJ7szVSpeJgWVHwje-7V_fdFzlJ35G2w1A,17466
|
|
183
|
+
firecube/ingestor/templates/generic_tensogram.py,sha256=_vrrrmoL9ALRvq-45XqVYEAfI-XJ8qskj-DWa3h39_Y,5732
|
|
184
|
+
firecube/ingestor/types/__init__.py,sha256=tGp7CkcSP4OT5vF-r04-jjR-yxLD9e5fOWf8V9kt90s,735
|
|
185
|
+
firecube/ingestor/types/config.py,sha256=KUxb1thXcDdt-dV6iO80TTS4PLLnK7xug0BhmTQQh1Y,3282
|
|
186
|
+
firecube/ingestor/types/context.py,sha256=KUbYikjWVRHgCcAEoZ61l1b1O2Ayf-a7rrNT8Wc1iIA,13183
|
|
187
|
+
firecube/ingestor/types/manifest.py,sha256=5O2Q4LLyQvSv5gU5vVgweDoxo-hP5Q2nOkqeU1DUKPI,1634
|
|
188
|
+
firecube/ingestor/types/planned_range.py,sha256=oGtkc4VTYCiHmLjWemJWg0uoCvPaPFYLWGxBzyxODvA,5551
|
|
189
|
+
firecube/ingestor/types/result_metrics.py,sha256=9bXK7L9L1nyQtF8ZqtvAHQp4fDoAA00oKusM5MZZnao,13767
|
|
190
|
+
firecube/ingestor/utils/__init__.py,sha256=LJ2j8aVO3353g7rctHlVTLadg6FH2XSgj4cC5eioan0,578
|
|
191
|
+
firecube/ingestor/utils/duckdb_utils.py,sha256=klDB0DnfULF2vf-Di9eOdx_MInjltVdZn-h9vzdsynQ,8404
|
|
192
|
+
firecube-0.1.4.dist-info/METADATA,sha256=4d843rkJ4X3jhqxfcw-mLNWXvHZlmwlVZhEEH4r3CEc,11181
|
|
193
|
+
firecube-0.1.4.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
|
|
194
|
+
firecube-0.1.4.dist-info/entry_points.txt,sha256=URe-xD5nLCNXmtCiaOI1_YIE8WHGq582tt3lm2D33Ns,51
|
|
195
|
+
firecube-0.1.4.dist-info/licenses/AUTHORS.md,sha256=7csBDIYxj1MVq6HDKMpRyxZntgjivdnr6O3-Y9oXTSo,386
|
|
196
|
+
firecube-0.1.4.dist-info/licenses/LICENSE,sha256=Z5ouFQ3wRxkfPr-gnx7J2fYLKx3wVndIJZiiB8nE7q4,11343
|
|
197
|
+
firecube-0.1.4.dist-info/RECORD,,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Authors
|
|
2
|
+
|
|
3
|
+
* [**Armagan Karatosun**](mailto:armagan.karatosun@eumetsat.int) - *Initial work and maintainer* - [EUMETSAT](http://www.eumetsat.int)
|
|
4
|
+
* [**Anna-Lena Erdmann**](mailto:anna-lena.erdmann@eumetsat.int) - *Contributor and maintainer* - [EUMETSAT](http://www.eumetsat.int)
|
|
5
|
+
* [**Carlos Horn**](mailto:carlos.horn@eumetsat.int) - *Contributor* - [EUMETSAT](http://www.eumetsat.int)
|