gooddata-pipelines 1.72.1.dev1__tar.gz → 1.72.1.dev2__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 (158) hide show
  1. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/PKG-INFO +2 -2
  2. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/pyproject.toml +2 -2
  3. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/ldm_extension/input_processor.py +16 -1
  4. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/ldm_extension/ldm_extension_manager.py +26 -6
  5. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/test_ldm_extension/test_input_processor.py +18 -0
  6. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/.gitignore +0 -0
  7. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/LICENSE.txt +0 -0
  8. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/Makefile +0 -0
  9. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/README.md +0 -0
  10. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/__init__.py +0 -0
  11. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/_version.py +0 -0
  12. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/api/__init__.py +0 -0
  13. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/api/gooddata_api.py +0 -0
  14. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/api/gooddata_api_wrapper.py +0 -0
  15. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/__init__.py +0 -0
  16. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/backup_input_processor.py +0 -0
  17. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/backup_manager.py +0 -0
  18. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/base_manager.py +0 -0
  19. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/constants.py +0 -0
  20. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/csv_reader.py +0 -0
  21. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/models/__init__.py +0 -0
  22. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/models/input_type.py +0 -0
  23. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/models/storage.py +0 -0
  24. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/models/workspace_response.py +0 -0
  25. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/restore_manager.py +0 -0
  26. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/storage/__init__.py +0 -0
  27. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/storage/azure_storage.py +0 -0
  28. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/storage/base_storage.py +0 -0
  29. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/storage/local_storage.py +0 -0
  30. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/backup_and_restore/storage/s3_storage.py +0 -0
  31. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/ldm_extension/__init__.py +0 -0
  32. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/ldm_extension/input_validator.py +0 -0
  33. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/ldm_extension/models/__init__.py +0 -0
  34. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/ldm_extension/models/aliases.py +0 -0
  35. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/ldm_extension/models/analytical_object.py +0 -0
  36. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/ldm_extension/models/custom_data_object.py +0 -0
  37. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/logger/__init__.py +0 -0
  38. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/logger/logger.py +0 -0
  39. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/__init__.py +0 -0
  40. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/assets/wdf_setting.json +0 -0
  41. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/__init__.py +0 -0
  42. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/user_data_filters/__init__.py +0 -0
  43. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/user_data_filters/models/__init__.py +0 -0
  44. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/user_data_filters/models/udf_models.py +0 -0
  45. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/user_data_filters/user_data_filters.py +0 -0
  46. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/users/__init__.py +0 -0
  47. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/users/models/__init__.py +0 -0
  48. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/users/models/permissions.py +0 -0
  49. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/users/models/user_groups.py +0 -0
  50. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/users/models/users.py +0 -0
  51. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/users/permissions.py +0 -0
  52. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/users/user_groups.py +0 -0
  53. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/users/users.py +0 -0
  54. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/workspaces/__init__.py +0 -0
  55. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/workspaces/models.py +0 -0
  56. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/workspaces/workspace.py +0 -0
  57. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_filters.py +0 -0
  58. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_parser.py +0 -0
  59. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/entities/workspaces/workspace_data_validator.py +0 -0
  60. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/generic/__init__.py +0 -0
  61. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/generic/config.py +0 -0
  62. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/generic/provision.py +0 -0
  63. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/provisioning.py +0 -0
  64. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/utils/__init__.py +0 -0
  65. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/utils/context_objects.py +0 -0
  66. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/utils/exceptions.py +0 -0
  67. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/provisioning/utils/utils.py +0 -0
  68. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/py.typed +0 -0
  69. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/utils/__init__.py +0 -0
  70. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/utils/decorators.py +0 -0
  71. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/utils/file_utils.py +0 -0
  72. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/src/gooddata_pipelines/utils/rate_limiter.py +0 -0
  73. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/__init__.py +0 -0
  74. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/backup_and_restore/__init__.py +0 -0
  75. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/backup_and_restore/test_backup.py +0 -0
  76. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/backup_and_restore/test_backup_input_processor.py +0 -0
  77. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/backup_and_restore/test_restore.py +0 -0
  78. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/conftest.py +0 -0
  79. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/__init__.py +0 -0
  80. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/__init__.py +0 -0
  81. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_conf.yaml +0 -0
  82. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboard_extensions/.gitkeep +0 -0
  83. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/analytical_dashboards/.gitkeep +0 -0
  84. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/dashboard_plugins/.gitkeep +0 -0
  85. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/filter_contexts/.gitkeep +0 -0
  86. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/metrics/.gitkeep +0 -0
  87. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/analytics_model/visualization_objects/.gitkeep +0 -0
  88. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/datasets/test.yaml +0 -0
  89. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid1/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid1/ldm/date_instances/testinstance.yaml +0 -0
  90. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboard_extensions/.gitkeep +0 -0
  91. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/analytical_dashboards/id.yaml +0 -0
  92. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/dashboard_plugins/.gitkeep +0 -0
  93. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/filter_contexts/id.yaml +0 -0
  94. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/metrics/.gitkeep +0 -0
  95. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/analytics_model/visualization_objects/test.yaml +0 -0
  96. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/datasets/.gitkeep +0 -0
  97. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid2/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid2/ldm/date_instances/.gitkeep +0 -0
  98. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboard_extensions/.gitkeep +0 -0
  99. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/analytical_dashboards/.gitkeep +0 -0
  100. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/dashboard_plugins/.gitkeep +0 -0
  101. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/filter_contexts/.gitkeep +0 -0
  102. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/metrics/.gitkeep +0 -0
  103. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/analytics_model/visualization_objects/.gitkeep +0 -0
  104. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/datasets/.gitkeep +0 -0
  105. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/ldm/date_instances/.gitkeep +0 -0
  106. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_exports/services/wsid3/20230713-132759-1_3_1_dev5/gooddata_layouts/services/workspaces/wsid3/user_data_filters/.gitkeep +0 -0
  107. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/backup/test_local_conf.yaml +0 -0
  108. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/custom_fields/response_get_all_dashboards.json +0 -0
  109. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/custom_fields/response_get_all_metrics.json +0 -0
  110. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/custom_fields/response_get_all_visualizations.json +0 -0
  111. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/mock_responses.py +0 -0
  112. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/profiles.yaml +0 -0
  113. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/permissions/existing_upstream_permissions.json +0 -0
  114. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/permissions/permissions_expected_full_load.json +0 -0
  115. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/permissions/permissions_expected_incremental_load.json +0 -0
  116. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/permissions/permissions_input_full_load.json +0 -0
  117. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/permissions/permissions_input_incremental_load.json +0 -0
  118. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/users/existing_upstream_users.json +0 -0
  119. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/users/profile_response_content.json +0 -0
  120. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/users/users_expected_full_load.json +0 -0
  121. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/users/users_expected_incremental_load.json +0 -0
  122. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/users/users_input_full_load.json +0 -0
  123. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/users/users_input_full_load_modifies_protected_user.json +0 -0
  124. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/users/users_input_incremental_load.json +0 -0
  125. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/users/users_input_incremental_load_deletes_protected_user.json +0 -0
  126. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/provisioning/entities/users/users_input_incremental_load_modifies_protected_user.json +0 -0
  127. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/restore/test_conf.yaml +0 -0
  128. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/restore/test_udf_root/filter1.yaml +0 -0
  129. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/restore/test_udf_root/filter2.yaml +0 -0
  130. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/restore/test_udf_root/user_data_filters/filter1.yaml +0 -0
  131. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/data/restore/test_udf_root/user_data_filters/filter2.yaml +0 -0
  132. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/panther/__init__.py +0 -0
  133. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/panther/test_api_wrapper.py +0 -0
  134. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/panther/test_sdk_wrapper.py +0 -0
  135. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/__init__.py +0 -0
  136. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/__init__.py +0 -0
  137. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/users/__init__.py +0 -0
  138. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/users/test_permissions.py +0 -0
  139. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/users/test_user_groups.py +0 -0
  140. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/users/test_users.py +0 -0
  141. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/workspaces/__init__.py +0 -0
  142. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/workspaces/test_provisioning.py +0 -0
  143. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/workspaces/test_workspace.py +0 -0
  144. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/workspaces/test_workspace_data_filters.py +0 -0
  145. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/workspaces/test_workspace_data_parser.py +0 -0
  146. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/entities/workspaces/test_workspace_data_validator.py +0 -0
  147. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/provisioning/test_provisioning.py +0 -0
  148. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/test_ldm_extension/__init__.py +0 -0
  149. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/test_ldm_extension/conftest.py +0 -0
  150. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/test_ldm_extension/test_input_validator.py +0 -0
  151. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/test_ldm_extension/test_ldm_extension_manager.py +0 -0
  152. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/test_ldm_extension/test_merge_ldm.py +0 -0
  153. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/test_ldm_extension/test_models/__init__.py +0 -0
  154. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/test_ldm_extension/test_models/test_analytical_object.py +0 -0
  155. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/test_ldm_extension/test_models/test_custom_data_object.py +0 -0
  156. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/utils/test_decorators.py +0 -0
  157. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tests/utils/test_rate_limiter.py +0 -0
  158. {gooddata_pipelines-1.72.1.dev1 → gooddata_pipelines-1.72.1.dev2}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gooddata-pipelines
