gooddata-sdk 1.47.1.dev4__tar.gz → 1.48.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.
Files changed (147) hide show
  1. {gooddata_sdk-1.47.1.dev4/gooddata_sdk.egg-info → gooddata_sdk-1.48.1.dev1}/PKG-INFO +4 -4
  2. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/README.md +1 -1
  3. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/__init__.py +1 -0
  4. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/dataset.py +2 -1
  5. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/compute_to_sdk_converter.py +12 -0
  6. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/model/filter.py +46 -8
  7. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/visualization_to_sdk_converter.py +14 -1
  8. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/visualization.py +12 -0
  9. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1/gooddata_sdk.egg-info}/PKG-INFO +4 -4
  10. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk.egg-info/requires.txt +1 -1
  11. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/setup.py +3 -3
  12. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/LICENSE.txt +0 -0
  13. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/MANIFEST.in +0 -0
  14. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/bin/gdc +0 -0
  15. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/_version.py +0 -0
  16. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/__init__.py +0 -0
  17. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/base.py +0 -0
  18. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/catalog_service_base.py +0 -0
  19. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/__init__.py +0 -0
  20. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/action_model/__init__.py +0 -0
  21. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/__init__.py +0 -0
  22. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/ldm_request.py +0 -0
  23. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/scan_model_request.py +0 -0
  24. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/action_model/requests/scan_sql_request.py +0 -0
  25. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/action_model/responses/__init__.py +0 -0
  26. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/action_model/responses/scan_sql_response.py +0 -0
  27. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/action_model/sql_column.py +0 -0
  28. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/__init__.py +0 -0
  29. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/data_source.py +0 -0
  30. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/__init__.py +0 -0
  31. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/column.py +0 -0
  32. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/pdm.py +0 -0
  33. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/declarative_model/physical_model/table.py +0 -0
  34. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/__init__.py +0 -0
  35. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/content_objects/__init__.py +0 -0
  36. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/entity_model/data_source.py +0 -0
  37. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/service.py +0 -0
  38. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/validation/__init__.py +0 -0
  39. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/data_source/validation/data_source.py +0 -0
  40. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/depends_on.py +0 -0
  41. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/entity.py +0 -0
  42. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/export/__init__.py +0 -0
  43. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/export/request.py +0 -0
  44. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/export/service.py +0 -0
  45. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/filter_by.py +0 -0
  46. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/identifier.py +0 -0
  47. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/__init__.py +0 -0
  48. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/common/__init__.py +0 -0
  49. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/common/dashboard_slides_template.py +0 -0
  50. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/common/running_section.py +0 -0
  51. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/common/slide_template.py +0 -0
  52. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/common/widget_slides_template.py +0 -0
  53. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/entity_model/__init__.py +0 -0
  54. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/entity_model/directive.py +0 -0
  55. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/entity_model/export_template.py +0 -0
  56. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/entity_model/identity_provider.py +0 -0
  57. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/entity_model/jwk.py +0 -0
  58. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/entity_model/llm_endpoint.py +0 -0
  59. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/entity_model/organization.py +0 -0
  60. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/entity_model/setting.py +0 -0
  61. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/layout/__init__.py +0 -0
  62. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/layout/export_template.py +0 -0
  63. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/layout/identity_provider.py +0 -0
  64. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/layout/notification_channel.py +0 -0
  65. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/organization/service.py +0 -0
  66. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/parameter.py +0 -0
  67. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/permission/__init__.py +0 -0
  68. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/__init__.py +0 -0
  69. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/dashboard_assignees.py +0 -0
  70. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/dashboard_permissions.py +0 -0
  71. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/manage_dashboard_permissions.py +0 -0
  72. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/permission/declarative_model/permission.py +0 -0
  73. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/permission/service.py +0 -0
  74. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/rule.py +0 -0
  75. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/setting.py +0 -0
  76. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/types.py +0 -0
  77. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/__init__.py +0 -0
  78. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/declarative_model/__init__.py +0 -0
  79. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/declarative_model/user.py +0 -0
  80. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/declarative_model/user_and_user_groups.py +0 -0
  81. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/declarative_model/user_group.py +0 -0
  82. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/entity_model/__init__.py +0 -0
  83. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/entity_model/api_token.py +0 -0
  84. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/entity_model/user.py +0 -0
  85. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/entity_model/user_group.py +0 -0
  86. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/management_model/__init__.py +0 -0
  87. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/management_model/management.py +0 -0
  88. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/user/service.py +0 -0
  89. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/validate_by_item.py +0 -0
  90. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/__init__.py +0 -0
  91. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/content_service.py +0 -0
  92. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/__init__.py +0 -0
  93. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/__init__.py +0 -0
  94. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/__init__.py +0 -0
  95. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/analytics_model.py +0 -0
  96. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/base.py +0 -0
  97. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/analytics_model/export_definition.py +0 -0
  98. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/automation.py +0 -0
  99. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/__init__.py +0 -0
  100. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/data_filter_references.py +0 -0
  101. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset/__init__.py +0 -0
  102. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/__init__.py +0 -0
  103. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/dataset_extensions/dataset_extension.py +0 -0
  104. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/__init__.py +0 -0
  105. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/date_dataset/date_dataset.py +0 -0
  106. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/logical_model/ldm.py +0 -0
  107. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/declarative_model/workspace/workspace.py +0 -0
  108. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/__init__.py +0 -0
  109. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/__init__.py +0 -0
  110. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/dataset.py +0 -0
  111. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/metric.py +0 -0
  112. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/content_objects/workspace_setting.py +0 -0
  113. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/filter_view.py +0 -0
  114. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/graph_objects/__init__.py +0 -0
  115. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/graph_objects/graph.py +0 -0
  116. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/user_data_filter.py +0 -0
  117. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/entity_model/workspace.py +0 -0
  118. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/model_container.py +0 -0
  119. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/catalog/workspace/service.py +0 -0
  120. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/cli/__init__.py +0 -0
  121. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/cli/clone.py +0 -0
  122. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/cli/constants.py +0 -0
  123. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/cli/deploy.py +0 -0
  124. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/cli/gdc_core.py +0 -0
  125. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/cli/package.json +0 -0
  126. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/cli/utils.py +0 -0
  127. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/client.py +0 -0
  128. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/__init__.py +0 -0
  129. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/model/__init__.py +0 -0
  130. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/model/attribute.py +0 -0
  131. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/model/base.py +0 -0
  132. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/model/execution.py +0 -0
  133. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/model/metric.py +0 -0
  134. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/compute/service.py +0 -0
  135. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/config.py +0 -0
  136. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/py.typed +0 -0
  137. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/sdk.py +0 -0
  138. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/support.py +0 -0
  139. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/table.py +0 -0
  140. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/type_converter.py +0 -0
  141. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk/utils.py +0 -0
  142. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk.egg-info/SOURCES.txt +0 -0
  143. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk.egg-info/dependency_links.txt +0 -0
  144. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/gooddata_sdk.egg-info/top_level.txt +0 -0
  145. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/setup.cfg +0 -0
  146. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/tests/test_client.py +0 -0
  147. {gooddata_sdk-1.47.1.dev4 → gooddata_sdk-1.48.1.dev1}/tests/test_type_converter.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gooddata-sdk
