gooddata-sdk 1.22.1.dev3__tar.gz → 1.23.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.22.1.dev3/gooddata_sdk.egg-info → gooddata_sdk-1.23.1.dev1}/PKG-INFO +4 -4
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/README.md +1 -1
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/__init__.py +1 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/data_source.py +17 -3
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/data_source.py +8 -7
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/entity.py +23 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/export/service.py +17 -9
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/content_service.py +3 -2
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/service.py +6 -3
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/model/execution.py +1 -1
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/table.py +1 -1
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1/gooddata_sdk.egg-info}/PKG-INFO +4 -4
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk.egg-info/requires.txt +1 -1
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/setup.py +3 -3
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/LICENSE.txt +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/MANIFEST.in +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/bin/gdc +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/_version.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/base.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/catalog_service_base.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/action_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/ldm_request.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/scan_model_request.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/scan_sql_request.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/action_model/responses/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/action_model/responses/scan_sql_response.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/action_model/sql_column.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/column.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/pdm.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/table.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/content_objects/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/content_objects/table.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/service.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/validation/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/validation/data_source.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/depends_on.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/export/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/export/request.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/identifier.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/organization/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/organization/entity_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/organization/entity_model/directive.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/organization/entity_model/jwk.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/organization/entity_model/organization.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/organization/entity_model/setting.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/organization/service.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/parameter.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/permission/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/dashboard_assignees.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/permission.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/permission/service.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/rule.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/setting.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/types.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/declarative_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/declarative_model/user.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/declarative_model/user_and_user_groups.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/declarative_model/user_group.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/entity_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/entity_model/user.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/entity_model/user_group.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/management_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/management_model/management.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/user/service.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/validate_by_item.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/data_filter_references.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/dataset.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/dataset_extension.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/date_dataset.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/ldm.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/workspace.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/dataset.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/metric.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/workspace_setting.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/graph_objects/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/graph_objects/graph.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/workspace.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/model_container.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/cli/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/cli/clone.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/cli/constants.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/cli/deploy.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/cli/gdc_core.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/cli/package.json +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/cli/utils.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/client.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/model/__init__.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/model/attribute.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/model/base.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/model/filter.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/model/metric.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/service.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/config.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/py.typed +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/sdk.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/support.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/type_converter.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/utils.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/visualization.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk.egg-info/SOURCES.txt +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk.egg-info/dependency_links.txt +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk.egg-info/top_level.txt +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/setup.cfg +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/tests/test_client.py +0 -0
- {gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.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.23.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.23.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
|
|
@@ -23,7 +23,7 @@ Classifier: Typing :: Typed
|
|
|
23
23
|
Requires-Python: >=3.8.0
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE.txt
|
|
26
|
-
Requires-Dist: gooddata-api-client~=1.
|
|
26
|
+
Requires-Dist: gooddata-api-client~=1.23.1.dev1
|
|
27
27
|
Requires-Dist: python-dateutil>=2.5.3
|
|
28
28
|
Requires-Dist: pyyaml>=5.1
|
|
29
29
|
Requires-Dist: attrs<=23.2.0,>=21.4.0
|
|
@@ -47,7 +47,7 @@ At the moment the SDK provides services to inspect and interact with the Semanti
|
|
|
47
47
|
* Compute Service
|
|
48
48
|
* Table Service
|
|
49
49
|
|
|
50
|
-
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.
|
|
50
|
+
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.23.1.dev1) for more details.
|
|
51
51
|
|
|
52
52
|
## Requirements
|
|
53
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.23.1.dev1) for more details.
|
|
17
17
|
|
|
18
18
|
## Requirements
|
|
19
19
|
|
|
@@ -97,8 +97,6 @@ class CatalogDeclarativeDataSource(Base):
|
|
|
97
97
|
type: str = attr.field(validator=value_in_allowed)
|
|
98
98
|
url: Optional[str] = None
|
|
99
99
|
schema: str
|
|
100
|
-
enable_caching: Optional[bool] = None
|
|
101
|
-
cache_path: Optional[List[str]] = None
|
|
102
100
|
cache_strategy: Optional[str] = None
|
|
103
101
|
username: Optional[str] = None
|
|
104
102
|
parameters: Optional[List[CatalogParameter]] = None
|
|
@@ -109,6 +107,8 @@ class CatalogDeclarativeDataSource(Base):
|
|
|
109
107
|
self,
|
|
110
108
|
password: Optional[str] = None,
|
|
111
109
|
token: Optional[str] = None,
|
|
110
|
+
private_key: Optional[str] = None,
|
|
111
|
+
private_key_passphrase: Optional[str] = None,
|
|
112
112
|
) -> TestDefinitionRequest:
|
|
113
113
|
kwargs: dict[str, Any] = {"schema": self.schema}
|
|
114
114
|
if password is not None:
|
|
@@ -117,6 +117,10 @@ class CatalogDeclarativeDataSource(Base):
|
|
|
117
117
|
kwargs["token"] = token
|
|
118
118
|
if self.username is not None:
|
|
119
119
|
kwargs["username"] = self.username
|
|
120
|
+
if private_key is not None:
|
|
121
|
+
kwargs["private_key"] = private_key
|
|
122
|
+
if private_key_passphrase is not None:
|
|
123
|
+
kwargs["private_key_passphrase"] = private_key
|
|
120
124
|
return TestDefinitionRequest(type=self.type, url=self.url, **kwargs)
|
|
121
125
|
|
|
122
126
|
@staticmethod
|
|
@@ -129,12 +133,22 @@ class CatalogDeclarativeDataSource(Base):
|
|
|
129
133
|
create_directory(data_source_folder)
|
|
130
134
|
return data_source_folder
|
|
131
135
|
|
|
132
|
-
def to_api(
|
|
136
|
+
def to_api(
|
|
137
|
+
self,
|
|
138
|
+
password: Optional[str] = None,
|
|
139
|
+
token: Optional[str] = None,
|
|
140
|
+
private_key: Optional[str] = None,
|
|
141
|
+
private_key_passphrase: Optional[str] = None,
|
|
142
|
+
) -> DeclarativeDataSource:
|
|
133
143
|
dictionary = self._get_snake_dict()
|
|
134
144
|
if password is not None:
|
|
135
145
|
dictionary["password"] = password
|
|
136
146
|
if token is not None:
|
|
137
147
|
dictionary["token"] = token
|
|
148
|
+
if private_key is not None:
|
|
149
|
+
dictionary["private_key"] = private_key
|
|
150
|
+
if private_key_passphrase is not None:
|
|
151
|
+
dictionary["private_key_passphrase"] = private_key_passphrase
|
|
138
152
|
return self.client_class().from_dict(dictionary)
|
|
139
153
|
|
|
140
154
|
def store_to_disk(self, data_sources_folder: Path) -> None:
|
|
@@ -13,7 +13,13 @@ from gooddata_api_client.model.json_api_data_source_patch_attributes import Json
|
|
|
13
13
|
from gooddata_api_client.model.json_api_data_source_patch_document import JsonApiDataSourcePatchDocument
|
|
14
14
|
|
|
15
15
|
from gooddata_sdk.catalog.base import Base, value_in_allowed
|
|
16
|
-
from gooddata_sdk.catalog.entity import
|
|
16
|
+
from gooddata_sdk.catalog.entity import (
|
|
17
|
+
BasicCredentials,
|
|
18
|
+
Credentials,
|
|
19
|
+
KeyPairCredentials,
|
|
20
|
+
TokenCredentials,
|
|
21
|
+
TokenCredentialsFromFile,
|
|
22
|
+
)
|
|
17
23
|
|
|
18
24
|
U = TypeVar("U", bound="CatalogDataSourceBase")
|
|
19
25
|
|
|
@@ -29,11 +35,10 @@ class CatalogDataSourceBase(Base):
|
|
|
29
35
|
BasicCredentials,
|
|
30
36
|
TokenCredentials,
|
|
31
37
|
TokenCredentialsFromFile,
|
|
38
|
+
KeyPairCredentials,
|
|
32
39
|
]
|
|
33
40
|
_DELIMITER: ClassVar[str] = "&"
|
|
34
41
|
_ATTRIBUTES: ClassVar[List[str]] = [
|
|
35
|
-
"enable_caching",
|
|
36
|
-
"cache_path",
|
|
37
42
|
"cache_strategy",
|
|
38
43
|
"url",
|
|
39
44
|
"parameters",
|
|
@@ -47,8 +52,6 @@ class CatalogDataSourceBase(Base):
|
|
|
47
52
|
type: str = attr.field()
|
|
48
53
|
schema: str
|
|
49
54
|
url: Optional[str] = None
|
|
50
|
-
enable_caching: Optional[bool] = None
|
|
51
|
-
cache_path: Optional[List[str]] = None
|
|
52
55
|
cache_strategy: Optional[str] = None
|
|
53
56
|
parameters: Optional[List[Dict[str, str]]] = None
|
|
54
57
|
decoded_parameters: Optional[List[Dict[str, str]]] = None
|
|
@@ -91,8 +94,6 @@ class CatalogDataSourceBase(Base):
|
|
|
91
94
|
and self.name == other.name
|
|
92
95
|
and self.type == other.type
|
|
93
96
|
and self.schema == other.schema
|
|
94
|
-
and self.enable_caching == other.enable_caching
|
|
95
|
-
and self.cache_path == other.cache_path
|
|
96
97
|
and self.parameters == other.parameters
|
|
97
98
|
)
|
|
98
99
|
|
|
@@ -118,6 +118,8 @@ class Credentials(Base):
|
|
|
118
118
|
TOKEN_KEY: ClassVar[str] = "token"
|
|
119
119
|
USER_KEY: ClassVar[str] = "username"
|
|
120
120
|
PASSWORD_KEY: ClassVar[str] = "password"
|
|
121
|
+
PRIVATE_KEY: ClassVar[str] = "private_key"
|
|
122
|
+
PRIVATE_KEY_PASSPHRASE: ClassVar[str] = "private_key_passphrase"
|
|
121
123
|
|
|
122
124
|
def to_api_args(self) -> dict[str, Any]:
|
|
123
125
|
return attr.asdict(self)
|
|
@@ -228,3 +230,24 @@ class BasicCredentials(Credentials):
|
|
|
228
230
|
# You have to fill it to keep it or update it
|
|
229
231
|
password="",
|
|
230
232
|
)
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
@attr.s(auto_attribs=True, kw_only=True)
|
|
236
|
+
class KeyPairCredentials(Credentials):
|
|
237
|
+
username: str
|
|
238
|
+
private_key: str = attr.field(repr=lambda value: "***")
|
|
239
|
+
private_key_passphrase: Optional[str] = attr.field(repr=lambda value: "***", default=None)
|
|
240
|
+
|
|
241
|
+
@classmethod
|
|
242
|
+
def is_part_of_api(cls, entity: dict[str, Any]) -> bool:
|
|
243
|
+
return cls.USER_KEY in entity and cls.PRIVATE_KEY in entity
|
|
244
|
+
|
|
245
|
+
@classmethod
|
|
246
|
+
def from_api(cls, attributes: dict[str, Any]) -> KeyPairCredentials:
|
|
247
|
+
# Credentials are not returned for security reasons
|
|
248
|
+
return cls(
|
|
249
|
+
username=attributes[cls.USER_KEY],
|
|
250
|
+
# Private key is not returned from API (security)
|
|
251
|
+
# You have to fill it to keep it or update it
|
|
252
|
+
private_key="",
|
|
253
|
+
)
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/export/service.py
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# (C) 2023 GoodData Corporation
|
|
2
2
|
import time
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import Callable, Optional, Tuple, Union
|
|
4
|
+
from typing import Any, Callable, Dict, Optional, Tuple, Union
|
|
5
5
|
|
|
6
6
|
from gooddata_api_client.exceptions import NotFoundException
|
|
7
|
-
from gooddata_api_client.model.pdf_export_request import PdfExportRequest
|
|
8
7
|
from gooddata_api_client.model.tabular_export_request import TabularExportRequest
|
|
8
|
+
from gooddata_api_client.model.visual_export_request import VisualExportRequest
|
|
9
9
|
|
|
10
10
|
from gooddata_sdk.catalog.catalog_service_base import CatalogServiceBase
|
|
11
11
|
from gooddata_sdk.catalog.export.request import (
|
|
@@ -106,7 +106,7 @@ class ExportService(CatalogServiceBase):
|
|
|
106
106
|
|
|
107
107
|
@staticmethod
|
|
108
108
|
def _create_export(
|
|
109
|
-
workspace_id: str, request: Union[
|
|
109
|
+
workspace_id: str, request: Union[VisualExportRequest, TabularExportRequest], create_func: Callable
|
|
110
110
|
) -> str:
|
|
111
111
|
"""
|
|
112
112
|
Creates an export of the requested type (PDF or Tabular) in the specified Workspace.
|
|
@@ -145,7 +145,7 @@ class ExportService(CatalogServiceBase):
|
|
|
145
145
|
def _export_common(
|
|
146
146
|
self,
|
|
147
147
|
workspace_id: str,
|
|
148
|
-
request: Union[
|
|
148
|
+
request: Union[VisualExportRequest, TabularExportRequest],
|
|
149
149
|
file_path: Path,
|
|
150
150
|
create_func: Callable,
|
|
151
151
|
get_func: Callable,
|
|
@@ -189,6 +189,7 @@ class ExportService(CatalogServiceBase):
|
|
|
189
189
|
timeout: float = 60.0,
|
|
190
190
|
retry: float = 0.2,
|
|
191
191
|
max_retry: float = 5.0,
|
|
192
|
+
metadata: Optional[Dict[str, Any]] = None,
|
|
192
193
|
) -> None:
|
|
193
194
|
"""
|
|
194
195
|
Export a PDF of the specified GoodData Dashboard and save it to the specified file path.
|
|
@@ -200,18 +201,25 @@ class ExportService(CatalogServiceBase):
|
|
|
200
201
|
file_name (str):
|
|
201
202
|
The name of the PDF file (excluding the file extension).
|
|
202
203
|
store_path (Union[str, Path], optional):
|
|
203
|
-
The path to save the exported PDF.
|
|
204
|
+
The path to save the exported PDF.
|
|
205
|
+
Defaults to the current directory.
|
|
204
206
|
timeout (float, optional):
|
|
205
|
-
The maximum amount of time (in seconds) to wait for the server to process the export.
|
|
207
|
+
The maximum amount of time (in seconds) to wait for the server to process the export.
|
|
208
|
+
Defaults to 60.0.
|
|
206
209
|
retry (float, optional):
|
|
207
|
-
Initial wait time (in seconds) before retrying to get the exported content.
|
|
210
|
+
Initial wait time (in seconds) before retrying to get the exported content.
|
|
211
|
+
Defaults to 0.2.
|
|
208
212
|
max_retry (float, optional):
|
|
209
|
-
The maximum retry wait time (in seconds).
|
|
213
|
+
The maximum retry wait time (in seconds).
|
|
214
|
+
Defaults to 5.0.
|
|
215
|
+
metadata (Dict[str, Any]):
|
|
216
|
+
Specify the metadata for the export.
|
|
217
|
+
Specific metadata can override filtering.
|
|
210
218
|
"""
|
|
211
219
|
if not self._dashboard_id_exists(workspace_id, dashboard_id):
|
|
212
220
|
raise ValueError(f"Dashboard id '{dashboard_id}' does not exist for workspace '{workspace_id}'.")
|
|
213
221
|
store_path = store_path if isinstance(store_path, Path) else Path(store_path)
|
|
214
|
-
request =
|
|
222
|
+
request = VisualExportRequest(dashboard_id=dashboard_id, file_name=file_name, metadata=metadata)
|
|
215
223
|
file_path = store_path / f"{file_name}.pdf"
|
|
216
224
|
create_func = self._actions_api.create_pdf_export
|
|
217
225
|
get_func = self._actions_api.get_exported_file
|
|
@@ -374,8 +374,9 @@ class CatalogWorkspaceContentService(CatalogServiceBase):
|
|
|
374
374
|
"""
|
|
375
375
|
if exclude is None:
|
|
376
376
|
exclude = []
|
|
377
|
-
return CatalogDeclarativeAnalytics.
|
|
378
|
-
self._layout_api.get_analytics_model(workspace_id=workspace_id, exclude=exclude)
|
|
377
|
+
return CatalogDeclarativeAnalytics.from_dict(
|
|
378
|
+
self._layout_api.get_analytics_model(workspace_id=workspace_id, exclude=exclude).to_dict(camel_case=False),
|
|
379
|
+
camel_case=False,
|
|
379
380
|
)
|
|
380
381
|
|
|
381
382
|
def put_declarative_analytics_model(self, workspace_id: str, analytics_model: CatalogDeclarativeAnalytics) -> None:
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/workspace/service.py
RENAMED
|
@@ -239,7 +239,9 @@ class CatalogWorkspaceService(CatalogServiceBase):
|
|
|
239
239
|
"""
|
|
240
240
|
if exclude is None:
|
|
241
241
|
exclude = []
|
|
242
|
-
return CatalogDeclarativeWorkspaces.
|
|
242
|
+
return CatalogDeclarativeWorkspaces.from_dict(
|
|
243
|
+
self._layout_api.get_workspaces_layout(exclude=exclude).to_dict(camel_case=False), camel_case=False
|
|
244
|
+
)
|
|
243
245
|
|
|
244
246
|
def put_declarative_workspaces(self, workspace: CatalogDeclarativeWorkspaces) -> None:
|
|
245
247
|
"""Set layout of all workspaces and their hierarchy. Parameter is in declarative form.
|
|
@@ -313,8 +315,9 @@ class CatalogWorkspaceService(CatalogServiceBase):
|
|
|
313
315
|
"""
|
|
314
316
|
if exclude is None:
|
|
315
317
|
exclude = []
|
|
316
|
-
return CatalogDeclarativeWorkspaceModel.
|
|
317
|
-
self._layout_api.get_workspace_layout(workspace_id=workspace_id, exclude=exclude)
|
|
318
|
+
return CatalogDeclarativeWorkspaceModel.from_dict(
|
|
319
|
+
self._layout_api.get_workspace_layout(workspace_id=workspace_id, exclude=exclude).to_dict(camel_case=False),
|
|
320
|
+
camel_case=False,
|
|
318
321
|
)
|
|
319
322
|
|
|
320
323
|
def put_declarative_workspace(
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/model/execution.py
RENAMED
|
@@ -33,7 +33,7 @@ class TotalDefinition:
|
|
|
33
33
|
"""total's local identifier"""
|
|
34
34
|
|
|
35
35
|
aggregation: str
|
|
36
|
-
"""aggregation function; case insensitive; one of SUM, MIN, MAX, MED, AVG"""
|
|
36
|
+
"""aggregation function; case insensitive; one of SUM, MIN, MAX, MED, AVG, NAT"""
|
|
37
37
|
|
|
38
38
|
metric_local_id: str
|
|
39
39
|
"""local identifier of the measure to calculate total for"""
|
|
@@ -38,7 +38,7 @@ from gooddata_sdk.visualization import (
|
|
|
38
38
|
logger = logging.getLogger(__name__)
|
|
39
39
|
|
|
40
40
|
_MEASURE_GROUP_IDENTIFIER = "measureGroup"
|
|
41
|
-
_TOTAL_ORDER = ["SUM", "MAX", "MIN", "AVG", "MED"]
|
|
41
|
+
_TOTAL_ORDER = ["SUM", "MAX", "MIN", "AVG", "MED", "NAT"]
|
|
42
42
|
|
|
43
43
|
_TABLE_ROW_BATCH_SIZE = 512
|
|
44
44
|
"""
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gooddata-sdk
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.23.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.23.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
|
|
@@ -23,7 +23,7 @@ Classifier: Typing :: Typed
|
|
|
23
23
|
Requires-Python: >=3.8.0
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
License-File: LICENSE.txt
|
|
26
|
-
Requires-Dist: gooddata-api-client~=1.
|
|
26
|
+
Requires-Dist: gooddata-api-client~=1.23.1.dev1
|
|
27
27
|
Requires-Dist: python-dateutil>=2.5.3
|
|
28
28
|
Requires-Dist: pyyaml>=5.1
|
|
29
29
|
Requires-Dist: attrs<=23.2.0,>=21.4.0
|
|
@@ -47,7 +47,7 @@ At the moment the SDK provides services to inspect and interact with the Semanti
|
|
|
47
47
|
* Compute Service
|
|
48
48
|
* Table Service
|
|
49
49
|
|
|
50
|
-
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.
|
|
50
|
+
See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.23.1.dev1) for more details.
|
|
51
51
|
|
|
52
52
|
## Requirements
|
|
53
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.23.1.dev1",
|
|
11
11
|
"python-dateutil>=2.5.3",
|
|
12
12
|
"pyyaml>=5.1",
|
|
13
13
|
"attrs>=21.4.0,<=23.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.23.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.23.1.dev1",
|
|
40
40
|
"Source": "https://github.com/gooddata/gooddata-python-sdk",
|
|
41
41
|
},
|
|
42
42
|
classifiers=[
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/catalog_service_base.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.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
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/data_source/service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/export/__init__.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/export/request.py
RENAMED
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.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
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/organization/service.py
RENAMED
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.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.22.1.dev3 → gooddata_sdk-1.23.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
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.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.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/catalog/validate_by_item.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/model/__init__.py
RENAMED
|
File without changes
|
{gooddata_sdk-1.22.1.dev3 → gooddata_sdk-1.23.1.dev1}/gooddata_sdk/compute/model/attribute.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.22.1.dev3 → gooddata_sdk-1.23.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
|