dapla-toolbelt-metadata 0.2.3__tar.gz → 0.2.5__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 dapla-toolbelt-metadata might be problematic. Click here for more details.
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/PKG-INFO +1 -2
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/pyproject.toml +1 -2
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/dapla_dataset_path_info.py +16 -4
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/dataset_parser.py +2 -2
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/utility/utils.py +1 -6
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/LICENSE +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/README.md +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/__init__.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/__init__.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/code_list.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/config.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/core.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/external_sources/__init__.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/external_sources/external_sources.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/model_backwards_compatibility.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/model_validation.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/py.typed +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/statistic_subject_mapping.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/user_info.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/utility/__init__.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/utility/constants.py +0 -0
- {dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/utility/enums.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dapla-toolbelt-metadata
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Dapla Toolbelt Metadata
|
|
5
5
|
Home-page: https://github.com/statisticsnorway/dapla-toolbelt-metadata
|
|
6
6
|
License: MIT
|
|
@@ -17,7 +17,6 @@ Requires-Dist: arrow (>=1.3.0)
|
|
|
17
17
|
Requires-Dist: beautifulsoup4 (>=4.12.3)
|
|
18
18
|
Requires-Dist: cloudpathlib[gs] (>=0.17.0)
|
|
19
19
|
Requires-Dist: dapla-toolbelt (>=3.0.1)
|
|
20
|
-
Requires-Dist: google-auth-stubs (>=0.3.0,<0.4.0)
|
|
21
20
|
Requires-Dist: pandas (>=1.4.2)
|
|
22
21
|
Requires-Dist: pyarrow (>=8.0.0)
|
|
23
22
|
Requires-Dist: pydantic (>=2.5.2)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "dapla-toolbelt-metadata"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.5"
|
|
4
4
|
description = "Dapla Toolbelt Metadata"
|
|
5
5
|
authors = ["Team Metadata <metadata@ssb.no>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -30,7 +30,6 @@ pyjwt = ">=2.8.0"
|
|
|
30
30
|
ssb-klass-python = ">=0.0.9"
|
|
31
31
|
ssb-datadoc-model = "^6.0.0"
|
|
32
32
|
typing-extensions = ">=4.12.2"
|
|
33
|
-
google-auth-stubs = "^0.3.0"
|
|
34
33
|
|
|
35
34
|
[tool.poetry.group.dev.dependencies]
|
|
36
35
|
black = ">=24.8.0"
|
|
@@ -141,6 +141,9 @@ class SsbDateFormat(DateFormat):
|
|
|
141
141
|
|
|
142
142
|
>>> SSB_BIMESTER.get_floor("2003B4")
|
|
143
143
|
datetime.date(2003, 7, 1)
|
|
144
|
+
|
|
145
|
+
>>> SSB_BIMESTER.get_floor("2003-B4")
|
|
146
|
+
datetime.date(2003, 7, 1)
|
|
144
147
|
"""
|
|
145
148
|
try:
|
|
146
149
|
year = period_string[:4]
|
|
@@ -170,6 +173,9 @@ class SsbDateFormat(DateFormat):
|
|
|
170
173
|
|
|
171
174
|
>>> SSB_HALF_YEAR.get_ceil("2024H1")
|
|
172
175
|
datetime.date(2024, 6, 30)
|
|
176
|
+
|
|
177
|
+
>>> SSB_HALF_YEAR.get_ceil("2024-H1")
|
|
178
|
+
datetime.date(2024, 6, 30)
|
|
173
179
|
"""
|
|
174
180
|
try:
|
|
175
181
|
year = period_string[:4]
|
|
@@ -182,7 +188,7 @@ class SsbDateFormat(DateFormat):
|
|
|
182
188
|
|
|
183
189
|
SSB_BIMESTER = SsbDateFormat(
|
|
184
190
|
name="SSB_BIMESTER",
|
|
185
|
-
regex_pattern=r"^\d{4}[B]\d{1}$",
|
|
191
|
+
regex_pattern=r"^\d{4}-?[B]\d{1}$",
|
|
186
192
|
arrow_pattern="YYYYMM",
|
|
187
193
|
timeframe="month",
|
|
188
194
|
ssb_dates={
|
|
@@ -215,7 +221,7 @@ SSB_BIMESTER = SsbDateFormat(
|
|
|
215
221
|
|
|
216
222
|
SSB_QUARTERLY = SsbDateFormat(
|
|
217
223
|
name="SSB_QUARTERLY",
|
|
218
|
-
regex_pattern=r"^\d{4}[Q]\d{1}$",
|
|
224
|
+
regex_pattern=r"^\d{4}-?[Q]\d{1}$",
|
|
219
225
|
arrow_pattern="YYYYMM",
|
|
220
226
|
timeframe="month",
|
|
221
227
|
ssb_dates={
|
|
@@ -240,7 +246,7 @@ SSB_QUARTERLY = SsbDateFormat(
|
|
|
240
246
|
|
|
241
247
|
SSB_TRIANNUAL = SsbDateFormat(
|
|
242
248
|
name="SSB_TRIANNUAL",
|
|
243
|
-
regex_pattern=r"^\d{4}[T]\d{1}$",
|
|
249
|
+
regex_pattern=r"^\d{4}-?[T]\d{1}$",
|
|
244
250
|
arrow_pattern="YYYYMM",
|
|
245
251
|
timeframe="month",
|
|
246
252
|
ssb_dates={
|
|
@@ -260,7 +266,7 @@ SSB_TRIANNUAL = SsbDateFormat(
|
|
|
260
266
|
)
|
|
261
267
|
SSB_HALF_YEAR = SsbDateFormat(
|
|
262
268
|
name="SSB_HALF_YEAR",
|
|
263
|
-
regex_pattern=r"^\d{4}[H]\d{1}$",
|
|
269
|
+
regex_pattern=r"^\d{4}-?[H]\d{1}$",
|
|
264
270
|
arrow_pattern="YYYYMM",
|
|
265
271
|
timeframe="month",
|
|
266
272
|
ssb_dates={
|
|
@@ -413,6 +419,9 @@ class DaplaDatasetPathInfo:
|
|
|
413
419
|
>>> DaplaDatasetPathInfo._extract_period_strings(['p1990Q1', 'kommune', 'v1'])
|
|
414
420
|
['1990Q1']
|
|
415
421
|
|
|
422
|
+
>>> DaplaDatasetPathInfo._extract_period_strings(['p1990-Q1', 'kommune', 'v1'])
|
|
423
|
+
['1990-Q1']
|
|
424
|
+
|
|
416
425
|
>>> DaplaDatasetPathInfo._extract_period_strings(['varehandel','v1'])
|
|
417
426
|
[]
|
|
418
427
|
"""
|
|
@@ -586,6 +595,9 @@ class DaplaDatasetPathInfo:
|
|
|
586
595
|
>>> DaplaDatasetPathInfo('klargjorte_data/person_data_v1.parquet').dataset_state
|
|
587
596
|
<DataSetState.PROCESSED_DATA: 'PROCESSED_DATA'>
|
|
588
597
|
|
|
598
|
+
>>> DaplaDatasetPathInfo('klargjorte-data/person_data_v1.parquet').dataset_state
|
|
599
|
+
<DataSetState.PROCESSED_DATA: 'PROCESSED_DATA'>
|
|
600
|
+
|
|
589
601
|
>>> DaplaDatasetPathInfo('utdata/min_statistikk/person_data_v1.parquet').dataset_state
|
|
590
602
|
<DataSetState.OUTPUT_DATA: 'OUTPUT_DATA'>
|
|
591
603
|
|
|
@@ -179,11 +179,11 @@ class DatasetParserParquet(DatasetParser):
|
|
|
179
179
|
def get_fields(self) -> list[Variable]:
|
|
180
180
|
"""Extract the fields from this dataset."""
|
|
181
181
|
with self.dataset.open(mode="rb") as f:
|
|
182
|
-
schema: pa.Schema = pq.read_schema(f) # type: ignore [arg-type]
|
|
182
|
+
schema: pa.Schema = pq.read_schema(f) # type: ignore [arg-type, assignment]
|
|
183
183
|
return [
|
|
184
184
|
Variable(
|
|
185
185
|
short_name=data_field.name.strip(),
|
|
186
|
-
data_type=self.transform_data_type(str(data_field.type)),
|
|
186
|
+
data_type=self.transform_data_type(str(data_field.type)), # type: ignore [attr-defined]
|
|
187
187
|
)
|
|
188
188
|
for data_field in schema
|
|
189
189
|
if data_field.name
|
|
@@ -5,7 +5,6 @@ import logging
|
|
|
5
5
|
import pathlib
|
|
6
6
|
import uuid
|
|
7
7
|
|
|
8
|
-
import google.auth
|
|
9
8
|
from cloudpathlib import CloudPath
|
|
10
9
|
from cloudpathlib import GSClient
|
|
11
10
|
from cloudpathlib import GSPath
|
|
@@ -52,11 +51,7 @@ def normalize_path(path: str) -> pathlib.Path | CloudPath:
|
|
|
52
51
|
Pathlib compatible object.
|
|
53
52
|
"""
|
|
54
53
|
if path.startswith(GSPath.cloud_prefix):
|
|
55
|
-
|
|
56
|
-
credentials, _ = google.auth.default()
|
|
57
|
-
client = GSClient(credentials=credentials)
|
|
58
|
-
except google.auth.exceptions.DefaultCredentialsError:
|
|
59
|
-
client = GSClient(credentials=AuthClient.fetch_google_credentials())
|
|
54
|
+
client = GSClient(credentials=AuthClient.fetch_google_credentials())
|
|
60
55
|
return GSPath(path, client=client)
|
|
61
56
|
return pathlib.Path(path)
|
|
62
57
|
|
|
File without changes
|
|
File without changes
|
{dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/core.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dapla_toolbelt_metadata-0.2.3 → dapla_toolbelt_metadata-0.2.5}/src/dapla_metadata/datasets/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|