eccodes 2.43.0__tar.gz → 2.44.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 (65) hide show
  1. {eccodes-2.43.0 → eccodes-2.44.0}/CHANGELOG.rst +8 -0
  2. {eccodes-2.43.0 → eccodes-2.44.0}/PKG-INFO +13 -2
  3. {eccodes-2.43.0 → eccodes-2.44.0}/README.rst +4 -1
  4. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes/eccodes.py +4 -0
  5. eccodes-2.44.0/eccodes/highlevel/__init__.py +3 -0
  6. eccodes-2.44.0/eccodes/highlevel/_bufr/__init__.py +15 -0
  7. eccodes-2.44.0/eccodes/highlevel/_bufr/coder.py +751 -0
  8. eccodes-2.44.0/eccodes/highlevel/_bufr/common.py +288 -0
  9. eccodes-2.44.0/eccodes/highlevel/_bufr/data.py +618 -0
  10. eccodes-2.44.0/eccodes/highlevel/_bufr/header.py +313 -0
  11. eccodes-2.44.0/eccodes/highlevel/_bufr/helpers.py +537 -0
  12. eccodes-2.44.0/eccodes/highlevel/_bufr/message.py +427 -0
  13. eccodes-2.44.0/eccodes/highlevel/_bufr/tables.py +267 -0
  14. eccodes-2.44.0/eccodes/highlevel/_bufr/tree.py +604 -0
  15. eccodes-2.44.0/eccodes/highlevel/_bufr/view.py +118 -0
  16. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes/highlevel/message.py +2 -18
  17. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes/highlevel/reader.py +11 -2
  18. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes.egg-info/PKG-INFO +13 -2
  19. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes.egg-info/SOURCES.txt +19 -0
  20. {eccodes-2.43.0 → eccodes-2.44.0}/gribapi/__init__.py +2 -2
  21. {eccodes-2.43.0 → eccodes-2.44.0}/gribapi/bindings.py +1 -1
  22. {eccodes-2.43.0 → eccodes-2.44.0}/gribapi/errors.py +5 -0
  23. {eccodes-2.43.0 → eccodes-2.44.0}/gribapi/grib_api.h +4 -0
  24. {eccodes-2.43.0 → eccodes-2.44.0}/gribapi/gribapi.py +22 -0
  25. eccodes-2.44.0/tests/examples/__init__.py +0 -0
  26. eccodes-2.44.0/tests/examples/attributes.py +45 -0
  27. eccodes-2.44.0/tests/examples/items.py +49 -0
  28. eccodes-2.44.0/tests/test_bufr_data.py +334 -0
  29. eccodes-2.44.0/tests/test_bufr_examples.py +85 -0
  30. eccodes-2.44.0/tests/test_bufr_header.py +104 -0
  31. eccodes-2.44.0/tests/test_bufr_helpers.py +232 -0
  32. eccodes-2.44.0/tests/test_bufr_message.py +455 -0
  33. eccodes-2.44.0/tests/test_bufr_workarounds.py +117 -0
  34. {eccodes-2.43.0 → eccodes-2.44.0}/tests/test_eccodes.py +62 -6
  35. {eccodes-2.43.0 → eccodes-2.44.0}/tests/test_highlevel.py +64 -0
  36. {eccodes-2.43.0 → eccodes-2.44.0}/tox.ini +1 -0
  37. eccodes-2.43.0/eccodes/highlevel/__init__.py +0 -2
  38. {eccodes-2.43.0 → eccodes-2.44.0}/.dockerignore +0 -0
  39. {eccodes-2.43.0 → eccodes-2.44.0}/CONTRIBUTING.rst +0 -0
  40. {eccodes-2.43.0 → eccodes-2.44.0}/Dockerfile +0 -0
  41. {eccodes-2.43.0 → eccodes-2.44.0}/LICENSE +0 -0
  42. {eccodes-2.43.0 → eccodes-2.44.0}/MANIFEST.in +0 -0
  43. {eccodes-2.43.0 → eccodes-2.44.0}/Makefile +0 -0
  44. {eccodes-2.43.0 → eccodes-2.44.0}/builder.py +0 -0
  45. {eccodes-2.43.0 → eccodes-2.44.0}/ci/requirements-dev.txt +0 -0
  46. {eccodes-2.43.0 → eccodes-2.44.0}/ci/requirements-docs.in +0 -0
  47. {eccodes-2.43.0 → eccodes-2.44.0}/ci/requirements-docs.txt +0 -0
  48. {eccodes-2.43.0 → eccodes-2.44.0}/ci/requirements-tests.in +0 -0
  49. {eccodes-2.43.0 → eccodes-2.44.0}/ci/requirements-tests.txt +0 -0
  50. {eccodes-2.43.0 → eccodes-2.44.0}/docs/_static/.gitkeep +0 -0
  51. {eccodes-2.43.0 → eccodes-2.44.0}/docs/conf.py +0 -0
  52. {eccodes-2.43.0 → eccodes-2.44.0}/docs/index.rst +0 -0
  53. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes/__init__.py +0 -0
  54. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes/__main__.py +0 -0
  55. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes.egg-info/dependency_links.txt +0 -0
  56. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes.egg-info/requires.txt +0 -0
  57. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes.egg-info/top_level.txt +0 -0
  58. {eccodes-2.43.0 → eccodes-2.44.0}/eccodes.egg-info/zip-safe +0 -0
  59. {eccodes-2.43.0 → eccodes-2.44.0}/gribapi/eccodes.h +0 -0
  60. {eccodes-2.43.0 → eccodes-2.44.0}/setup.cfg +0 -0
  61. {eccodes-2.43.0 → eccodes-2.44.0}/setup.py +0 -0
  62. {eccodes-2.43.0 → eccodes-2.44.0}/tests/sample-data/era5-levels-members.grib +0 -0
  63. {eccodes-2.43.0 → eccodes-2.44.0}/tests/sample-data/tiggelam_cnmc_sfc.grib2 +0 -0
  64. {eccodes-2.43.0 → eccodes-2.44.0}/tests/test_20_main.py +0 -0
  65. {eccodes-2.43.0 → eccodes-2.44.0}/tests/test_20_messages.py +0 -0
