anemoi-utils 0.3.17__tar.gz → 0.3.18__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.

Potentially problematic release.


This version of anemoi-utils might be problematic. Click here for more details.

Files changed (65) hide show
  1. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/CHANGELOG.md +9 -2
  2. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/PKG-INFO +1 -1
  3. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/_version.py +2 -2
  4. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/provenance.py +30 -0
  5. anemoi_utils-0.3.17/src/anemoi/utils/sanetize.py → anemoi_utils-0.3.18/src/anemoi/utils/sanitize.py +2 -2
  6. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi_utils.egg-info/PKG-INFO +1 -1
  7. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi_utils.egg-info/SOURCES.txt +1 -1
  8. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.gitattributes +0 -0
  9. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.github/CODEOWNERS +0 -0
  10. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.github/ci-hpc-config.yml +0 -0
  11. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.github/workflows/changelog-pr-update.yml +0 -0
  12. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.github/workflows/changelog-release-update.yml +0 -0
  13. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.github/workflows/ci.yml +0 -0
  14. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.github/workflows/label-public-pr.yml +0 -0
  15. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.github/workflows/python-publish.yml +0 -0
  16. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.github/workflows/python-pull-request.yml +0 -0
  17. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.github/workflows/readthedocs-pr-update.yml +0 -0
  18. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.gitignore +0 -0
  19. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.pre-commit-config.yaml +0 -0
  20. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/.readthedocs.yaml +0 -0
  21. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/LICENSE +0 -0
  22. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/README.md +0 -0
  23. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/Makefile +0 -0
  24. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/_static/logo.png +0 -0
  25. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/_static/style.css +0 -0
  26. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/_templates/.gitkeep +0 -0
  27. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/conf.py +0 -0
  28. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/index.rst +0 -0
  29. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/installing.rst +0 -0
  30. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/modules/checkpoints.rst +0 -0
  31. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/modules/config.rst +0 -0
  32. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/modules/dates.rst +0 -0
  33. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/modules/grib.rst +0 -0
  34. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/modules/humanize.rst +0 -0
  35. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/modules/provenance.rst +0 -0
  36. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/modules/s3.rst +0 -0
  37. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/docs/modules/text.rst +0 -0
  38. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/pyproject.toml +0 -0
  39. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/setup.cfg +0 -0
  40. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/__init__.py +0 -0
  41. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/__main__.py +0 -0
  42. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/caching.py +0 -0
  43. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/checkpoints.py +0 -0
  44. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/cli.py +0 -0
  45. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/commands/__init__.py +0 -0
  46. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/commands/config.py +0 -0
  47. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/config.py +0 -0
  48. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/dates.py +0 -0
  49. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/grib.py +0 -0
  50. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/hindcasts.py +0 -0
  51. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/humanize.py +0 -0
  52. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/mars/__init__.py +0 -0
  53. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/mars/mars.yaml +0 -0
  54. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/s3.py +0 -0
  55. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/sanitise.py +0 -0
  56. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/text.py +0 -0
  57. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi/utils/timer.py +0 -0
  58. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi_utils.egg-info/dependency_links.txt +0 -0
  59. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi_utils.egg-info/entry_points.txt +0 -0
  60. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi_utils.egg-info/requires.txt +0 -0
  61. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/src/anemoi_utils.egg-info/top_level.txt +0 -0
  62. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/tests/test_dates.py +0 -0
  63. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/tests/test_frequency.py +0 -0
  64. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/tests/test_sanetise.py +0 -0
  65. {anemoi_utils-0.3.17 → anemoi_utils-0.3.18}/tests/test_utils.py +0 -0
@@ -8,17 +8,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
  Please add your functional changes to the appropriate section in the PR.
9
9
  Keep it human-readable, your future self will thank you!
10
10
 
11
- ## [Unreleased]
11
+ ## [Unreleased](https://github.com/ecmwf/anemoi-utils/compare/0.3.17...HEAD)
12
+
13
+ ## [0.3.17](https://github.com/ecmwf/anemoi-utils/compare/0.3.13...0.3.17) - 2024-10-01
12
14
 
13
15
  ### Added
16
+
14
17
  - Codeowners file
15
18
  - Pygrep precommit hooks
16
19
  - Docsig precommit hooks
17
20
  - Changelog merge strategy- Codeowners file
18
21
  - Create dependency on wcwidth. MIT licence.
