castor-extractor 0.25.9__py3-none-any.whl → 0.25.12__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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.25.12 - 2025-10-16
4
+
5
+ * Add a deprecation warning for Python versions below 3.10
6
+
7
+ ## 0.25.11 - 2025-10-15
8
+
9
+ * Sigma: catch ReadTimeouts during queries extraction
10
+
11
+ ## 0.25.10 - 2025-10-09
12
+
13
+ * Fix import
14
+
3
15
  ## 0.25.9 - 2025-10-09
4
16
 
5
17
  * Snowflake: raise an exception when no database is available for extraction
@@ -0,0 +1,3 @@
1
+ from castor_extractor.utils import deprecate_python # type: ignore
2
+
3
+ deprecate_python(min_version_supported=(3, 10))
@@ -3,3 +3,8 @@ class NoDatabaseProvidedException(Exception):
3
3
  super().__init__("""No database eligible for extraction.
4
4
  If you are using the db_allow/db_block options, please make sure to use the correct case.
5
5
  """)
6
+
7
+
8
+ class TestConnectionException(Exception):
9
+ def __init__(self, caused_by: Exception):
10
+ super().__init__(f"Connection could not be verified: {caused_by}")
@@ -3,6 +3,7 @@ from functools import partial
3
3
  from http import HTTPStatus
4
4
  from typing import Callable, Optional
5
5
 