3
- Version: 1.72.1.dev1
3
+ Version: 1.72.1.dev2
4
4
  Summary: GoodData Cloud lifecycle automation pipelines
5
5
  Author-email: GoodData <support@gooddata.com>
6
6
  License-Expression: MIT
@@ -10,7 +10,7 @@ Requires-Dist: azure-identity<2.0.0,>=1.15.0
10
10
  Requires-Dist: azure-storage-blob<13.0.0,>=12.19.0
11
11
  Requires-Dist: boto3-stubs<2.0.0,>=1.39.3
12
12
  Requires-Dist: boto3<2.0.0,>=1.39.3
13
- Requires-Dist: gooddata-sdk~=1.72.1.dev1
13
+ Requires-Dist: gooddata-sdk~=1.72.1.dev2
14
14
  Requires-Dist: pydantic<3.0.0,>=2.9.2
15
15
  Requires-Dist: requests<3.0.0,>=2.32.3
16
16
  Requires-Dist: types-pyyaml<7.0.0,>=6.0.12.20250326
@@ -1,7 +1,7 @@
1
1
  # (C) 2025 GoodData Corporation
2
2
  [project]
3
3
  name = "gooddata-pipelines"
4
- version = "1.72.1.dev1"
4
+ version = "1.72.1.dev2"
5
5
  description = "GoodData Cloud lifecycle automation pipelines"
