hestia-earth-utils 0.15.3__tar.gz → 0.15.4__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 (44) hide show
  1. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/PKG-INFO +1 -1
  2. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/pipeline.py +1 -1
  3. hestia_earth_utils-0.15.4/hestia_earth/utils/term.py +31 -0
  4. hestia_earth_utils-0.15.4/hestia_earth/utils/version.py +1 -0
  5. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth_utils.egg-info/PKG-INFO +1 -1
  6. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth_utils.egg-info/SOURCES.txt +1 -0
  7. hestia_earth_utils-0.15.3/hestia_earth/utils/version.py +0 -1
  8. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/MANIFEST.in +0 -0
  9. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/README.md +0 -0
  10. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/bin/hestia-format-upload +0 -0
  11. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/bin/hestia-pivot-csv +0 -0
  12. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/__init__.py +0 -0
  13. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/__init__.py +0 -0
  14. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/api.py +0 -0
  15. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/blank_node.py +0 -0
  16. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/calculation_status.py +0 -0
  17. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/cycle.py +0 -0
  18. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/date.py +0 -0
  19. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/descriptive_stats.py +0 -0
  20. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/emission.py +0 -0
  21. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/lookup.py +0 -0
  22. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/lookup_utils.py +0 -0
  23. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/model.py +0 -0
  24. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/pivot/__init__.py +0 -0
  25. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/pivot/_shared.py +0 -0
  26. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/pivot/pivot_csv.py +0 -0
  27. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/pivot/pivot_json.py +0 -0
  28. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/request.py +0 -0
  29. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/stats.py +0 -0
  30. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/storage/__init__.py +0 -0
  31. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/storage/_azure_client.py +0 -0
  32. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/storage/_local_client.py +0 -0
  33. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/storage/_s3_client.py +0 -0
  34. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/storage/_sns_client.py +0 -0
  35. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/table.py +0 -0
  36. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth/utils/tools.py +0 -0
  37. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth_utils.egg-info/dependency_links.txt +0 -0
  38. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth_utils.egg-info/requires.txt +0 -0
  39. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/hestia_earth_utils.egg-info/top_level.txt +0 -0
  40. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/setup.cfg +0 -0
  41. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/setup.py +0 -0
  42. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/tests/pivot/__init__.py +0 -0
  43. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/tests/pivot/test_pivot_csv.py +0 -0
  44. {hestia_earth_utils-0.15.3 → hestia_earth_utils-0.15.4}/tests/pivot/test_pivot_json.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hestia_earth_utils
3
- Version: 0.15.3
3
+ Version: 0.15.4
4
4
  Summary: HESTIA's utils library
5
5
  Home-page: https://gitlab.com/hestia-earth/hestia-utils
6
6
  Author: HESTIA Team
@@ -25,7 +25,7 @@ class NpEncoder(json.JSONEncoder):
25
25
  return super(NpEncoder, self).default(obj)
26
26
 
27
27
 
28
- def to_string(data: dict): return json.dumps(data, ensure_ascii=False, cls=NpEncoder)
28
+ def to_string(data: dict, indent: int = None): return json.dumps(data, indent=indent, ensure_ascii=False, cls=NpEncoder)
29
29
 
30
30
 
31
31
  def to_bytes(data: dict): return to_string(data).encode('utf8')
@@ -0,0 +1,31 @@
1
+ import json
2
+ from functools import lru_cache
3
+ from typing import Union
4
+ from hestia_earth.schema import TermTermType
5
+
6
+ from .storage import _load_from_storage
7
+ from .api import download_hestia
8
+
9
+
10
+ @lru_cache()
11
+ def _load_term_file(term_type: str):
12
+ try:
13
+ filepath = f"glossary/{term_type}.json"
14
+ nodes = json.loads(_load_from_storage(filepath, glossary=True))
15
+ return {node.get('@id'): node for node in nodes}
16
+ except Exception:
17
+ return {}
18
+
19
+
20
+ def download_term(term: Union[str, dict], termType: Union[str, TermTermType] = None):
21
+ """
22
+ Download a Term, using the glossary file if available, or default to the standard download.
23
+ """
24
+ term_id = term.get('@id', term.get('id')) if isinstance(term, dict) else term
25
+ term_type = (
26
+ termType if isinstance(termType, str) else termType.value
27
+ ) if termType else (
28
+ term.get('termType') if isinstance(term, dict) else None
29
+ )
30
+ cached_nodes = _load_term_file(term_type) if term_type else {}
31
+ return cached_nodes.get(term_id) or download_hestia(term_id)
@@ -0,0 +1 @@
1
+ VERSION = '0.15.4'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: hestia-earth-utils
3
- Version: 0.15.3
3
+ Version: 0.15.4
4
4
  Summary: HESTIA's utils library
5
5
  Home-page: https://gitlab.com/hestia-earth/hestia-utils
6
6
  Author: HESTIA Team
@@ -19,6 +19,7 @@ hestia_earth/utils/pipeline.py
19
19
  hestia_earth/utils/request.py
20
20
  hestia_earth/utils/stats.py
21
21
  hestia_earth/utils/table.py
22
+ hestia_earth/utils/term.py
22
23
  hestia_earth/utils/tools.py
23
24
  hestia_earth/utils/version.py
24
25
  hestia_earth/utils/pivot/__init__.py
@@ -1 +0,0 @@
1
- VERSION = '0.15.3'