@@ -2,6 +2,14 @@
2
2
  Changelog for eccodes-python
3
3
  ============================
4
4
 
5
+ 2.44.0 (2025-10-03)
6
+ --------------------
7
+
8
+ - ECC-2102: Improved high-level interface for BUFR
9
+ - ECC-2108: Implement a way of switching off error output to stderr
10
+ - GitHub pull request #129: Update MemoryReader to read more than one field
11
+
12
+
5
13
  2.43.0 (2025-07-24)
6
14
  --------------------
7
15
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eccodes
3
- Version: 2.43.0
3
+ Version: 2.44.0
4
4
  Summary: Python interface to the ecCodes GRIB and BUFR decoder/encoder
5
5
  Home-page: https://github.com/ecmwf/eccodes-python
6
6
  Author: European Centre for Medium-Range Weather Forecasts (ECMWF)
@@ -148,7 +148,7 @@ You may run a simple selfcheck command to ensure that your system is set
148
148
  up correctly::
149
149
 
150
150
  $ python -m eccodes selfcheck
151
- Found: ecCodes v2.39.0.
151
+ Found: ecCodes v2.42.0.
152
152
  Your system is ready.
153
153
 
154
154
 
@@ -164,6 +164,9 @@ the following environment variable before importing eccodes::
164
164
  Usage
165
165
  -----
166
166
 
167
+ See examples of how to use the high-level BUFR interface: `BUFR_Tour.md <eccodes/highlevel/_bufr/BUFR_Tour.md>`_
168
+ and `BUFR_Snippets.md <eccodes/highlevel/_bufr/BUFR_Snippets.md>`_.
169
+
167
170
  Refer to the *ecCodes* `documentation pages <https://confluence.ecmwf.int/display/ECC/Documentation>`_
