castor-extractor 0.20.5__py3-none-any.whl → 0.20.7__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,6 +1,14 @@
1
1
 
2
2
  # Changelog
3
3
 
4
+ ## 0.20.7 - 2024-10-18
5
+
6
+ * Metabase: fix `require_ssl` type in credentials
7
+
8
+ ## 0.20.6 - 2024-10-15
9
+
10
+ * Tableau: include `site_id` in **workbooks** to build url
11
+
4
12
  ## 0.20.5 - 2024-10-09
5
13
 
6
14
  * Redshift: enable extraction from a Redshift Serverless instance
Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- # syntax=docker/dockerfile:1.5
1
+ # syntax=docker/dockerfile:1
2
2
 
3
3
  FROM --platform=linux/amd64 python:3.11-slim
4
4
 
@@ -1,6 +1,6 @@
1
1
  from typing import Optional
2
2
 
3
- from pydantic import Field
3
+ from pydantic import AliasChoices, Field
4
4
  from pydantic_settings import BaseSettings, SettingsConfigDict
5
5
 
6
6
  METABASE_DB_ENV_PREFIX = "CASTOR_METABASE_DB_"
@@ -18,9 +18,15 @@ class MetabaseDbCredentials(BaseSettings):
18
18
  host: str
19
19
  port: str
20
20
  database: str
21
- schema_: str = Field(validation_alias=f"{METABASE_DB_ENV_PREFIX}SCHEMA")
21
+ schema_: str = Field(
22
+ validation_alias=AliasChoices(
23
+ f"{METABASE_DB_ENV_PREFIX}SCHEMA", "schema"
24
+ )
25
+ )
22
26
  user: str = Field(validation_alias=f"{METABASE_DB_ENV_PREFIX}USERNAME")
23
27
  password: str = Field(repr=False)
24
28
 
25
- encryption_secret_key: Optional[str] = Field(repr=False)
26
- require_ssl: Optional[str]
29
+ encryption_secret_key: Optional[str] = Field(repr=False, default=None)
30
+ require_ssl: Optional[bool] = Field(
31
+ validation_alias=f"{METABASE_DB_ENV_PREFIX}REQUIRE_SSL_KEY"
32
+ )
@@ -4,7 +4,7 @@ import tableauserverclient as TSC # type: ignore
4
4
 
5
5
  from ....utils import SerializedAsset
6
6
  from ..assets import TABLEAU_PULSE_ASSETS, TableauRevampAsset
7
- from ..constants import DEFAULT_TIMEOUT_SECONDS
7
+ from ..constants import CREDENTIALS_SITE_ID_KEY, DEFAULT_TIMEOUT_SECONDS
8
8
  from .client_metadata_api import TableauClientMetadataApi
9
9
  from .client_rest_api import TableauClientRestApi
10
10
  from .client_tsc import TableauClientTSC
