tensogram-xarray 0.14.0__tar.gz → 0.16.0__tar.gz

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.
Files changed (24) hide show
  1. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/.gitignore +3 -0
  2. tensogram_xarray-0.16.0/PKG-INFO +68 -0
  3. tensogram_xarray-0.16.0/README.md +43 -0
  4. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/pyproject.toml +3 -2
  5. tensogram_xarray-0.14.0/PKG-INFO +0 -23
  6. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/src/tensogram_xarray/__init__.py +0 -0
  7. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/src/tensogram_xarray/array.py +0 -0
  8. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/src/tensogram_xarray/backend.py +0 -0
  9. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/src/tensogram_xarray/coords.py +0 -0
  10. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/src/tensogram_xarray/mapping.py +0 -0
  11. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/src/tensogram_xarray/merge.py +0 -0
  12. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/src/tensogram_xarray/scanner.py +0 -0
  13. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/src/tensogram_xarray/store.py +0 -0
  14. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/__init__.py +0 -0
  15. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/conftest.py +0 -0
  16. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/test_array.py +0 -0
  17. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/test_backend.py +0 -0
  18. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/test_coords.py +0 -0
  19. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/test_coverage.py +0 -0
  20. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/test_edge_cases.py +0 -0
  21. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/test_mapping.py +0 -0
  22. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/test_merge.py +0 -0
  23. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/test_nd_range.py +0 -0
  24. {tensogram_xarray-0.14.0 → tensogram_xarray-0.16.0}/tests/test_remote.py +0 -0
@@ -7,12 +7,15 @@
7
7
  **/target
8
8
  **/pkg
9
9
  **/build/
10
+ python/**/dist/
10
11
  python/bindings/Cargo.lock
11
12
 
12
13
  /docs/book
13
14
  **/.venv
14
15
  **/.ruff_cache
15
16
  **/__pycache__
17
+ **/.pytest_cache
18
+ **/.ipynb_checkpoints
16
19
  *.so
17
20
  *.dylib
18
21
  *.pyd
