castor-extractor 0.25.12__py3-none-any.whl → 0.25.14__py3-none-any.whl
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 castor-extractor might be problematic. Click here for more details.
- CHANGELOG.md +10 -0
- castor_extractor/transformation/coalesce/client/client.py +16 -2
- castor_extractor/warehouse/snowflake/queries/table.sql +2 -1
- {castor_extractor-0.25.12.dist-info → castor_extractor-0.25.14.dist-info}/METADATA +11 -2
- {castor_extractor-0.25.12.dist-info → castor_extractor-0.25.14.dist-info}/RECORD +8 -8
- {castor_extractor-0.25.12.dist-info → castor_extractor-0.25.14.dist-info}/LICENCE +0 -0
- {castor_extractor-0.25.12.dist-info → castor_extractor-0.25.14.dist-info}/WHEEL +0 -0
- {castor_extractor-0.25.12.dist-info → castor_extractor-0.25.14.dist-info}/entry_points.txt +0 -0
CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.25.14 - 2025-10-28
|
|
4
|
+
|
|
5
|
+
* Removing unused dependency (google-cloud-storage)
|
|
6
|
+
|
|
7
|
+
## 0.25.13 - 2025-10-16
|
|
8
|
+
|
|
9
|
+
* Coalesce:
|
|
10
|
+
* reduce pagination
|
|
11
|
+
* retry once on ReadTimeout or ConnectionTimeout
|
|
12
|
+
|
|
3
13
|
## 0.25.12 - 2025-10-16
|
|
4
14
|
|
|
5
15
|
* Add a deprecation warning for Python versions below 3.10
|
|
@@ -3,6 +3,8 @@ from functools import partial
|
|
|
3
3
|
from http import HTTPStatus
|
|
4
4
|
from typing import Callable, Optional
|
|
5
5
|
|
|
6
|
+
from requests.exceptions import ConnectTimeout, ReadTimeout
|
|
7
|
+
|
|
6
8
|
from ....exceptions import TestConnectionException
|
|
7
9
|
from ....utils import (
|
|
8
10
|
APIClient,
|
|
@@ -10,6 +12,7 @@ from ....utils import (
|
|
|
10
12
|
RequestSafeMode,
|
|
11
13
|
SerializedAsset,
|
|
12
14
|
fetch_all_pages,
|
|
15
|
+
retry,
|
|
13
16
|
)
|
|
14
17
|
from ..assets import CoalesceAsset, CoalesceQualityAsset
|
|
15
18
|
from .credentials import CoalesceCredentials
|
|
@@ -20,10 +23,12 @@ from .pagination import CoalescePagination
|
|
|
20
23
|
|
|
21
24
|
logger = logging.getLogger(__name__)
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
# increase pagination when extraction is too slow
|
|
27
|
+
# reduce pagination when hitting timeouts
|
|
28
|
+
COALESCE_PAGE_SIZE = 200
|
|
25
29
|
COALESCE_PAGE_SIZE_RUN_RESULTS = 1_000
|
|
26
30
|
|
|
31
|
+
# raising this value might end up in remote server disconnection
|
|
27
32
|
COALESCE_TIMEOUT_SECONDS = 90
|
|
28
33
|
|
|
29
34
|
_MAX_ERRORS = 200
|
|
@@ -33,6 +38,10 @@ COALESCE_SAFE_MODE = RequestSafeMode(
|
|
|
33
38
|
max_errors=_MAX_ERRORS,
|
|
34
39
|
)
|
|
35
40
|
|
|
41
|
+
RETRY_COUNT = 1
|
|
42
|
+
RETRY_BASE_MS = 5 * 60 * 1000 # 5 minutes
|
|
43
|
+
RETRY_EXCEPTIONS = [ConnectTimeout, ReadTimeout]
|
|
44
|
+
|
|
36
45
|
|
|
37
46
|
def _run_result_payload(
|
|
38
47
|
environment_id: str,
|
|
@@ -107,6 +116,11 @@ class CoalesceClient(APIClient):
|
|
|
107
116
|
result = fetch_all_pages(request, CoalescePagination)
|
|
108
117
|
return list(result)
|
|
109
118
|
|
|
119
|
+
@retry(
|
|
120
|
+
exceptions=RETRY_EXCEPTIONS,
|
|
121
|
+
max_retries=RETRY_COUNT,
|
|
122
|
+
base_ms=RETRY_BASE_MS,
|
|
123
|
+
)
|
|
110
124
|
def _fetch_env_nodes(self, environment_id: int) -> SerializedAsset:
|
|
111
125
|
endpoint = CoalesceEndpointFactory.nodes(environment_id=environment_id)
|
|
112
126
|
request = self._get_paginated(
|
|
@@ -36,7 +36,8 @@ SELECT
|
|
|
36
36
|
t.created,
|
|
37
37
|
t.last_altered,
|
|
38
38
|
t.deleted,
|
|
39
|
-
ta.tags
|
|
39
|
+
ta.tags,
|
|
40
|
+
t.is_dynamic
|
|
40
41
|
FROM snowflake.account_usage.tables AS t
|
|
41
42
|
JOIN snowflake.account_usage.schemata AS s ON s.schema_id = t.table_schema_id
|
|
42
43
|
JOIN tags_agg_tables ta ON t.table_id = ta.table_id
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: castor-extractor
|
|
3
|
-
Version: 0.25.
|
|
3
|
+
Version: 0.25.14
|
|
4
4
|
Summary: Extract your metadata assets.
|
|
5
5
|
Home-page: https://www.castordoc.com/
|
|
6
6
|
License: EULA
|
|
@@ -37,7 +37,6 @@ Requires-Dist: google-api-core (>=2.1.1,<3.0.0)
|
|
|
37
37
|
Requires-Dist: google-api-python-client (>=2.121.0,<3.0.0) ; extra == "lookerstudio" or extra == "all"
|
|
38
38
|
Requires-Dist: google-auth (>=2,<3)
|
|
39
39
|
Requires-Dist: google-cloud-core (>=2.1.0,<3.0.0)
|
|
40
|
-
Requires-Dist: google-cloud-storage (>=3.1.0,<4.0.0)
|
|
41
40
|
Requires-Dist: google-resumable-media (>=2.0.3,<3.0.0)
|
|
42
41
|
Requires-Dist: googleapis-common-protos (>=1.53.0,<2.0.0)
|
|
43
42
|
Requires-Dist: looker-sdk (>=25.0.0,<26.0.0) ; extra == "looker" or extra == "all"
|
|
@@ -216,6 +215,16 @@ For any questions or bug report, contact us at [support@coalesce.io](mailto:supp
|
|
|
216
215
|
|
|
217
216
|
# Changelog
|
|
218
217
|
|
|
218
|
+
## 0.25.14 - 2025-10-28
|
|
219
|
+
|
|
220
|
+
* Removing unused dependency (google-cloud-storage)
|
|
221
|
+
|
|
222
|
+
## 0.25.13 - 2025-10-16
|
|
223
|
+
|
|
224
|
+
* Coalesce:
|
|
225
|
+
* reduce pagination
|
|
226
|
+
* retry once on ReadTimeout or ConnectionTimeout
|
|
227
|
+
|
|
219
228
|
## 0.25.12 - 2025-10-16
|
|
220
229
|
|
|
221
230
|
* Add a deprecation warning for Python versions below 3.10
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
CHANGELOG.md,sha256=
|
|
1
|
+
CHANGELOG.md,sha256=2pAjf3JtSe5AR2zTewGuKOHPXZebBAZ_vNdR_S14C1s,22246
|
|
2
2
|
Dockerfile,sha256=xQ05-CFfGShT3oUqaiumaldwA288dj9Yb_pxofQpufg,301
|
|
3
3
|
DockerfileUsage.md,sha256=2hkJQF-5JuuzfPZ7IOxgM6QgIQW7l-9oRMFVwyXC4gE,998
|
|
4
4
|
LICENCE,sha256=sL-IGa4hweyya1HgzMskrRdybbIa2cktzxb5qmUgDg8,8254
|
|
@@ -78,7 +78,7 @@ castor_extractor/transformation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
|
|
|
78
78
|
castor_extractor/transformation/coalesce/__init__.py,sha256=CW_qdtEfwgJRsCyBlk5hNlxwEO-VV6mBXZvkRbND_J8,112
|
|
79
79
|
castor_extractor/transformation/coalesce/assets.py,sha256=pzccYPP66c9PAnVroemx7-6MeRHw7Ft1OlTC6jIamAA,363
|
|
80
80
|
castor_extractor/transformation/coalesce/client/__init__.py,sha256=VRmVpH29rOghtDQnCN7dAdA0dI0Lxseu4BC8rnwM9dU,80
|
|
81
|
-
castor_extractor/transformation/coalesce/client/client.py,sha256=
|
|
81
|
+
castor_extractor/transformation/coalesce/client/client.py,sha256=me9U6ovT4qR3AxTv9PN6fxG9UvPAdf7S9dvFDKVgFLY,6640
|
|
82
82
|
castor_extractor/transformation/coalesce/client/credentials.py,sha256=jbJxjbdPspf-dzYKfeb7oqL_8TXd1nvkJrjAcdAnLPc,548
|
|
83
83
|
castor_extractor/transformation/coalesce/client/endpoint.py,sha256=0uLh7dpA1vsR9qr_50SEYV_-heQE4BwED9oNMgYsL-w,1272
|
|
84
84
|
castor_extractor/transformation/coalesce/client/pagination.py,sha256=zynyWCMEzUQ7HA1Q5AP4BAOmxRQI6NA5jCPEo0lHn44,705
|
|
@@ -429,7 +429,7 @@ castor_extractor/warehouse/snowflake/queries/database.sql,sha256=yxHzV2oQfW0bo2d
|
|
|
429
429
|
castor_extractor/warehouse/snowflake/queries/function.sql,sha256=8LRh0ybhd-RldJ8UZspWUm3yv52evq11O2uqIO4KqeQ,372
|
|
430
430
|
castor_extractor/warehouse/snowflake/queries/query.sql,sha256=w4T6-TgwUozDgaF3Fk-qex7bDdEIHLkkB5XEe2VJXZQ,1992
|
|
431
431
|
castor_extractor/warehouse/snowflake/queries/schema.sql,sha256=iLn6_y5rn63KigjE4GEAMp8ZuZZofhMXYGb8saPDGUc,776
|
|
432
|
-
castor_extractor/warehouse/snowflake/queries/table.sql,sha256=
|
|
432
|
+
castor_extractor/warehouse/snowflake/queries/table.sql,sha256=ovZwQ5NqJB_IFggKfdeuMh2eCiptn4z-Ek6_1CFd1nU,1491
|
|
433
433
|
castor_extractor/warehouse/snowflake/queries/user.sql,sha256=88V8eRj1NDaD_ufclsKOHHlqCtBMQHOV54yy6RKJaXk,570
|
|
434
434
|
castor_extractor/warehouse/snowflake/queries/view_ddl.sql,sha256=eWsci_50cxiYIv3N7BKkbXVM3RoIzqSDtohqRnE5kg4,673
|
|
435
435
|
castor_extractor/warehouse/snowflake/query.py,sha256=C2LTdPwBzMQ_zMncg0Kq4_WkoY7K9as5tvxBDrIOlwI,1763
|
|
@@ -446,8 +446,8 @@ castor_extractor/warehouse/sqlserver/queries/user.sql,sha256=MAlnTis43E3Amu1e1Oz
|
|
|
446
446
|
castor_extractor/warehouse/sqlserver/queries/view_ddl.sql,sha256=9rynvx6MWg3iZzrWPB7haZfVKEPkxulzryE2g19x804,315
|
|
447
447
|
castor_extractor/warehouse/sqlserver/query.py,sha256=gr5lnZSUm-wSYuVnJlg6fc7jXWirbL-sCiQN9RnAiPQ,1789
|
|
448
448
|
castor_extractor/warehouse/synapse/queries/column.sql,sha256=lNcFoIW3Y0PFOqoOzJEXmPvZvfAsY0AP63Mu2LuPzPo,1351
|
|
449
|
-
castor_extractor-0.25.
|
|
450
|
-
castor_extractor-0.25.
|
|
451
|
-
castor_extractor-0.25.
|
|
452
|
-
castor_extractor-0.25.
|
|
453
|
-
castor_extractor-0.25.
|
|
449
|
+
castor_extractor-0.25.14.dist-info/LICENCE,sha256=sL-IGa4hweyya1HgzMskrRdybbIa2cktzxb5qmUgDg8,8254
|
|
450
|
+
castor_extractor-0.25.14.dist-info/METADATA,sha256=DTV_oWepOjhPFLkQ3XXf06lXcmmUaWCDSHz-PD68Hm0,29696
|
|
451
|
+
castor_extractor-0.25.14.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
452
|
+
castor_extractor-0.25.14.dist-info/entry_points.txt,sha256=qyTrKNByoq2HYi1xbA79OU7qxg-OWPvle8VwDqt-KnE,1869
|
|
453
|
+
castor_extractor-0.25.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|