@@ -33,6 +33,15 @@ _REST_API_ASSETS = (
33
33
  logging.getLogger("tableau.endpoint").setLevel(logging.WARNING)
34
34
 
35
35
 
36
+ def _add_site_id(workbooks: SerializedAsset, site_id: str) -> SerializedAsset:
37
+ """
38
+ Add site_id from credentials: it's necessary to compute workbook's url
39
+ """
40
+ for workbook in workbooks:
41
+ workbook[CREDENTIALS_SITE_ID_KEY] = site_id
42
+ return workbooks
43
+
44
+
36
45
  def _merge_datasources(
37
46
  datasources: SerializedAsset,
38
47
  tsc_datasources: SerializedAsset,
@@ -182,7 +191,10 @@ class TableauRevampClient:
182
191
  def _fetch_workbooks(self) -> SerializedAsset:
183
192
  asset = TableauRevampAsset.WORKBOOK
184
193
 
194
+ site_id = self._credentials.site_id
185
195
  workbooks = self._client_metadata.fetch(asset)
196
+ workbooks = _add_site_id(workbooks, site_id)
197
+
186
198
  workbook_projects = self._client_tsc.fetch(asset)
187
199
 
188
200
  return _merge_workbooks(workbooks, workbook_projects)
@@ -1,3 +1,5 @@
1
1
  DEFAULT_PAGE_SIZE = 100
2
2
 
3
3
  DEFAULT_TIMEOUT_SECONDS = 100
4
+
5
+ CREDENTIALS_SITE_ID_KEY = "credentials_site_id"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: castor-extractor
3
- Version: 0.20.5
3
+ Version: 0.20.7
4
4
  Summary: Extract your metadata assets.
5
5
  Home-page: https://www.castordoc.com/
6
6
  License: EULA
@@ -208,6 +208,14 @@ For any questions or bug report, contact us at [support@castordoc.com](mailto:su
208
208
 
209
209
  # Changelog
210
210
 
211
+ ## 0.20.7 - 2024-10-18
212
+
213
+ * Metabase: fix `require_ssl` type in credentials
214
+
215
+ ## 0.20.6 - 2024-10-15
216
+
217
+ * Tableau: include `site_id` in **workbooks** to build url
218
+
211
219
  ## 0.20.5 - 2024-10-09
212
220
 
213
221
  * Redshift: enable extraction from a Redshift Serverless instance
@@ -1,5 +1,5 @@
1
- CHANGELOG.md,sha256=gqprCxUMpvdGZdxp3AxdsRKA3JK-Q9NM72m839G5CeQ,13996
2
- Dockerfile,sha256=HcX5z8OpeSvkScQsN-Y7CNMUig_UB6vTMDl7uqzuLGE,303
1
+ CHANGELOG.md,sha256=8s0QcdkmJwFZParMHTjOoICh4-G6RD_sQ2JVFwktPPA,14155
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=uF6PXm9ocPITlKVSh9afTakHmpLx3TvawLf-CbMP3wM,3578
@@ -167,7 +167,7 @@ castor_extractor/visualization/metabase/client/api/client_test.py,sha256=7Lb5yvr
167
167
  castor_extractor/visualization/metabase/client/api/credentials.py,sha256=SiHWyWWEDy_Ak4ne0hgXPZCSP6mEuHH26wDhsed_9v8,519
168
168
  castor_extractor/visualization/metabase/client/db/__init__.py,sha256=nawDhJ-JGlpM6VMzZZRjf066QXk9kWzZr6l9n6OHTZ0,76
169
169
  castor_extractor/visualization/metabase/client/db/client.py,sha256=s38mubBaun4LfYWXqk_fyObWTk9f69AorDrXyW4HNiw,3369
170
- castor_extractor/visualization/metabase/client/db/credentials.py,sha256=LrtfUd2c1jAAFzxu64suIwvZe2dJnZ8suv9vGTnXtrI,746
170
+ castor_extractor/visualization/metabase/client/db/credentials.py,sha256=rhA6rM7QMTBSpF4BknYXz2VqujFcWAdx5TPR4kmdPy4,918
171
171
  castor_extractor/visualization/metabase/client/db/queries/.sqlfluff,sha256=sOQQOpAa9QMj9cBlulfmt-DZ_kQzMpzSAEnh10QGSB0,76
172
172
  castor_extractor/visualization/metabase/client/db/queries/base_url.sql,sha256=p2EL9kdt-hw_yh3aeCE91AXEB4RrYAbG2QrBBNqQjDE,79
173
173
  castor_extractor/visualization/metabase/client/db/queries/card.sql,sha256=U4-ZrZP5XS7Kssd3CFlpGrABbHAMK09Bh_yeT3z7Yk8,419
@@ -274,7 +274,7 @@ castor_extractor/visualization/tableau/usage.py,sha256=LlFwlbEr-EnYUJjKZha99CRCR
274
274
  castor_extractor/visualization/tableau_revamp/__init__.py,sha256=a3DGjQhaz17gBqW-E84TAgupKbqLC40y5Ajo1yn-ot4,156
275
275
  castor_extractor/visualization/tableau_revamp/assets.py,sha256=8sJsK6Qixao6xVmVaO1usvs16SjNub9sIx7o-adYV14,659
276
276
  castor_extractor/visualization/tableau_revamp/client/__init__.py,sha256=wmS9uLtUiqNYVloi0-DgD8d2qzu3RVZEAtWiaDp6G_M,90
277
- castor_extractor/visualization/tableau_revamp/client/client.py,sha256=8pATeVTKslF5HCbN1c_DusysP7lTU51yXPp8uhzWwZg,7165
277
+ castor_extractor/visualization/tableau_revamp/client/client.py,sha256=oaxvPsCccAcTWooXmDQNcJ6RFUVsCUzl6HxaHIwh5kU,7564
278
278
  castor_extractor/visualization/tableau_revamp/client/client_metadata_api.py,sha256=yNnGR3Tk32TUmaDejaz5fkw2p9DtmMeCv5rsZNOHUfY,3047
279
279
  castor_extractor/visualization/tableau_revamp/client/client_rest_api.py,sha256=0g8AddrhzirRCUWR2jrudPR02mk4Of5YilWth7zJO-g,4016
280
280
  castor_extractor/visualization/tableau_revamp/client/client_tsc.py,sha256=BBwIOqK2zU66udFRmLGmB_3J1ILGhVOY5Hq4nmsonF0,1853
@@ -282,7 +282,7 @@ castor_extractor/visualization/tableau_revamp/client/credentials.py,sha256=qA-Ea
282
282
  castor_extractor/visualization/tableau_revamp/client/errors.py,sha256=dTe1shqmWmAXpDpCz-E24m8dGYjt6rvIGV9qQb4jnvI,150
283
283
  castor_extractor/visualization/tableau_revamp/client/gql_queries.py,sha256=-V3ToD5Gi7nmfVB2OxTOZw8dcOiF7_ciSWjjW2UdvvI,2270
284
284
  castor_extractor/visualization/tableau_revamp/client/rest_fields.py,sha256=gx39X1zMfRVpjmFbgvbgbvtlE0QwxOtk8rZFsIqeGRI,978
285
- castor_extractor/visualization/tableau_revamp/constants.py,sha256=thS935pJyuZkdciM2EFHbIuTqSFYfB3YGCJYJ_Ls294,55
285
+ castor_extractor/visualization/tableau_revamp/constants.py,sha256=lHGB50FgVNO2nXeIhkvQKivD8ZFBIjDrflgD5cTXKJw,104
286
286
  castor_extractor/visualization/tableau_revamp/extract.py,sha256=BPy38rFjGG6Nh1eDFeCckE4RHaO-bWW2uhXh7wm8mKk,1368
287
287
  castor_extractor/visualization/thoughtspot/__init__.py,sha256=NhTGUk5Kdt54oCjHYoAt0cLBmVLys5lFYiRANL6wCmI,150
288
288
  castor_extractor/visualization/thoughtspot/assets.py,sha256=lPRvXk0PKybgLv1AcDVxg-ssf4XLTs0biRqLrqC2TzU,196
@@ -415,8 +415,8 @@ castor_extractor/warehouse/sqlserver/queries/table.sql,sha256=kbBQP-TdG5px1IVgyx
415
415
  castor_extractor/warehouse/sqlserver/queries/user.sql,sha256=gOrZsMVypusR2dc4vwVs4E1a-CliRsr_UjnD2EbXs-A,94
416
416
  castor_extractor/warehouse/sqlserver/query.py,sha256=j_d5-HMnzBouwGfywVZMRSSwbXzPvzDWlFCZmvxcoGQ,539
417
417
  castor_extractor/warehouse/synapse/queries/column.sql,sha256=lNcFoIW3Y0PFOqoOzJEXmPvZvfAsY0AP63Mu2LuPzPo,1351
418
- castor_extractor-0.20.5.dist-info/LICENCE,sha256=sL-IGa4hweyya1HgzMskrRdybbIa2cktzxb5qmUgDg8,8254
419
- castor_extractor-0.20.5.dist-info/METADATA,sha256=wmQH2GPtnBGHq8a5CdjKZ6yPMNIrS4gkYrTpbV0T9yg,21214
420
- castor_extractor-0.20.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
421
- castor_extractor-0.20.5.dist-info/entry_points.txt,sha256=IVGy_oM8VjzADMAxzmiNJTYYidTCsI98MpO_mkXjkqE,1573
422
- castor_extractor-0.20.5.dist-info/RECORD,,
418
+ castor_extractor-0.20.7.dist-info/LICENCE,sha256=sL-IGa4hweyya1HgzMskrRdybbIa2cktzxb5qmUgDg8,8254
419
+ castor_extractor-0.20.7.dist-info/METADATA,sha256=XGGqjLLLfjnVXfoEfuRb3kao81OQ8c5VdwjdSockixk,21373
420
+ castor_extractor-0.20.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
421
+ castor_extractor-0.20.7.dist-info/entry_points.txt,sha256=IVGy_oM8VjzADMAxzmiNJTYYidTCsI98MpO_mkXjkqE,1573
422
+ castor_extractor-0.20.7.dist-info/RECORD,,