sdmxlib 0.22.0__tar.gz → 0.23.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.
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/PKG-INFO +1 -1
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/pyproject.toml +1 -1
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/__init__.py +6 -1
- sdmxlib-0.23.0/src/sdmxlib/local/__init__.py +6 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/local/_registry.py +3 -3
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/__init__.py +3 -0
- sdmxlib-0.23.0/src/sdmxlib/model/hierarchy_query.py +906 -0
- sdmxlib-0.23.0/src/sdmxlib/storage/lazy.py +693 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/storage/readers.py +50 -0
- sdmxlib-0.22.0/src/sdmxlib/local/__init__.py +0 -6
- sdmxlib-0.22.0/src/sdmxlib/storage/lazy.py +0 -333
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/README.md +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/api/__init__.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/api/client.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/api/federated.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/api/filters.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/api/policy.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/api/providers.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/api/query.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/api/registry.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/api/session.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/catalog.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/data_store.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/__init__.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_csv/__init__.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_csv/reader.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_csv/writer.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_json/__init__.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_json/metadata.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_json/reader.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_json/writer.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_ml21/__init__.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_ml21/namespaces.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_ml21/reader.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_ml21/writer.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_ml30/__init__.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_ml30/metadata.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_ml30/namespaces.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_ml30/reader.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/formats/sdmx_ml30/writer.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/local/_data_store.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/annotations.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/base.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/binding.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/category.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/code_query.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/codelist.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/collections.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/concept.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/constraint.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/convert.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/dataflow.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/dataset.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/datastructure.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/expr.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/hierarchy.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/in_memory_registry.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/istring.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/mapping.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/message.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/metadataflow.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/metadataset.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/metadatastructure.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/organisation.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/provision.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/ref.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/registry.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/representation.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/urn.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/model/validation.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/polars.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/py.typed +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/rest.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/storage/__init__.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/storage/schema.py +0 -0
- {sdmxlib-0.22.0 → sdmxlib-0.23.0}/src/sdmxlib/storage/writers.py +0 -0
|
@@ -9,7 +9,7 @@ from sdmxlib.api.registry import BearerToken, FmrRegistry, RestRegistry
|
|
|
9
9
|
from sdmxlib.catalog import DataflowEntry, FederatedCatalog
|
|
10
10
|
from sdmxlib.data_store import DataStore, SqlRelation
|
|
11
11
|
from sdmxlib.formats import parse, read, serialize, to_json, to_xml
|
|
12
|
-
from sdmxlib.local import LazyCodelist, LocalRegistry
|
|
12
|
+
from sdmxlib.local import LazyCodelist, LazyHierarchy, LocalRegistry
|
|
13
13
|
from sdmxlib.local._data_store import DuckDBDataStore
|
|
14
14
|
from sdmxlib.rest import ComponentFilter, parse_components
|
|
15
15
|
from sdmxlib.model.convert import from_dict, to_dict
|
|
@@ -89,8 +89,10 @@ from sdmxlib.model import (
|
|
|
89
89
|
UnresolvedRef,
|
|
90
90
|
artefact_urn,
|
|
91
91
|
code,
|
|
92
|
+
node,
|
|
92
93
|
validate_binding,
|
|
93
94
|
)
|
|
95
|
+
from sdmxlib.model.hierarchy_query import HierarchyNodeQuery
|
|
94
96
|
|
|
95
97
|
__all__ = [
|
|
96
98
|
"Agency",
|
|
@@ -145,6 +147,7 @@ __all__ = [
|
|
|
145
147
|
"Group",
|
|
146
148
|
"HierarchicalCode",
|
|
147
149
|
"Hierarchy",
|
|
150
|
+
"HierarchyNodeQuery",
|
|
148
151
|
"InMemoryRegistry",
|
|
149
152
|
"InternationalString",
|
|
150
153
|
"ItemExpr",
|
|
@@ -152,6 +155,7 @@ __all__ = [
|
|
|
152
155
|
"ItemPredicate",
|
|
153
156
|
"KeyValue",
|
|
154
157
|
"LazyCodelist",
|
|
158
|
+
"LazyHierarchy",
|
|
155
159
|
"Level",
|
|
156
160
|
"LocalRegistry",
|
|
157
161
|
"Maintainable",
|
|
@@ -188,6 +192,7 @@ __all__ = [
|
|
|
188
192
|
"dim",
|
|
189
193
|
"from_dict",
|
|
190
194
|
"item",
|
|
195
|
+
"node",
|
|
191
196
|
"parse",
|
|
192
197
|
"parse_components",
|
|
193
198
|
"read",
|
|
@@ -38,7 +38,7 @@ from sdmxlib.model.ref import Ref
|
|
|
38
38
|
from sdmxlib.model.registry import InMemoryRegistry
|
|
39
39
|
from sdmxlib.model.urn import SdmxUrn
|
|
40
40
|
from sdmxlib.storage import readers, writers
|
|
41
|
-
from sdmxlib.storage.lazy import LazyCodelist
|
|
41
|
+
from sdmxlib.storage.lazy import LazyCodelist, LazyHierarchy
|
|
42
42
|
from sdmxlib.storage.readers import _TYPE_REGISTRY
|
|
43
43
|
from sdmxlib.storage.schema import (
|
|
44
44
|
SCHEMA_VERSION,
|
|
@@ -170,7 +170,7 @@ class LocalRegistry:
|
|
|
170
170
|
result = readers.get_artefact(self._cursor, str(urn), eager=eager)
|
|
171
171
|
if result is None:
|
|
172
172
|
return None
|
|
173
|
-
if not isinstance(result, LazyCodelist):
|
|
173
|
+
if not isinstance(result, (LazyCodelist, LazyHierarchy)):
|
|
174
174
|
self._resolve_refs(result, set())
|
|
175
175
|
return result # type: ignore[return-value]
|
|
176
176
|
|
|
@@ -178,7 +178,7 @@ class LocalRegistry:
|
|
|
178
178
|
"""All artefacts of the given Python type."""
|
|
179
179
|
results = readers.get_all(self._cursor, artefact_type)
|
|
180
180
|
for r in results:
|
|
181
|
-
if not isinstance(r, LazyCodelist):
|
|
181
|
+
if not isinstance(r, (LazyCodelist, LazyHierarchy)):
|
|
182
182
|
self._resolve_refs(r, set())
|
|
183
183
|
return results # type: ignore[return-value]
|
|
184
184
|
|
|
@@ -28,6 +28,7 @@ from sdmxlib.model.mapping import (
|
|
|
28
28
|
)
|
|
29
29
|
from sdmxlib.model.codelist import Code, Codelist
|
|
30
30
|
from sdmxlib.model.code_query import CodeQuery, code
|
|
31
|
+
from sdmxlib.model.hierarchy_query import HierarchyNodeQuery, node
|
|
31
32
|
from sdmxlib.model.collections import ArtefactList, ItemList, Maintainable
|
|
32
33
|
from sdmxlib.model.expr import ItemExpr, ItemPredicate, item
|
|
33
34
|
from sdmxlib.model.concept import Concept, ConceptScheme
|
|
@@ -103,6 +104,7 @@ __all__ = [
|
|
|
103
104
|
"Group",
|
|
104
105
|
"HierarchicalCode",
|
|
105
106
|
"Hierarchy",
|
|
107
|
+
"HierarchyNodeQuery",
|
|
106
108
|
"InMemoryRegistry",
|
|
107
109
|
"InternationalString",
|
|
108
110
|
"ItemExpr",
|
|
@@ -139,6 +141,7 @@ __all__ = [
|
|
|
139
141
|
"code",
|
|
140
142
|
"from_dict",
|
|
141
143
|
"item",
|
|
144
|
+
"node",
|
|
142
145
|
"to_dict",
|
|
143
146
|
"validate",
|
|
144
147
|
"validate_binding",
|