6
+ from ....exceptions import TestConnectionException
6
7
  from ....utils import (
7
8
  APIClient,
8
9
  BearerAuth,
@@ -64,6 +65,14 @@ class CoalesceBearerAuth(BearerAuth):
64
65
  class CoalesceClient(APIClient):
65
66
  """REST API client to extract data from Coalesce"""
66
67
 
68
+ def test_connection(self) -> None:
69
+ endpoint = CoalesceEndpointFactory.environments()
70
+ request = self._get_paginated(endpoint=endpoint)
71
+ try:
72
+ next(fetch_all_pages(request, CoalescePagination))
73
+ except Exception as e:
74
+ raise TestConnectionException(e)
75
+
67
76
  def __init__(
68
77
  self,
69
78
  credentials: CoalesceCredentials,
@@ -192,7 +192,12 @@ class SigmaClient(APIClient):
192
192
  )
193
193
  queries = fetch_all_pages(request, SigmaPagination)
194
194
 
195
- yield from self._yield_deduplicated_queries(queries, workbook_id)
195
+ try:
196
+ yield from self._yield_deduplicated_queries(
197
+ queries, workbook_id
198
+ )
199
+ except ReadTimeout:
200
+ logger.warning(f"ReadTimeout for workbook {workbook_id}")
196
201
 
197
202
  def _get_all_datamodel_sources(
198
203
  self, datamodels: list[dict]
@@ -2,10 +2,9 @@ import json
2
2
  import logging
3
3
  from typing import cast
4
4
 
5
- from castor_extractor.exceptions import ( # type: ignore
5
+ from ...exceptions import (
6
6
  NoDatabaseProvidedException,
7
7
  )
8
-
9
8
  from ...logger import add_logging_file_handler
10
9
  from ...utils import LocalStorage, SafeMode, from_env, write_summary
11
10
  from ..abstract import (
@@ -2,10 +2,9 @@ import logging
2
2
  from datetime import date
3
3
  from typing import Optional
4
4
 
5
- from castor_extractor.exceptions import ( # type: ignore
5
+ from ...exceptions import (
6
6
  NoDatabaseProvidedException,
7
7
  )
8
-
9
8
  from ...utils import AbstractStorage, LocalStorage, write_summary
10
9
  from ..abstract import (
11
10
  ADDITIONAL_LINEAGE_ASSETS,
@@ -1,9 +1,8 @@
1
1
  import logging
2
2
 
3
- from castor_extractor.exceptions import ( # type: ignore
3
+ from ...exceptions import (
4
4
  NoDatabaseProvidedException,
5
5
  )
6
-
7
6
  from ...utils import LocalStorage, from_env, write_summary
8
7
  from ..abstract import (
9
8
  CATALOG_ASSETS,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: castor-extractor
3
- Version: 0.25.9
3
+ Version: 0.25.12
4
4
  Summary: Extract your metadata assets.
5
5
  Home-page: https://www.castordoc.com/
6
6
  License: EULA
@@ -216,6 +216,18 @@ For any questions or bug report, contact us at [support@coalesce.io](mailto:supp
216
216
 
217
217
  # Changelog
218
218
 
219
+ ## 0.25.12 - 2025-10-16
220
+
221
+ * Add a deprecation warning for Python versions below 3.10
222
+
223
+ ## 0.25.11 - 2025-10-15
224
+
225
+ * Sigma: catch ReadTimeouts during queries extraction
226
+
227
+ ## 0.25.10 - 2025-10-09
228
+
229
+ * Fix import
230
+
219
231
  ## 0.25.9 - 2025-10-09
220
232
 
221
233
  * Snowflake: raise an exception when no database is available for extraction
@@ -1,10 +1,10 @@
1
- CHANGELOG.md,sha256=_a0SAY_yUw6oLXAGY2GZRZmOytS5lHUVP6-6mLD1XgY,21853
1
+ CHANGELOG.md,sha256=mF8dWRAF5Bnd2HZCRn6ZkVk-rjPmEWdvs9nNwYCxAVM,22057
2
2
  Dockerfile,sha256=xQ05-CFfGShT3oUqaiumaldwA288dj9Yb_pxofQpufg,301
3
3
  DockerfileUsage.md,sha256=2hkJQF-5JuuzfPZ7IOxgM6QgIQW7l-9oRMFVwyXC4gE,998
4
4
  LICENCE,sha256=sL-IGa4hweyya1HgzMskrRdybbIa2cktzxb5qmUgDg8,8254
5
5
  README.md,sha256=C6hTyZO60T7z7xwHbspHlii384Jn02k0Rycxu3bCX0o,3866
6
6
  castor_extractor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- castor_extractor/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ castor_extractor/commands/__init__.py,sha256=3q18pP2jt0slwgrMkja-8vNq_GNk9-PZW6GPfqGQgxk,117
8
8
  castor_extractor/commands/extract_bigquery.py,sha256=dU4OiYO1V0n32orvZnMh1_xtFKF_VxHNXcVsH3otY-g,1269
9
9
  castor_extractor/commands/extract_confluence.py,sha256=blYcnDqywXNKRQ1aZAD9FclhLlO7x8Y_tb0lgl85v0w,1641
10
10
  castor_extractor/commands/extract_count.py,sha256=cITp-2UmPYjbcICvYZzxE9oWieI8NbTH1DcWxLAZxJ4,611
@@ -31,7 +31,7 @@ castor_extractor/commands/extract_tableau.py,sha256=cfH-b0Hq9LGrQSJv02Yr_4d6oNqh
31
31
  castor_extractor/commands/extract_thoughtspot.py,sha256=caAYJlH-vK7u5IUB6OKXxcaWfLgc7d_XqnFDWK6YNS4,639
32
32
  castor_extractor/commands/file_check.py,sha256=TJx76Ymd0QCECmq35zRJMkPE8DJtSInB28MuSXWk8Ao,2644
33
33
  castor_extractor/commands/upload.py,sha256=sqpEF_qqCNvT_niIrM6jPhzLaFVjtYwpc2iZw540F20,1633
34
- castor_extractor/exceptions.py,sha256=WypgqL8AxYL1viYUCSY4528pk5TRcqVNPvyLMMMDWGw,238
34
+ castor_extractor/exceptions.py,sha256=fhG5San5XzUr02XXEmCWs1_I_YS_cUji-E_G8_VYCsY,403
35
35
  castor_extractor/file_checker/__init__.py,sha256=OSt6YLhUT42U_Cp3LCLHMVruwDkksL75Ij13X2UPnVk,119
36
36
  castor_extractor/file_checker/column.py,sha256=6bJhcW1snYwgHKkqlS0Ak7XLHZr4YBwO46JCIlnQNKg,3086
37
37
  castor_extractor/file_checker/column_test.py,sha256=1j8PxvmvmJgpd-mk30iMYOme32ovPSIn4yCXywFoXrg,1935
@@ -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=Fm4ozdjosV77AvLVUvOkdMuH2GhepH-AU4xyu7WEgMM,5826
81
+ castor_extractor/transformation/coalesce/client/client.py,sha256=qBg0Qrs-YgkypgF51oK08ryY8XRtwvm1iAY7pFSn2CQ,6184
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
@@ -288,7 +288,7 @@ castor_extractor/visualization/sigma/__init__.py,sha256=GINql4yJLtjfOJgjHaWNpE13
288
288
  castor_extractor/visualization/sigma/assets.py,sha256=iVZqi7XtNgSOVXy0jgeHZonVOeXi7jyikor8ztbECBc,398
289
289
  castor_extractor/visualization/sigma/client/__init__.py,sha256=YQv06FBBQHvBMFg_tN0nUcmUp2NCL2s-eFTXG8rXaBg,74
290
290
  castor_extractor/visualization/sigma/client/authentication.py,sha256=gHukrpfboIjZc_O9CcuDtrl6U-StH0J73VY2J74Bm9o,2279
291
- castor_extractor/visualization/sigma/client/client.py,sha256=bYlOwtb6ftASb9onUSAHCdEiyfsY5H_KHWkQB4y2Y-o,9063
291
+ castor_extractor/visualization/sigma/client/client.py,sha256=l2VlNktvtinRPR9RIIw8LlHRH-hhoycQlMG5HrQiIbc,9228
292
292
  castor_extractor/visualization/sigma/client/client_test.py,sha256=ae0ZOvKutCm44jnrJ-0_A5Y6ZGyDkMf9Ml3eEP8dNkY,581
293
293
  castor_extractor/visualization/sigma/client/credentials.py,sha256=XddAuQSmCKpxJ70TQgRnOj0vMPYVtiStk_lMMQ1AiNM,693
294
294
  castor_extractor/visualization/sigma/client/endpoints.py,sha256=by9VIFml2whlzQT66f2m56RYBsqPrWdAmIP4JkTaBV4,1799
@@ -337,7 +337,7 @@ castor_extractor/warehouse/bigquery/__init__.py,sha256=PCGNYdi7dHv-SyanUWzRuBp-y
337
337
  castor_extractor/warehouse/bigquery/client.py,sha256=lPAn6WUwDq0rIPNaMOcabet8C4TYJ93EWZUxX72XrZc,5595
338
338
  castor_extractor/warehouse/bigquery/client_test.py,sha256=Ym8e4d--0YQwiVcNUnXLx0X-X6ZznwNMBMbMaDS5oEA,1514
339
339
  castor_extractor/warehouse/bigquery/credentials.py,sha256=oCZ8H7qpudKzwM7PRMpVAmWXt7bjIRa8Harmp-ysQJ4,425
340
- castor_extractor/warehouse/bigquery/extract.py,sha256=4zdqzUROktteGLEpssxT-23shyD7UqWcrs8Mey5MsXA,3128
340
+ castor_extractor/warehouse/bigquery/extract.py,sha256=N2LZz6UU0CRRhOw66mrnTmImiIxVn-_sGsCxOCW4wcY,3097
341
341
  castor_extractor/warehouse/bigquery/queries/.sqlfluff,sha256=ce8UDW2k39v6RBVxgKqjOHHYMoGN9S9f7BCZNHHhox8,30
342
342
  castor_extractor/warehouse/bigquery/queries/column.sql,sha256=NxdTnHwomHTEGSc-UoXFKUwg59I9XAOwrSau7JUqGQE,1815
343
343
  castor_extractor/warehouse/bigquery/queries/cte/sharded.sql,sha256=-G7_4lxV7UPe72mYlp4HDGeM_fJjZWuXJ7Q0vxvj5_U,1454
@@ -358,7 +358,7 @@ castor_extractor/warehouse/databricks/client_test.py,sha256=dqEdEAt-6e8CtQ7M2L5v
358
358
  castor_extractor/warehouse/databricks/credentials.py,sha256=ExtVcl2NpMXTx1Lg8vHQdzQtSEm2aqpg3D1BJrNAUjI,528
359
359
  castor_extractor/warehouse/databricks/endpoints.py,sha256=qPoL9CtPFJdwVuW9rJ37nmeMd-nChOBouEVYb4SlaUE,670
360
360
  castor_extractor/warehouse/databricks/enums.py,sha256=3T6BbVvbWvfWkD23krsYT1x0kKh1qRzNPl6WpcXe300,274
361
- castor_extractor/warehouse/databricks/extract.py,sha256=u3WJV5bnVKYhGx_yJ_yYyxZjuMw5uC3ehiM_zQeoQwk,7526
361
+ castor_extractor/warehouse/databricks/extract.py,sha256=mv780vnwJQ9vHhBRBR5SNcc7Z8PbGCLOrq-XSV0uziA,7495
362
362
  castor_extractor/warehouse/databricks/format.py,sha256=S3BOcwJubc1pyKr-li26uftUUfsjfrm5Qf4LqmElXVk,6736
363
363
  castor_extractor/warehouse/databricks/format_test.py,sha256=ls0IcOElqp_qecAzNbK0zdca7Pms4seCHimbw8NAoAI,3322
364
364
  castor_extractor/warehouse/databricks/pagination.py,sha256=sM1G0sN1pf1TPpI0Y3Oew378UGEKVkMRc2Mlu9tDjLo,545
@@ -421,7 +421,7 @@ castor_extractor/warehouse/snowflake/client.py,sha256=RB72bbl_k91wDU76yrggPK6oeE
421
421
  castor_extractor/warehouse/snowflake/client_test.py,sha256=ihWtOOAQfh8pu5JTr_EWfqefKOVIaJXznACURzaU1Qs,1432
422
422
  castor_extractor/warehouse/snowflake/credentials.py,sha256=u0sZ6xPtcZmmvnUsAejJk-YxGl8BTzX_BlRjRk92BYU,932
423
423
  castor_extractor/warehouse/snowflake/credentials_test.py,sha256=Lkc-DHXOvr50KrqAW4nt_x0IA0Mu_CsBVu6ATnzQB6I,673
424
- castor_extractor/warehouse/snowflake/extract.py,sha256=E7mJsJneCofYoAgyQpc7Th2gKxsyZm2cRr1iADDAcl0,3656
424
+ castor_extractor/warehouse/snowflake/extract.py,sha256=N-lZHOTW0bQyEeKA9EuhPB9YkAd1UjyHKkEsl8hat6g,3625
425
425
  castor_extractor/warehouse/snowflake/queries/.sqlfluff,sha256=vttrwcr64JVIuvc7WIg9C54cbOkjg_VjXNR7YnTGOPE,31
426
426
  castor_extractor/warehouse/snowflake/queries/column.sql,sha256=Ru-yC0s76I9LehOA4aCZ--xz6D9H1Hyr3OZdILOBHAw,1882
427
427
  castor_extractor/warehouse/snowflake/queries/column_lineage.sql,sha256=YKBiZ6zySSNcXLDXwm31EjGIIkkkZc0-S6hI1SRM80o,1179
@@ -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.9.dist-info/LICENCE,sha256=sL-IGa4hweyya1HgzMskrRdybbIa2cktzxb5qmUgDg8,8254
450
- castor_extractor-0.25.9.dist-info/METADATA,sha256=B5If1AjiP00k7LJDYd13LtlfRoDrxPylNJ5AmjWmFTA,29355
451
- castor_extractor-0.25.9.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
452
- castor_extractor-0.25.9.dist-info/entry_points.txt,sha256=qyTrKNByoq2HYi1xbA79OU7qxg-OWPvle8VwDqt-KnE,1869
453
- castor_extractor-0.25.9.dist-info/RECORD,,
449
+ castor_extractor-0.25.12.dist-info/LICENCE,sha256=sL-IGa4hweyya1HgzMskrRdybbIa2cktzxb5qmUgDg8,8254
450
+ castor_extractor-0.25.12.dist-info/METADATA,sha256=8CbY2v74BOKMCVvYm8-P7rPKSE5i9gyX2Qd-Ct_K0rY,29560
451
+ castor_extractor-0.25.12.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
452
+ castor_extractor-0.25.12.dist-info/entry_points.txt,sha256=qyTrKNByoq2HYi1xbA79OU7qxg-OWPvle8VwDqt-KnE,1869
453
+ castor_extractor-0.25.12.dist-info/RECORD,,