6
6
  authors = [{ name = "GoodData", email = "support@gooddata.com" }]
7
7
  license = "MIT"
@@ -11,7 +11,7 @@ dependencies = [
11
11
  "pydantic (>=2.9.2,<3.0.0)",
12
12
  "requests (>=2.32.3,<3.0.0)",
13
13
  "types-requests (>1.0.0,<3.0.0)",
14
- "gooddata-sdk~=1.72.1.dev1",
14
+ "gooddata-sdk~=1.72.1.dev2",
15
15
  "boto3 (>=1.39.3,<2.0.0)",
16
16
  "boto3-stubs (>=1.39.3,<2.0.0)",
17
17
  "azure-storage-blob (>=12.19.0,<13.0.0)",
@@ -82,6 +82,21 @@ class LdmExtensionDataProcessor:
82
82
  "FISCAL_YEAR",
83
83
  ]
84
84
 
85
+ # newly added granularities gated behind `enableSecondGranularities` feature flag
86
+ _SECOND_DATE_GRANULARITIES: list[str] = [
87
+ "SECOND",
88
+ "SECOND_OF_MINUTE",
89
+ "SECOND_OF_DAY",
90
+ "MINUTE_OF_DAY",
91
+ ]
92
+
93
+ def __init__(self, enable_second_granularities: bool = False):
94
+ self._date_granularities = (
95
+ self.DATE_GRANULARITIES + self._SECOND_DATE_GRANULARITIES
96
+ if enable_second_granularities
97
+ else self.DATE_GRANULARITIES
98
+ )
99
+
85
100
  @staticmethod
