gooddata-sdk 1.32.3.dev2__tar.gz → 1.33.1.dev1__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.
- {gooddata_sdk-1.32.3.dev2/gooddata_sdk.egg-info → gooddata_sdk-1.33.1.dev1}/PKG-INFO +5 -4
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/README.md +1 -1
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/data_source.py +16 -1
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/service.py +16 -2
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/entity.py +28 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/parameter.py +4 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1/gooddata_sdk.egg-info}/PKG-INFO +5 -4
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk.egg-info/requires.txt +1 -1
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/setup.py +4 -3
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/LICENSE.txt +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/MANIFEST.in +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/bin/gdc +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/_version.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/base.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/catalog_service_base.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/action_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/ldm_request.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/scan_model_request.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/scan_sql_request.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/action_model/responses/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/action_model/responses/scan_sql_response.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/action_model/sql_column.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/column.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/pdm.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/table.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/content_objects/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/data_source.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/validation/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/validation/data_source.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/depends_on.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/export/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/export/request.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/export/service.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/filter_by.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/identifier.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/entity_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/entity_model/directive.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/entity_model/identity_provider.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/entity_model/jwk.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/entity_model/organization.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/entity_model/setting.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/layout/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/layout/identity_provider.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/layout/notification_channel.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/service.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/permission/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/dashboard_assignees.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/permission.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/permission/service.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/rule.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/setting.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/types.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/declarative_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/declarative_model/user.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/declarative_model/user_and_user_groups.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/declarative_model/user_group.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/entity_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/entity_model/api_token.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/entity_model/user.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/entity_model/user_group.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/management_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/management_model/management.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/service.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/validate_by_item.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/content_service.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/base.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/export_definition.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/automation.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/data_filter_references.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/dataset.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/dataset_extension.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/date_dataset.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/ldm.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/workspace.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/dataset.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/metric.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/workspace_setting.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/filter_view.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/graph_objects/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/graph_objects/graph.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/workspace.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/model_container.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/service.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/cli/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/cli/clone.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/cli/constants.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/cli/deploy.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/cli/gdc_core.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/cli/package.json +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/cli/utils.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/client.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/compute_to_sdk_converter.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/model/__init__.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/model/attribute.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/model/base.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/model/execution.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/model/filter.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/model/metric.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/service.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/config.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/py.typed +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/sdk.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/support.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/table.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/type_converter.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/utils.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/visualization.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk.egg-info/SOURCES.txt +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk.egg-info/dependency_links.txt +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk.egg-info/top_level.txt +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/setup.cfg +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/tests/test_client.py +0 -0
- {gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/tests/test_type_converter.py +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gooddata-sdk
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.33.1.dev1
|
|
4
4
|
Summary: GoodData Cloud Python SDK
|
|
5
5
|
Author: GoodData
|
|
6
6
|
Author-email: support@gooddata.com
|
|
7
7
|
License: MIT
|
|
8
|
-
Project-URL: Documentation, https://www.gooddata.com/docs/python-sdk/1.
|
|
8
|
+
Project-URL: Documentation, https://www.gooddata.com/docs/python-sdk/1.33.1.dev1
|
|
9
9
|
Project-URL: Source, https://github.com/gooddata/gooddata-python-sdk
|
|
10
10
|
Keywords: gooddata,sdk,api,analytics,headless,business,intelligence,headless-bi,cloud,native,semantic,layer,sql,metrics
|
|
11
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.10
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
19
|
Classifier: Topic :: Database
|
|
19
20
|
Classifier: Topic :: Scientific/Engineering
|
|
20
21
|
Classifier: Topic :: Software Development
|
|
@@ -22,7 +23,7 @@ Classifier: Typing :: Typed
|
|
|
22
23
|
Requires-Python: >=3.9.0
|
|
23
24
|
Description-Content-Type: text/markdown
|
|
24
25
|
License-File: LICENSE.txt
|
|
25
|
-
Requires-Dist: gooddata-api-client~=1.
|
|
26
|
+
Requires-Dist: gooddata-api-client~=1.33.1.dev1
|
|
26
27
|
Requires-Dist: python-dateutil>=2.5.3
|
|
27
28
|
Requires-Dist: pyyaml>=5.1
|
|
28
29
|
Requires-Dist: attrs<=24.2.0,>=21.4.0
|
|
@@ -46,7 +47,7 @@ At the moment the SDK provides services to inspect and interact with the Semanti
|
|
|
46
47
|
* Compute Service
|
|
47
48
|
* Table Service
|
|
48
49
|
|
|
49
|
-
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.
|
|
50
|
+
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.33.1.dev1) for more details.
|
|
50
51
|
|
|
51
52
|
## Requirements
|
|
52
53
|
|
|
@@ -13,7 +13,7 @@ At the moment the SDK provides services to inspect and interact with the Semanti
|
|
|
13
13
|
* Compute Service
|
|
14
14
|
* Table Service
|
|
15
15
|
|
|
16
|
-
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.
|
|
16
|
+
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.33.1.dev1) for more details.
|
|
17
17
|
|
|
18
18
|
## Requirements
|
|
19
19
|
|
|
@@ -12,12 +12,13 @@ from gooddata_api_client.model.declarative_data_sources import DeclarativeDataSo
|
|
|
12
12
|
from gooddata_api_client.model.test_definition_request import TestDefinitionRequest
|
|
13
13
|
|
|
14
14
|
from gooddata_sdk.catalog.base import Base, value_in_allowed
|
|
15
|
-
from gooddata_sdk.catalog.entity import TokenCredentialsFromFile
|
|
15
|
+
from gooddata_sdk.catalog.entity import ClientSecretCredentialsFromFile, TokenCredentialsFromFile
|
|
16
16
|
from gooddata_sdk.catalog.parameter import CatalogParameter
|
|
17
17
|
from gooddata_sdk.catalog.permission.declarative_model.permission import CatalogDeclarativeDataSourcePermission
|
|
18
18
|
from gooddata_sdk.utils import create_directory, get_ds_credentials, read_layout_from_file, write_layout_to_file
|
|
19
19
|
|
|
20
20
|
BIGQUERY_TYPE = "BIGQUERY"
|
|
21
|
+
DATABRICKS_TYPE = "DATABRICKS"
|
|
21
22
|
LAYOUT_DATA_SOURCES_DIR = "data_sources"
|
|
22
23
|
|
|
23
24
|
|
|
@@ -33,6 +34,15 @@ class CatalogDeclarativeDataSources(Base):
|
|
|
33
34
|
if data_source.type == BIGQUERY_TYPE:
|
|
34
35
|
token = TokenCredentialsFromFile.token_from_file(credentials[data_source.id])
|
|
35
36
|
data_sources.append(data_source.to_api(token=token))
|
|
37
|
+
elif data_source.type == DATABRICKS_TYPE:
|
|
38
|
+
if data_source.client_id is not None:
|
|
39
|
+
client_secret = ClientSecretCredentialsFromFile.client_secret_from_file(
|
|
40
|
+
credentials[data_source.id]
|
|
41
|
+
)
|
|
42
|
+
data_sources.append(data_source.to_api(client_secret=client_secret))
|
|
43
|
+
else:
|
|
44
|
+
token = TokenCredentialsFromFile.token_from_file(credentials[data_source.id])
|
|
45
|
+
data_sources.append(data_source.to_api(token=token))
|
|
36
46
|
else:
|
|
37
47
|
data_sources.append(data_source.to_api(password=credentials[data_source.id]))
|
|
38
48
|
else:
|
|
@@ -125,8 +135,13 @@ class CatalogDeclarativeDataSource(Base):
|
|
|
125
135
|
kwargs["private_key"] = private_key
|
|
126
136
|
if private_key_passphrase is not None:
|
|
127
137
|
kwargs["private_key_passphrase"] = private_key
|
|
138
|
+
if self.client_id is not None:
|
|
139
|
+
kwargs["client_id"] = self.client_id
|
|
128
140
|
if client_secret is not None:
|
|
129
141
|
kwargs["client_secret"] = client_secret
|
|
142
|
+
if self.parameters is not None:
|
|
143
|
+
kwargs["parameters"] = [param.to_data_source_parameter() for param in self.parameters]
|
|
144
|
+
|
|
130
145
|
return TestDefinitionRequest(type=self.type, url=self.url, **kwargs)
|
|
131
146
|
|
|
132
147
|
@staticmethod
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/service.py
RENAMED
|
@@ -17,6 +17,7 @@ from gooddata_sdk.catalog.data_source.action_model.requests.scan_sql_request imp
|
|
|
17
17
|
from gooddata_sdk.catalog.data_source.action_model.responses.scan_sql_response import ScanSqlResponse
|
|
18
18
|
from gooddata_sdk.catalog.data_source.declarative_model.data_source import (
|
|
19
19
|
BIGQUERY_TYPE,
|
|
20
|
+
DATABRICKS_TYPE,
|
|
20
21
|
CatalogDeclarativeDataSource,
|
|
21
22
|
CatalogDeclarativeDataSources,
|
|
22
23
|
)
|
|
@@ -25,7 +26,7 @@ from gooddata_sdk.catalog.data_source.declarative_model.physical_model.pdm impor
|
|
|
25
26
|
CatalogScanResultPdm,
|
|
26
27
|
)
|
|
27
28
|
from gooddata_sdk.catalog.data_source.entity_model.data_source import CatalogDataSource
|
|
28
|
-
from gooddata_sdk.catalog.entity import TokenCredentialsFromFile
|
|
29
|
+
from gooddata_sdk.catalog.entity import ClientSecretCredentialsFromFile, TokenCredentialsFromFile
|
|
29
30
|
from gooddata_sdk.catalog.workspace.declarative_model.workspace.logical_model.ldm import CatalogDeclarativeModel
|
|
30
31
|
from gooddata_sdk.client import GoodDataApiClient
|
|
31
32
|
from gooddata_sdk.utils import get_ds_credentials, load_all_entities_dict, read_layout_from_file
|
|
@@ -474,6 +475,19 @@ class CatalogDataSourceService(CatalogServiceBase):
|
|
|
474
475
|
response = self._actions_api.test_data_source_definition(
|
|
475
476
|
declarative_data_source.to_test_request(token=token)
|
|
476
477
|
)
|
|
478
|
+
elif declarative_data_source.type == DATABRICKS_TYPE:
|
|
479
|
+
if declarative_data_source.client_id is not None:
|
|
480
|
+
client_secret = ClientSecretCredentialsFromFile.client_secret_from_file(
|
|
481
|
+
credentials[declarative_data_source.id]
|
|
482
|
+
)
|
|
483
|
+
response = self._actions_api.test_data_source_definition(
|
|
484
|
+
declarative_data_source.to_test_request(client_secret=client_secret)
|
|
485
|
+
)
|
|
486
|
+
else:
|
|
487
|
+
token = TokenCredentialsFromFile.token_from_file(credentials[declarative_data_source.id])
|
|
488
|
+
response = self._actions_api.test_data_source_definition(
|
|
489
|
+
declarative_data_source.to_test_request(token=token)
|
|
490
|
+
)
|
|
477
491
|
else:
|
|
478
492
|
response = self._actions_api.test_data_source_definition(
|
|
479
493
|
declarative_data_source.to_test_request(password=credentials[declarative_data_source.id])
|
|
@@ -528,6 +542,6 @@ class CatalogDataSourceService(CatalogServiceBase):
|
|
|
528
542
|
if data.get("data_sources") is None:
|
|
529
543
|
raise ValueError("The file has a wrong structure. There should be a root key 'data_sources'.")
|
|
530
544
|
if len(data["data_sources"]) == 0:
|
|
531
|
-
raise ValueError("There are no pairs of data source id and
|
|
545
|
+
raise ValueError("There are no pairs of data source id and credentials.")
|
|
532
546
|
credentials = data["data_sources"]
|
|
533
547
|
return credentials
|
|
@@ -274,3 +274,31 @@ class ClientSecretCredentials(Credentials):
|
|
|
274
274
|
# You have to fill it to keep it or update it
|
|
275
275
|
client_secret="",
|
|
276
276
|
)
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
@attr.s(auto_attribs=True, kw_only=True)
|
|
280
|
+
class ClientSecretCredentialsFromFile(Credentials):
|
|
281
|
+
file_path: Path
|
|
282
|
+
client_secret: str = attr.field(init=False, repr=lambda value: "***")
|
|
283
|
+
|
|
284
|
+
def __attrs_post_init__(self) -> None:
|
|
285
|
+
self.client_secret = self.client_secret_from_file(self.file_path)
|
|
286
|
+
|
|
287
|
+
def to_api_args(self) -> dict[str, Any]:
|
|
288
|
+
return {
|
|
289
|
+
self.CLIENT_SECRET: self.client_secret,
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
@classmethod
|
|
293
|
+
def is_part_of_api(cls, entity: dict[str, Any]) -> bool:
|
|
294
|
+
return cls.CLIENT_SECRET in entity
|
|
295
|
+
|
|
296
|
+
@classmethod
|
|
297
|
+
def from_api(cls, entity: dict[str, Any]) -> ClientSecretCredentialsFromFile:
|
|
298
|
+
# Credentials are not returned for security reasons
|
|
299
|
+
raise NotImplementedError
|
|
300
|
+
|
|
301
|
+
@staticmethod
|
|
302
|
+
def client_secret_from_file(file_path: Union[str, Path]) -> str:
|
|
303
|
+
with open(file_path, "rb") as fp:
|
|
304
|
+
return base64.b64encode(fp.read()).decode("utf-8")
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# (C) 2022 GoodData Corporation
|
|
2
2
|
import attr
|
|
3
|
+
from gooddata_api_client.model.data_source_parameter import DataSourceParameter
|
|
3
4
|
from gooddata_api_client.model.parameter import Parameter
|
|
4
5
|
|
|
5
6
|
from gooddata_sdk.catalog.base import Base
|
|
@@ -13,3 +14,6 @@ class CatalogParameter(Base):
|
|
|
13
14
|
@staticmethod
|
|
14
15
|
def client_class() -> type[Parameter]:
|
|
15
16
|
return Parameter
|
|
17
|
+
|
|
18
|
+
def to_data_source_parameter(self) -> DataSourceParameter:
|
|
19
|
+
return DataSourceParameter(name=self.name, value=self.value)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gooddata-sdk
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.33.1.dev1
|
|
4
4
|
Summary: GoodData Cloud Python SDK
|
|
5
5
|
Author: GoodData
|
|
6
6
|
Author-email: support@gooddata.com
|
|
7
7
|
License: MIT
|
|
8
|
-
Project-URL: Documentation, https://www.gooddata.com/docs/python-sdk/1.
|
|
8
|
+
Project-URL: Documentation, https://www.gooddata.com/docs/python-sdk/1.33.1.dev1
|
|
9
9
|
Project-URL: Source, https://github.com/gooddata/gooddata-python-sdk
|
|
10
10
|
Keywords: gooddata,sdk,api,analytics,headless,business,intelligence,headless-bi,cloud,native,semantic,layer,sql,metrics
|
|
11
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.10
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
19
|
Classifier: Topic :: Database
|
|
19
20
|
Classifier: Topic :: Scientific/Engineering
|
|
20
21
|
Classifier: Topic :: Software Development
|
|
@@ -22,7 +23,7 @@ Classifier: Typing :: Typed
|
|
|
22
23
|
Requires-Python: >=3.9.0
|
|
23
24
|
Description-Content-Type: text/markdown
|
|
24
25
|
License-File: LICENSE.txt
|
|
25
|
-
Requires-Dist: gooddata-api-client~=1.
|
|
26
|
+
Requires-Dist: gooddata-api-client~=1.33.1.dev1
|
|
26
27
|
Requires-Dist: python-dateutil>=2.5.3
|
|
27
28
|
Requires-Dist: pyyaml>=5.1
|
|
28
29
|
Requires-Dist: attrs<=24.2.0,>=21.4.0
|
|
@@ -46,7 +47,7 @@ At the moment the SDK provides services to inspect and interact with the Semanti
|
|
|
46
47
|
* Compute Service
|
|
47
48
|
* Table Service
|
|
48
49
|
|
|
49
|
-
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.
|
|
50
|
+
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.33.1.dev1) for more details.
|
|
50
51
|
|
|
51
52
|
## Requirements
|
|
52
53
|
|
|
@@ -7,7 +7,7 @@ this_directory = Path(__file__).parent
|
|
|
7
7
|
long_description = (this_directory / "README.md").read_text(encoding="utf-8")
|
|
8
8
|
|
|
9
9
|
REQUIRES = [
|
|
10
|
-
"gooddata-api-client~=1.
|
|
10
|
+
"gooddata-api-client~=1.33.1.dev1",
|
|
11
11
|
"python-dateutil>=2.5.3",
|
|
12
12
|
"pyyaml>=5.1",
|
|
13
13
|
"attrs>=21.4.0,<=24.2.0",
|
|
@@ -22,7 +22,7 @@ setup(
|
|
|
22
22
|
description="GoodData Cloud Python SDK",
|
|
23
23
|
long_description=long_description,
|
|
24
24
|
long_description_content_type="text/markdown",
|
|
25
|
-
version="1.
|
|
25
|
+
version="1.33.1.dev1",
|
|
26
26
|
author="GoodData",
|
|
27
27
|
author_email="support@gooddata.com",
|
|
28
28
|
license="MIT",
|
|
@@ -36,7 +36,7 @@ setup(
|
|
|
36
36
|
"bin/gdc",
|
|
37
37
|
],
|
|
38
38
|
project_urls={
|
|
39
|
-
"Documentation": "https://www.gooddata.com/docs/python-sdk/1.
|
|
39
|
+
"Documentation": "https://www.gooddata.com/docs/python-sdk/1.33.1.dev1",
|
|
40
40
|
"Source": "https://github.com/gooddata/gooddata-python-sdk",
|
|
41
41
|
},
|
|
42
42
|
classifiers=[
|
|
@@ -47,6 +47,7 @@ setup(
|
|
|
47
47
|
"Programming Language :: Python :: 3.10",
|
|
48
48
|
"Programming Language :: Python :: 3.11",
|
|
49
49
|
"Programming Language :: Python :: 3.12",
|
|
50
|
+
"Programming Language :: Python :: 3.13",
|
|
50
51
|
"Topic :: Database",
|
|
51
52
|
"Topic :: Scientific/Engineering",
|
|
52
53
|
"Topic :: Software Development",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/catalog_service_base.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/data_source/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/export/__init__.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/export/request.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/export/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/organization/service.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/permission/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/permission/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/user/entity_model/user.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/validate_by_item.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/catalog/workspace/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/model/__init__.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/model/attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk/compute/model/execution.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.32.3.dev2 → gooddata_sdk-1.33.1.dev1}/gooddata_sdk.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|