@@ -0,0 +1,68 @@
1
+ Metadata-Version: 2.4
2
+ Name: tensogram-xarray
3
+ Version: 0.16.0
4
+ Summary: xarray backend engine for tensogram .tgm files
5
+ Project-URL: Homepage, https://sites.ecmwf.int/docs/tensogram/main
6
+ Project-URL: Repository, https://github.com/ecmwf/tensogram
7
+ Project-URL: Documentation, https://sites.ecmwf.int/docs/tensogram/main
8
+ Author-email: ECMWF <software@ecmwf.int>
9
+ License-Expression: Apache-2.0
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: License :: OSI Approved :: Apache Software License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Topic :: Scientific/Engineering
14
+ Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
15
+ Requires-Python: >=3.9
16
+ Requires-Dist: numpy
17
+ Requires-Dist: tensogram<0.17,>=0.16.0
18
+ Requires-Dist: xarray>=2022.06
19
+ Provides-Extra: dask
20
+ Requires-Dist: dask[array]; extra == 'dask'
21
+ Provides-Extra: dev
22
+ Requires-Dist: pytest>=7.0; extra == 'dev'
23
+ Requires-Dist: ruff>=0.4; extra == 'dev'
24
+ Description-Content-Type: text/markdown
25
+
26
+ # Tensogram xarray Backend
27
+
28
+ xarray backend engine for Tensogram `.tgm` files — open a Tensogram
29
+ message or file as an `xarray.Dataset` with the native `engine="tensogram"`
30
+ hook, including Dask-backed lazy loading.
31
+
32
+ ## Installation
33
+
34
+ ```bash
35
+ pip install tensogram-xarray
36
+ # or, with Dask-backed lazy reads
37
+ pip install "tensogram-xarray[dask]"
38
+ ```
39
+
40
+ The `tensogram` native package is pulled in automatically.
41
+
42
+ ## Usage
43
+
44
+ ```python
45
+ import xarray as xr
46
+
47
+ ds = xr.open_dataset("forecast.tgm", engine="tensogram")
48
+ print(ds) # coordinates, variables, CF attributes
49
+ print(ds["temperature"]) # standard xarray DataArray
50
+ ```
51
+
52
+ With Dask for out-of-core reads:
53
+
54
+ ```python
55
+ ds = xr.open_dataset("forecast.tgm", engine="tensogram", chunks="auto")
56
+ ```
57
+
58
+ Multi-message files open as a single merged Dataset; coordinates and
59
+ dimensions are inferred from CF-style metadata when present.
60
+
61
+ ## Documentation
62
+
63
+ - Full guide: https://sites.ecmwf.int/docs/tensogram/main/guide/xarray-integration.html
64
+ - Repository: https://github.com/ecmwf/tensogram
65
+
66
+ ## License
67
+
68
+ Copyright 2026- ECMWF. Licensed under Apache-2.0.
@@ -0,0 +1,43 @@
1
+ # Tensogram xarray Backend
2
+
3
+ xarray backend engine for Tensogram `.tgm` files — open a Tensogram
4
+ message or file as an `xarray.Dataset` with the native `engine="tensogram"`
5
+ hook, including Dask-backed lazy loading.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ pip install tensogram-xarray
11
+ # or, with Dask-backed lazy reads
12
+ pip install "tensogram-xarray[dask]"
13
+ ```
14
+
15
+ The `tensogram` native package is pulled in automatically.
16
+
17
+ ## Usage
18
+
19
+ ```python
20
+ import xarray as xr
21
+
22
+ ds = xr.open_dataset("forecast.tgm", engine="tensogram")
23
+ print(ds) # coordinates, variables, CF attributes
24
+ print(ds["temperature"]) # standard xarray DataArray
25
+ ```
26
+
27
+ With Dask for out-of-core reads:
28
+
29
+ ```python
30
+ ds = xr.open_dataset("forecast.tgm", engine="tensogram", chunks="auto")
31
+ ```
32
+
33
+ Multi-message files open as a single merged Dataset; coordinates and
34
+ dimensions are inferred from CF-style metadata when present.
35
+
36
+ ## Documentation
37
+
38
+ - Full guide: https://sites.ecmwf.int/docs/tensogram/main/guide/xarray-integration.html
39
+ - Repository: https://github.com/ecmwf/tensogram
40
+
41
+ ## License
42
+
43
+ Copyright 2026- ECMWF. Licensed under Apache-2.0.
@@ -4,8 +4,9 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "tensogram-xarray"
7
- version = "0.14.0"
7
+ version = "0.16.0"
8
8
  description = "xarray backend engine for tensogram .tgm files"
9
+ readme = "README.md"
9
10
  requires-python = ">=3.9"
10
11
  license = "Apache-2.0"
11
12
  authors = [{name = "ECMWF", email = "software@ecmwf.int"}]
@@ -17,7 +18,7 @@ classifiers = [
17
18
  "Topic :: Scientific/Engineering :: Atmospheric Science",
18
19
  ]
19
20
  dependencies = [
20
- "tensogram>=0.14.0,<0.15",
21
+ "tensogram>=0.16.0,<0.17",
21
22
  "xarray>=2022.06",
22
23
  "numpy",
23
24
  ]
@@ -1,23 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: tensogram-xarray
3
- Version: 0.14.0
4
- Summary: xarray backend engine for tensogram .tgm files
5
- Project-URL: Homepage, https://sites.ecmwf.int/docs/tensogram/main
6
- Project-URL: Repository, https://github.com/ecmwf/tensogram
7
- Project-URL: Documentation, https://sites.ecmwf.int/docs/tensogram/main
8
- Author-email: ECMWF <software@ecmwf.int>
9
- License-Expression: Apache-2.0
10
- Classifier: Development Status :: 4 - Beta
11
- Classifier: License :: OSI Approved :: Apache Software License
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Topic :: Scientific/Engineering
14
- Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
15
- Requires-Python: >=3.9
16
- Requires-Dist: numpy
17
- Requires-Dist: tensogram<0.15,>=0.14.0
18
- Requires-Dist: xarray>=2022.06
19
- Provides-Extra: dask
20
- Requires-Dist: dask[array]; extra == 'dask'
21
- Provides-Extra: dev
22
- Requires-Dist: pytest>=7.0; extra == 'dev'
23
- Requires-Dist: ruff>=0.4; extra == 'dev'