168
171
  for usage.
169
172
 
@@ -239,6 +242,14 @@ does it submit to any jurisdiction.
239
242
  Changelog for eccodes-python
240
243
  ============================
241
244
 
245
+ 2.44.0 (2025-10-03)
246
+ --------------------
247
+
248
+ - ECC-2102: Improved high-level interface for BUFR
249
+ - ECC-2108: Implement a way of switching off error output to stderr
250
+ - GitHub pull request #129: Update MemoryReader to read more than one field
251
+
252
+
242
253
  2.43.0 (2025-07-24)
243
254
  --------------------
244
255
 
@@ -111,7 +111,7 @@ You may run a simple selfcheck command to ensure that your system is set
111
111
  up correctly::
112
112
 
113
113
  $ python -m eccodes selfcheck
114
- Found: ecCodes v2.39.0.
114
+ Found: ecCodes v2.42.0.
115
115
  Your system is ready.
116
116
 
117
117
 
@@ -127,6 +127,9 @@ the following environment variable before importing eccodes::
127
127
  Usage
128
128
  -----
129
129
 
130
+ See examples of how to use the high-level BUFR interface: `BUFR_Tour.md <eccodes/highlevel/_bufr/BUFR_Tour.md>`_
131
+ and `BUFR_Snippets.md <eccodes/highlevel/_bufr/BUFR_Snippets.md>`_.
132
+
130
133
  Refer to the *ecCodes* `documentation pages <https://confluence.ecmwf.int/display/ECC/Documentation>`_
131
134
  for usage.
132
135
 
@@ -61,6 +61,7 @@ from gribapi import (
61
61
  )
62
62
  from gribapi import grib_clone as codes_clone
63
63
  from gribapi import grib_context_delete as codes_context_delete
64
+ from gribapi import grib_context_set_logging as codes_context_set_logging
64
65
  from gribapi import grib_copy_namespace as codes_copy_namespace
65
66
  from gribapi import grib_count_in_file as codes_count_in_file
66
67
  from gribapi import grib_find_nearest as codes_grib_find_nearest
@@ -211,6 +212,7 @@ from gribapi.errors import (
211
212
  OutOfRangeError,
212
213
  PrematureEndOfFileError,
213
214
  ReadOnlyError,
215
+ RuntimeError,
214
216
  StringTooSmallError,
215
217
  SwitchNoMatchError,
216
218
  TooManyAttributesError,
@@ -371,6 +373,7 @@ __all__ = [
371
373
  "codes_skip_read_only",
372
374
  "codes_write",
373
375
  "codes_context_delete",
376
+ "codes_context_set_logging",
374
377
  "CodesInternalError",
375
378
  "ConceptNoMatchError",
376
379
  "ConstantFieldError",
@@ -420,6 +423,7 @@ __all__ = [
420
423
  "OutOfRangeError",
421
424
  "PrematureEndOfFileError",
422
425
  "ReadOnlyError",
426
+ "RuntimeError",
423
427
  "StringTooSmallError",
424
428
  "SwitchNoMatchError",
425
429
  "TooManyAttributesError",
@@ -0,0 +1,3 @@
1
+ from ._bufr import BUFRMessage # noqa
2
+ from .message import GRIBMessage, Message # noqa
3
+ from .reader import FileReader, MemoryReader, StreamReader # noqa
@@ -0,0 +1,15 @@
1
+ """
2
+ A High-level interface for en/decoding of BUFR files.
3
+ """
4
+
5
+ from .common import change_behaviour, get_behaviour, set_behaviour
6
+ from .helpers import missing_of
7
+ from .message import BUFRMessage
8
+
9
+ __all__ = [
10
+ "change_behaviour",
11
+ "get_behaviour",
12
+ "set_behaviour",
13
+ "missing_of",
14
+ "BUFRMessage",
15
+ ]