3
- Version: 1.47.1.dev4
3
+ Version: 1.48.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.47.1.dev4
8
+ Project-URL: Documentation, https://www.gooddata.com/docs/python-sdk/1.48.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.9.0
24
24
  Description-Content-Type: text/markdown
25
25
  License-File: LICENSE.txt
26
- Requires-Dist: gooddata-api-client~=1.47.1.dev4
26
+ Requires-Dist: gooddata-api-client~=1.48.1.dev1
27
27
  Requires-Dist: python-dateutil>=2.5.3
28
28
  Requires-Dist: pyyaml>=6.0
29
29
  Requires-Dist: attrs<=24.2.0,>=21.4.0
@@ -59,7 +59,7 @@ At the moment the SDK provides services to inspect and interact with the Semanti
59
59
  * Compute Service
60
60
  * Table Service
61
61
 
62
- See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.47.1.dev4) for more details.
62
+ See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.48.1.dev1) for more details.
63
63
 
64
64
  ## Requirements
65
65
 
@@ -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.47.1.dev4) for more details.
16
+ See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.48.1.dev1) for more details.
17
17
 
18
18
  ## Requirements
19
19
 
@@ -253,6 +253,7 @@ from gooddata_sdk.compute.model.filter import (
253
253
  AllMetricValueFilter,
254
254
  AllTimeFilter,
255
255
  AttributeFilter,
256
+ BoundedFilter,
256
257
  Filter,
257
258
  InlineFilter,
258
259
  MetricValueFilter,
@@ -5,6 +5,7 @@ from pathlib import Path
5
5
  from typing import Optional
6
6
 
7
7
  import attr
8
+ import attrs
8
9
  from gooddata_api_client.model.data_source_table_identifier import DataSourceTableIdentifier
9
10
  from gooddata_api_client.model.declarative_aggregated_fact import DeclarativeAggregatedFact
10
11
  from gooddata_api_client.model.declarative_attribute import DeclarativeAttribute
@@ -41,7 +42,7 @@ class CatalogDeclarativeDataset(Base):
41
42
  description: Optional[str] = None
42
43
  attributes: Optional[list[CatalogDeclarativeAttribute]] = None
43
44
  facts: Optional[list[CatalogDeclarativeFact]] = None
44
- aggregated_facts: Optional[list[CatalogDeclarativeAggregatedFact]] = None
45
+ aggregated_facts: Optional[list[CatalogDeclarativeAggregatedFact]] = attrs.field(factory=list)
45
46
  data_source_table_id: Optional[CatalogDataSourceTableIdentifier] = None
46
47
  sql: Optional[CatalogDeclarativeDatasetSql] = None
47
48
  tags: Optional[list[str]] = None
@@ -6,6 +6,7 @@ from gooddata_sdk.compute.model.base import ObjId
6
6
  from gooddata_sdk.compute.model.filter import (
7
7
  AbsoluteDateFilter,
8
8
  AllTimeFilter,
9
+ BoundedFilter,
9
10
  Filter,
10
11
  MetricValueFilter,
11
12
  NegativeAttributeFilter,
@@ -71,11 +72,22 @@ class ComputeToSdkConverter:
71
72
  if ("from" not in f) or ("to" not in f):
72
73
  return AllTimeFilter(ref_extract_obj_id(f["dataset"]))
73
74
 
75
+ # Extract bounded filter if present
76
+ bounded_filter = None
77
+ if "boundedFilter" in f:
78
+ bf = f["boundedFilter"]
79
+ bounded_filter = BoundedFilter(
80
+ granularity=bf["granularity"],
81
+ from_shift=bf.get("from"),
82
+ to_shift=bf.get("to"),
83
+ )
84
+
74
85
  return RelativeDateFilter(
75
86
  dataset=ref_extract_obj_id(f["dataset"]),
76
87
  granularity=f["granularity"],
77
88
  from_shift=f["from"],
78
89
  to_shift=f["to"],
90
+ bounded_filter=bounded_filter,
79
91
  )
80
92
 
81
93
  if "absoluteDateFilter" in filter_dict:
@@ -5,6 +5,7 @@ from datetime import datetime
5
5
  from importlib.util import find_spec
6
6
  from typing import Any, Optional, Union
7
7
 
8
+ import attrs
8
9
  from gooddata_api_client.model.inline_filter_definition_inline import InlineFilterDefinitionInline
9
10
 
10
11
  if find_spec("icu") is not None:
@@ -153,8 +154,35 @@ _GRANULARITY: set[str] = {
153
154
  }
154
155
 
155
156
 
157
+ @attrs.define
158
+ class BoundedFilter:
159
+ granularity: str
160
+ from_shift: Optional[int] = None
161
+ to_shift: Optional[int] = None
162
+
163
+ def __attrs_post_init__(self) -> None:
164
+ # Validate that exactly one of from_shift or to_shift is set
165
+ if (self.from_shift is None) == (self.to_shift is None):
166
+ raise ValueError("BoundedFilter requires exactly one of `from_shift` or `to_shift` to be set.")
167
+
168
+ def as_api_model(self) -> afm_models.BoundedFilter:
169
+ return afm_models.BoundedFilter(
170
+ granularity=self.granularity,
171
+ _from=self.from_shift,
172
+ to=self.to_shift,
173
+ _check_type=False,
174
+ )
175
+
176
+
156
177
  class RelativeDateFilter(Filter):
157
- def __init__(self, dataset: ObjId, granularity: str, from_shift: int, to_shift: int) -> None:
178
+ def __init__(
179
+ self,
180
+ dataset: ObjId,
181
+ granularity: str,
182
+ from_shift: int,
183
+ to_shift: int,
184
+ bounded_filter: Optional[BoundedFilter] = None,
185
+ ) -> None:
158
186
  super().__init__()
159
187
 
160
188
  if granularity not in _GRANULARITY:
@@ -166,6 +194,7 @@ class RelativeDateFilter(Filter):
166
194
  self._granularity = granularity
167
195
  self._from_shift = from_shift
168
196
  self._to_shift = to_shift
197
+ self._bounded_filter = bounded_filter
169
198
 
170
199
  @property
171
200
  def dataset(self) -> ObjId:
@@ -183,17 +212,26 @@ class RelativeDateFilter(Filter):
183
212
  def to_shift(self) -> int:
184
213
  return self._to_shift
185
214
 
215
+ @property
216
+ def bounded_filter(self) -> Optional[BoundedFilter]:
217
+ return self._bounded_filter
218
+
186
219
  def is_noop(self) -> bool:
187
220
  return False
188
221
 
189
222
  def as_api_model(self) -> afm_models.RelativeDateFilter:
190
- body = RelativeDateFilterBody(
191
- dataset=self.dataset.as_afm_id(),
192
- granularity=self.granularity,
193
- _from=self.from_shift,
194
- to=self.to_shift,
195
- _check_type=False,
196
- )
223
+ body_params = {
224
+ "dataset": self.dataset.as_afm_id(),
225
+ "granularity": self.granularity,
226
+ "_from": self.from_shift,
227
+ "to": self.to_shift,
228
+ "_check_type": False,
229
+ }
230
+
231
+ if self.bounded_filter is not None:
232
+ body_params["bounded_filter"] = self.bounded_filter.as_api_model()
233
+
234
+ body = RelativeDateFilterBody(**body_params)
197
235
  return afm_models.RelativeDateFilter(body)
198
236
 
199
237
  def description(self, labels: dict[str, str], format_locale: Optional[str] = None) -> str:
@@ -6,6 +6,7 @@ from gooddata_sdk.compute.model.base import ObjId
6
6
  from gooddata_sdk.compute.model.filter import (
7
7
  AbsoluteDateFilter,
8
8
  AllTimeFilter,
9
+ BoundedFilter,
9
10
  Filter,
10
11
  NegativeAttributeFilter,
11
12
  PositiveAttributeFilter,
@@ -65,8 +66,20 @@ class VisualizationToSdkConverter:
65
66
  elif exclude is not None:
66
67
  return NegativeAttributeFilter(label=ObjId(using, "label"), values=exclude)
67
68
  elif granularity is not None and _from is not None and _to is not None:
69
+ bounded_filter = None
70
+ if "boundedFilter" in filter_dict:
71
+ bf = filter_dict["boundedFilter"]
72
+ bounded_filter = BoundedFilter(
73
+ granularity=bf["granularity"],
74
+ from_shift=bf.get("from"),
75
+ to_shift=bf.get("to"),
76
+ )
68
77
  return RelativeDateFilter(
69
- dataset=ObjId(using, "dataset"), granularity=granularity, from_shift=_from, to_shift=_to
78
+ dataset=ObjId(using, "dataset"),
79
+ granularity=granularity,
80
+ from_shift=_from,
81
+ to_shift=_to,
82
+ bounded_filter=bounded_filter,
70
83
  )
71
84
  elif _from is not None and _to is not None:
72
85
  return AbsoluteDateFilter(dataset=ObjId(using, "dataset"), from_date=_from, to_date=_to)
@@ -13,6 +13,7 @@ from gooddata_sdk.compute.model.filter import (
13
13
  AbsoluteDateFilter,
14
14
  AllMetricValueFilter,
15
15
  AllTimeFilter,
16
+ BoundedFilter,
16
17
  Filter,
17
18
  MetricValueFilter,
18
19
  NegativeAttributeFilter,
@@ -181,11 +182,22 @@ def _convert_filter_to_computable(filter_obj: dict[str, Any]) -> Filter:
181
182
  if ("from" not in f) or ("to" not in f):
182
183
  return AllTimeFilter(ref_extract_obj_id(f["dataSet"]))
183
184
 
185
+ # Extract bounded filter if present
186
+ bounded_filter = None
187
+ if "boundedFilter" in f:
188
+ bf = f["boundedFilter"]
189
+ bounded_filter = BoundedFilter(
190
+ granularity=_GRANULARITY_CONVERSION[bf["granularity"]],
191
+ from_shift=bf.get("from"),
192
+ to_shift=bf.get("to"),
193
+ )
194
+
184
195
  return RelativeDateFilter(
185
196
  dataset=ref_extract_obj_id(f["dataSet"]),
186
197
  granularity=_GRANULARITY_CONVERSION[f["granularity"]],
187
198
  from_shift=f["from"],
188
199
  to_shift=f["to"],
200
+ bounded_filter=bounded_filter,
189
201
  )
190
202
 
191
203
  elif "absoluteDateFilter" in filter_obj:
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gooddata-sdk
3
- Version: 1.47.1.dev4
3
+ Version: 1.48.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.47.1.dev4
8
+ Project-URL: Documentation, https://www.gooddata.com/docs/python-sdk/1.48.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.9.0
24
24
  Description-Content-Type: text/markdown
25
25
  License-File: LICENSE.txt
26
- Requires-Dist: gooddata-api-client~=1.47.1.dev4
26
+ Requires-Dist: gooddata-api-client~=1.48.1.dev1
27
27
  Requires-Dist: python-dateutil>=2.5.3
28
28
  Requires-Dist: pyyaml>=6.0
29
29
  Requires-Dist: attrs<=24.2.0,>=21.4.0
@@ -59,7 +59,7 @@ At the moment the SDK provides services to inspect and interact with the Semanti
59
59
  * Compute Service
60
60
  * Table Service
61
61
 
62
- See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.47.1.dev4) for more details.
62
+ See [DOCUMENTATION](https://www.gooddata.com/docs/python-sdk/1.48.1.dev1) for more details.
63
63
 
64
64
  ## Requirements
65
65
 
@@ -1,4 +1,4 @@
1
- gooddata-api-client~=1.47.1.dev4
1
+ gooddata-api-client~=1.48.1.dev1
2
2
  python-dateutil>=2.5.3
3
3
  pyyaml>=6.0
4
4
  attrs<=24.2.0,>=21.4.0
@@ -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.47.1.dev4",
10
+ "gooddata-api-client~=1.48.1.dev1",
11
11
  "python-dateutil>=2.5.3",
12
12
  "pyyaml>=6.0",
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.47.1.dev4",
25
+ version="1.48.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.47.1.dev4",
39
+ "Documentation": "https://www.gooddata.com/docs/python-sdk/1.48.1.dev1",
40
40
  "Source": "https://github.com/gooddata/gooddata-python-sdk",
41
41
  },
42
42
  classifiers=[