22
+ - Add distribution name dictionary to provenance [#15](https://github.com/ecmwf/anemoi-utils/pull/15)
19
23
  - Add anonimize() function.
20
24
 
21
25
  ### Changed
26
+
22
27
  - downstream-ci should only runs for changes in src and tests
23
28
  - bugfixes for CI
24
29
  - python3.9 support
@@ -28,21 +33,23 @@ Keep it human-readable, your future self will thank you!
28
33
  ## [0.3.0] - Initial Release, utility functions
29
34
 
30
35
  ### Added
36
+
31
37
  - Command line interface utility
32
38
 
33
39
  ## [0.2.0] - Initial Release, utility functions
34
40
 
35
41
  ### Changed
42
+
36
43
  - updated documentation
37
44
 
38
45
  ## [0.1.0] - Initial Release, utility functions
39
46
 
40
47
  ### Added
48
+
41
49
  - Documentation
42
50
  - Initial implementation for a series of utility functions for used by the rest of the Anemoi packages
43
51
 
44
52
  <!-- Add Git Diffs for Links above -->
45
- [unreleased]: https://github.com/ecmwf/anemoi-utils/compare/0.3.13...HEAD
46
53
  https://github.com/ecmwf/anemoi-utils/compare/0.2.0...0.3.0
47
54
  https://github.com/ecmwf/anemoi-utils/compare/0.1.0...0.2.0
48
55
  [0.1.0]: https://github.com/ecmwf/anemoi-utils/releases/tag/0.1.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: anemoi-utils
3
- Version: 0.3.17
3
+ Version: 0.3.18
4
4
  Summary: A package to hold various functions to support training of ML models on ECMWF data.
5
5
  Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
6
6
  License: Apache License
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.3.17'
16
- __version_tuple__ = version_tuple = (0, 3, 17)
15
+ __version__ = version = '0.3.18'
16
+ __version_tuple__ = version_tuple = (0, 3, 18)
@@ -21,6 +21,7 @@ import os
21
21
  import subprocess
22
22
  import sys
23
23
  import sysconfig
24
+ from functools import cache
24
25
 
25
26
  LOG = logging.getLogger(__name__)
26
27
 
@@ -143,6 +144,33 @@ def _module_versions(full):
143
144
  return versions, paths
144
145
 
145
146
 
147
+ @cache
148
+ def package_distributions():
149
+ # Takes a significant amount of time to run
150
+ # so cache the result
151
+ from importlib import metadata
152
+
153
+ return metadata.packages_distributions()
154
+
155
+
156
+ def import_name_to_distribution_name(packages: list):
157
+ distribution_names = {}
158
+ package_distribution_names = package_distributions()
159
+
160
+ for package in [p for p in packages if p in package_distribution_names]:
161
+ distr_name = package_distribution_names[package]
162
+ if isinstance(distr_name, list):
163
+ if len(distr_name) > 1:
164
+ # Multiple distributions for the same package, i.e. anemoi-graphs, anemoi-utils, ..., Don't know how to handle this
165
+ continue
166
+ distr_name = distr_name[0]
167
+
168
+ if distr_name != package:
169
+ distribution_names[package] = distr_name
170
+
171
+ return distribution_names
172
+
173
+
146
174
  def module_versions(full):
147
175
  versions, paths = _module_versions(full)
148
176
  git_versions = _check_for_git(paths, full)
@@ -339,6 +367,7 @@ def gather_provenance_info(assets=[], full=False) -> dict:
339
367
  time=datetime.datetime.utcnow().isoformat(),
340
368
  python=f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}",
341
369
  module_versions=versions,
370
+ distribution_names=import_name_to_distribution_name(versions.keys()),
342
371
  git_versions=git_versions,
343
372
  )
344
373
  else:
@@ -349,6 +378,7 @@ def gather_provenance_info(assets=[], full=False) -> dict:
349
378
  python_path=sys.path,
350
379
  config_paths=sysconfig.get_paths(),
351
380
  module_versions=versions,
381
+ distribution_names=import_name_to_distribution_name(versions.keys()),
352
382
  git_versions=git_versions,
353
383
  platform=platform_info(),
354
384
  gpus=gpu_info(),
@@ -5,6 +5,6 @@
5
5
  # granted to it by virtue of its status as an intergovernmental organisation
6
6
  # nor does it submit to any jurisdiction.
7
7
 
8
- from .sanetise import sanetise as sanetize
8
+ from .sanitise import sanitise as sanitize
9
9
 
10
- __all__ = ["sanetize"]
10
+ __all__ = ["sanitize"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: anemoi-utils
3
- Version: 0.3.17
3
+ Version: 0.3.18
4
4
  Summary: A package to hold various functions to support training of ML models on ECMWF data.
5
5
  Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
6
6
  License: Apache License
@@ -43,8 +43,8 @@ src/anemoi/utils/hindcasts.py
43
43
  src/anemoi/utils/humanize.py
44
44
  src/anemoi/utils/provenance.py
45
45
  src/anemoi/utils/s3.py
46
- src/anemoi/utils/sanetize.py
47
46
  src/anemoi/utils/sanitise.py
47
+ src/anemoi/utils/sanitize.py
48
48
  src/anemoi/utils/text.py
49
49
  src/anemoi/utils/timer.py
50
50
  src/anemoi/utils/commands/__init__.py
File without changes
File without changes
File without changes
File without changes