86
101
  def _attribute_from_field(
87
102
  dataset_name: str,
@@ -127,7 +142,7 @@ class LdmExtensionDataProcessor:
127
142
  title_base="",
128
143
  title_pattern="%titleBase - %granularityTitle",
129
144
  ),
130
- granularities=self.DATE_GRANULARITIES,
145
+ granularities=self._date_granularities,
131
146
  description=custom_field.description,
132
147
  tags=_effective_field_tags(dataset_name, custom_field),
133
148
  )
@@ -33,27 +33,47 @@ from gooddata_pipelines.logger.logger import LogObserver
33
33
 
34
34
 
35
35
  class LdmExtensionManager:
36
- """Manager for creating custom datasets and fields in GoodData workspaces."""
36
+ """Manager for creating custom datasets and fields in GoodData workspaces.
37
+
38
+ Args:
39
+ enable_second_granularities (bool): Whether to create date datasets
40
+ with second-based granularities.
41
+ """
37
42
 
38
43
  INDENT = " " * 2
39
44
 
40
45
  @classmethod
41
- def create(cls, host: str, token: str) -> "LdmExtensionManager":
42
- return cls(host=host, token=token)
46
+ def create(
47
+ cls, host: str, token: str, enable_second_granularities: bool = False
48
+ ) -> "LdmExtensionManager":
49
+ return cls(
50
+ host=host,
51
+ token=token,
52
+ enable_second_granularities=enable_second_granularities,
53
+ )
43
54
 
44
55
  @classmethod
45
56
  def create_from_profile(
46
57
  cls,
47
58
  profile: str = "default",
48
59
  profiles_path: Path = PROFILES_FILE_PATH,
60
+ enable_second_granularities: bool = False,
49
61
  ) -> "LdmExtensionManager":
50
62
  """Creates a provisioner instance using a GoodData profile file."""
51
63
  content = profile_content(profile, profiles_path)
52
- return cls(host=content["host"], token=content["token"])
64
+ return cls(
65
+ host=content["host"],
66
+ token=content["token"],
67
+ enable_second_granularities=enable_second_granularities,
68
+ )
53
69
 
54
- def __init__(self, host: str, token: str):
70
+ def __init__(
71
+ self, host: str, token: str, enable_second_granularities: bool = False
72
+ ):
55
73
  self._validator = LdmExtensionDataValidator()
56
- self._processor = LdmExtensionDataProcessor()
74
+ self._processor = LdmExtensionDataProcessor(
75
+ enable_second_granularities=enable_second_granularities
76
+ )
57
77
  self._sdk = GoodDataSdk.create(host_=host, token_=token)
58
78
  self._api = GoodDataApi(host=host, token=token)
59
79
  self.logger = LogObserver()
@@ -61,6 +61,24 @@ def test_date_from_field(mock_custom_field_date):
61
61
  assert date_ds.tags == ["dataset_name"]
62
62
 
63
63
 
64
+ def test_date_from_field_second_granularities_disabled(
65
+ mock_custom_field_date,
66
+ ):
67
+ processor = LdmExtensionDataProcessor()
68
+ date_ds = processor._date_from_field("dataset_name", mock_custom_field_date)
69
+ assert not set(date_ds.granularities) & set(
70
+ processor._SECOND_DATE_GRANULARITIES
71
+ )
72
+
73
+
74
+ def test_date_from_field_second_granularities_enabled(mock_custom_field_date):
75
+ processor = LdmExtensionDataProcessor(enable_second_granularities=True)
76
+ date_ds = processor._date_from_field("dataset_name", mock_custom_field_date)
77
+ assert set(date_ds.granularities) == set(
78
+ processor.DATE_GRANULARITIES + processor._SECOND_DATE_GRANULARITIES
79
+ )
80
+
81
+
64
82
  def test_date_ref_from_field(mock_custom_field_date):
65
83
  ref = LdmExtensionDataProcessor._date_ref_from_field(mock_custom_field_date)
66
84
  assert ref.identifier.id == "date1"