atlan-application-sdk 0.1.1rc20__tar.gz → 0.1.1rc22__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 (371) hide show
  1. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.cursor/rules/testing.mdc +2 -4
  2. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/e2e-examples/action.yaml +50 -5
  3. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/setup-deps/action.yaml +6 -2
  4. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/unit-tests/action.yaml +7 -1
  5. atlan_application_sdk-0.1.1rc22/.github/release_notes.md +11 -0
  6. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflows/pull_request.yaml +14 -2
  7. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflows/push.yaml +1 -0
  8. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflows/tag-and-publish.yaml +1 -1
  9. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.gitignore +2 -1
  10. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/CHANGELOG.md +27 -0
  11. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/PKG-INFO +2 -2
  12. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/activities/__init__.py +17 -3
  13. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/activities/common/utils.py +29 -0
  14. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/activities/metadata_extraction/sql.py +2 -2
  15. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/activities/query_extraction/sql.py +2 -2
  16. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/clients/temporal.py +5 -4
  17. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/common/credential_utils.py +3 -1
  18. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/common/utils.py +93 -35
  19. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/constants.py +23 -5
  20. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/handlers/sql.py +4 -4
  21. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/inputs/json.py +2 -1
  22. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/inputs/objectstore.py +5 -0
  23. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/inputs/secretstore.py +39 -27
  24. atlan_application_sdk-0.1.1rc22/application_sdk/inputs/statestore.py +98 -0
  25. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/observability/logger_adaptor.py +12 -3
  26. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/observability/metrics_adaptor.py +5 -3
  27. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/observability/observability.py +10 -8
  28. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/observability/traces_adaptor.py +2 -2
  29. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/observability/utils.py +22 -0
  30. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/outputs/objectstore.py +2 -0
  31. atlan_application_sdk-0.1.1rc22/application_sdk/outputs/secretstore.py +38 -0
  32. atlan_application_sdk-0.1.1rc22/application_sdk/outputs/statestore.py +109 -0
  33. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/server/fastapi/__init__.py +19 -8
  34. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/server/fastapi/models.py +3 -11
  35. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/e2e/__init__.py +0 -3
  36. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/version.py +1 -1
  37. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/workflows/metadata_extraction/sql.py +0 -4
  38. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/workflows/query_extraction/sql.py +0 -5
  39. atlan_application_sdk-0.1.1rc22/docs/docs/concepts/output_paths.md +143 -0
  40. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/configuration.md +0 -1
  41. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/guides/getting-started.md +5 -0
  42. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/guides/test-framework.md +1 -1
  43. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/run_examples.py +3 -3
  44. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/pyproject.toml +8 -3
  45. atlan_application_sdk-0.1.1rc22/tests/unit/activities/common/test_utils.py +197 -0
  46. atlan_application_sdk-0.1.1rc22/tests/unit/activities/metadata_extraction/test_sql.py +354 -0
  47. atlan_application_sdk-0.1.1rc22/tests/unit/activities/test_activities.py +278 -0
  48. atlan_application_sdk-0.1.1rc22/tests/unit/application/metadata_extraction/test_sql.py +355 -0
  49. atlan_application_sdk-0.1.1rc22/tests/unit/application/test_application.py +359 -0
  50. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/clients/test_temporal_client.py +20 -9
  51. atlan_application_sdk-0.1.1rc22/tests/unit/common/test_aws_utils.py +159 -0
  52. {atlan_application_sdk-0.1.1rc20/tests/unit/credentials → atlan_application_sdk-0.1.1rc22/tests/unit/common}/test_credential_utils.py +40 -10
  53. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/common/test_utils.py +163 -37
  54. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/handlers/sql/test_metadata.py +7 -5
  55. atlan_application_sdk-0.1.1rc22/tests/unit/inputs/test_json.py +301 -0
  56. atlan_application_sdk-0.1.1rc20/tests/unit/common/test_logger_adapter.py → atlan_application_sdk-0.1.1rc22/tests/unit/observability/test_logger_adaptor.py +6 -1
  57. atlan_application_sdk-0.1.1rc20/tests/unit/common/test_metrics_adapter.py → atlan_application_sdk-0.1.1rc22/tests/unit/observability/test_metrics_adaptor.py +0 -1
  58. {atlan_application_sdk-0.1.1rc20/tests/unit/common → atlan_application_sdk-0.1.1rc22/tests/unit/observability}/test_traces_adaptor.py +0 -1
  59. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/outputs/test_objectstore.py +4 -2
  60. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/outputs/test_statestore.py +7 -62
  61. atlan_application_sdk-0.1.1rc22/tests/unit/server/fastapi/routers/__init__.py +0 -0
  62. atlan_application_sdk-0.1.1rc22/tests/unit/server/fastapi/routers/server.py +0 -0
  63. atlan_application_sdk-0.1.1rc22/tests/unit/test_worker.py +140 -0
  64. atlan_application_sdk-0.1.1rc22/tests/unit/transformers/__init__.py +0 -0
  65. atlan_application_sdk-0.1.1rc22/tests/unit/transformers/atlas/__init__.py +0 -0
  66. atlan_application_sdk-0.1.1rc22/tests/unit/workflows/query_extraction/__init__.py +1 -0
  67. atlan_application_sdk-0.1.1rc22/tests/unit/workflows/query_extraction/test_sql.py +154 -0
  68. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/uv.lock +498 -381
  69. atlan_application_sdk-0.1.1rc20/.github/release_notes.md +0 -7
  70. atlan_application_sdk-0.1.1rc20/application_sdk/inputs/statestore.py +0 -66
  71. atlan_application_sdk-0.1.1rc20/application_sdk/outputs/secretstore.py +0 -29
  72. atlan_application_sdk-0.1.1rc20/application_sdk/outputs/statestore.py +0 -55
  73. atlan_application_sdk-0.1.1rc20/tests/unit/inputs/test_json_input.py +0 -81
  74. atlan_application_sdk-0.1.1rc20/tests/unit/worker.py +0 -52
  75. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.cursor/rules/documentation.mdc +0 -0
  76. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.cursor/rules/guidelines.mdc +0 -0
  77. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.cursor/rules/logging.mdc +0 -0
  78. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.cursor/rules/setup.mdc +0 -0
  79. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.cursor/rules/standards.mdc +0 -0
  80. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.env.example +0 -0
  81. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/CODEOWNERS +0 -0
  82. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  83. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
  84. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  85. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/docgen/action.yaml +0 -0
  86. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/doclint/action.yaml +0 -0
  87. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/docstring-coverage/action.yaml +0 -0
  88. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/e2e-apps/action.yaml +0 -0
  89. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/sync-branches/action.yaml +0 -0
  90. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/trivy/action.yaml +0 -0
  91. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/actions/trivy-container/action.yaml +0 -0
  92. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/dependabot.yaml +0 -0
  93. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/pull_request_template.md +0 -0
  94. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/scripts/extract_release_notes.py +0 -0
  95. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/scripts/pre_release.py +0 -0
  96. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/scripts/release.py +0 -0
  97. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/scripts/trivy-to-markdown.py +0 -0
  98. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/scripts/update_changelog.py +0 -0
  99. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/AMPM.yml +0 -0
  100. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Accessibility.yml +0 -0
  101. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Acronyms.yml +0 -0
  102. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Adverbs.yml +0 -0
  103. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Auto.yml +0 -0
  104. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Avoid.yml +0 -0
  105. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Contractions.yml +0 -0
  106. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Dashes.yml +0 -0
  107. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/DateFormat.yml +0 -0
  108. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/DateNumbers.yml +0 -0
  109. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/DateOrder.yml +0 -0
  110. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Ellipses.yml +0 -0
  111. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/FirstPerson.yml +0 -0
  112. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Foreign.yml +0 -0
  113. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Gender.yml +0 -0
  114. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/GenderBias.yml +0 -0
  115. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/GeneralURL.yml +0 -0
  116. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
  117. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/HeadingColons.yml +0 -0
  118. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
  119. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Headings.yml +0 -0
  120. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Hyphens.yml +0 -0
  121. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Negative.yml +0 -0
  122. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Ordinal.yml +0 -0
  123. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/OxfordComma.yml +0 -0
  124. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Passive.yml +0 -0
  125. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Percentages.yml +0 -0
  126. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Plurals.yml +0 -0
  127. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Quotes.yml +0 -0
  128. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/RangeTime.yml +0 -0
  129. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Semicolon.yml +0 -0
  130. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/SentenceLength.yml +0 -0
  131. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Spacing.yml +0 -0
  132. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Suspended.yml +0 -0
  133. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Terms.yml +0 -0
  134. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/URLFormat.yml +0 -0
  135. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Units.yml +0 -0
  136. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Vocab.yml +0 -0
  137. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/We.yml +0 -0
  138. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/Wordiness.yml +0 -0
  139. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/Microsoft/meta.json +0 -0
  140. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
  141. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
  142. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/checks.properties.json +0 -0
  143. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/checks.yaml +0 -0
  144. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/codeql.properties.json +0 -0
  145. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/codeql.yaml +0 -0
  146. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/dependency-review.properties.json +0 -0
  147. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/dependency-review.yml +0 -0
  148. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/stale.properties.json +0 -0
  149. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/stale.yml +0 -0
  150. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/trivy-container.properties.json +0 -0
  151. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/trivy-container.yaml +0 -0
  152. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/trivy.properties.json +0 -0
  153. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflow-templates/trivy.yaml +0 -0
  154. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflows/codeql.yaml +0 -0
  155. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflows/pre-release.yaml +0 -0
  156. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflows/release.yaml.disabled +0 -0
  157. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflows/scale-tests.yaml +0 -0
  158. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflows/schedule.yaml +0 -0
  159. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.github/workflows/trivy-container.yaml +0 -0
  160. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.pre-commit-config.yaml +0 -0
  161. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/.vscode/launch.json +0 -0
  162. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/CODE_OF_CONDUCT.md +0 -0
  163. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/CONTRIBUTING.md +0 -0
  164. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/LICENSE +0 -0
  165. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/NOTICE +0 -0
  166. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/README.md +0 -0
  167. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/SECURITY.md +0 -0
  168. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/__init__.py +0 -0
  169. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/activities/common/__init__.py +0 -0
  170. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/activities/common/models.py +0 -0
  171. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
  172. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/activities/metadata_extraction/rest.py +0 -0
  173. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/activities/query_extraction/__init__.py +0 -0
  174. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/application/__init__.py +0 -0
  175. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/application/metadata_extraction/sql.py +0 -0
  176. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/clients/__init__.py +0 -0
  177. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/clients/sql.py +0 -0
  178. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/clients/utils.py +0 -0
  179. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/clients/workflow.py +0 -0
  180. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/common/__init__.py +0 -0
  181. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/common/aws_utils.py +0 -0
  182. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/common/dataframe_utils.py +0 -0
  183. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/common/error_codes.py +0 -0
  184. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/__init__.py +0 -0
  185. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/exporters/__init__.py +0 -0
  186. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/exporters/mkdocs.py +0 -0
  187. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/models/__init__.py +0 -0
  188. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/models/export/__init__.py +0 -0
  189. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/models/export/page.py +0 -0
  190. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/models/manifest/__init__.py +0 -0
  191. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/models/manifest/customer.py +0 -0
  192. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/models/manifest/internal.py +0 -0
  193. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/models/manifest/metadata.py +0 -0
  194. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/models/manifest/page.py +0 -0
  195. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/models/manifest/section.py +0 -0
  196. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/parsers/__init__.py +0 -0
  197. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/parsers/directory.py +0 -0
  198. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/docgen/parsers/manifest.py +0 -0
  199. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/handlers/__init__.py +0 -0
  200. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/inputs/__init__.py +0 -0
  201. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/inputs/iceberg.py +0 -0
  202. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/inputs/parquet.py +0 -0
  203. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/inputs/sql_query.py +0 -0
  204. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/observability/__init__.py +0 -0
  205. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/observability/decorators/observability_decorator.py +0 -0
  206. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/outputs/__init__.py +0 -0
  207. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/outputs/eventstore.py +0 -0
  208. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/outputs/iceberg.py +0 -0
  209. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/outputs/json.py +0 -0
  210. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/outputs/parquet.py +0 -0
  211. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/server/__init__.py +0 -0
  212. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
  213. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
  214. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/server/fastapi/routers/__init__.py +0 -0
  215. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/server/fastapi/routers/server.py +0 -0
  216. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/server/fastapi/utils.py +0 -0
  217. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/__init__.py +0 -0
  218. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/e2e/base.py +0 -0
  219. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/e2e/client.py +0 -0
  220. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/e2e/conftest.py +0 -0
  221. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/e2e/utils.py +0 -0
  222. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
  223. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
  224. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
  225. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
  226. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
  227. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
  228. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
  229. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
  230. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
  231. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
  232. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
  233. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
  234. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
  235. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
  236. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
  237. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
  238. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
  239. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
  240. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
  241. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
  242. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
  243. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
  244. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
  245. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
  246. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
  247. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
  248. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
  249. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
  250. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
  251. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
  252. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/test_utils/workflow_monitoring.py +0 -0
  253. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/__init__.py +0 -0
  254. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/atlas/__init__.py +0 -0
  255. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/atlas/sql.py +0 -0
  256. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/common/__init__.py +0 -0
  257. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/common/utils.py +0 -0
  258. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/query/__init__.py +0 -0
  259. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/query/templates/column.yaml +0 -0
  260. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/query/templates/database.yaml +0 -0
  261. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
  262. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/query/templates/function.yaml +0 -0
  263. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/query/templates/schema.yaml +0 -0
  264. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/query/templates/table.yaml +0 -0
  265. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
  266. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/worker.py +0 -0
  267. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/workflows/__init__.py +0 -0
  268. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
  269. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/application_sdk/workflows/query_extraction/__init__.py +0 -0
  270. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/components/README.md +0 -0
  271. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/components/aws-secrets.yaml +0 -0
  272. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/components/eventstore.yaml +0 -0
  273. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/components/objectstore.yaml +0 -0
  274. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/components/secretstore.yaml +0 -0
  275. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/components/statestore.yaml +0 -0
  276. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/activities.md +0 -0
  277. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/application.md +0 -0
  278. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/application_sql.md +0 -0
  279. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/clients.md +0 -0
  280. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/common.md +0 -0
  281. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/handlers.md +0 -0
  282. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/inputs.md +0 -0
  283. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/outputs.md +0 -0
  284. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/server.md +0 -0
  285. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/worker.md +0 -0
  286. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/concepts/workflows.md +0 -0
  287. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/guides/architecture.md +0 -0
  288. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/guides/atlantis.md +0 -0
  289. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/guides/best-practices.md +0 -0
  290. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/guides/index.md +0 -0
  291. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/guides/partners.md +0 -0
  292. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/guides/secretstores.md +0 -0
  293. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/guides/sql-application-guide.md +0 -0
  294. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/index.md +0 -0
  295. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/setup/LINUX.md +0 -0
  296. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/setup/MAC.md +0 -0
  297. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/setup/WINDOWS.md +0 -0
  298. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/setup/troubleshooting.md +0 -0
  299. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/static/assets/logo.svg +0 -0
  300. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
  301. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/static/javascripts/mathjax.js +0 -0
  302. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/docs/static/stylesheets/extra.css +0 -0
  303. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/docs/mkdocs.yml +0 -0
  304. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/README.md +0 -0
  305. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/application_custom_fastapi.py +0 -0
  306. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/application_fastapi.py +0 -0
  307. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/application_hello_world.py +0 -0
  308. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/application_sql.py +0 -0
  309. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/application_sql_miner.py +0 -0
  310. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
  311. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/application_sql_with_custom_transformer.py +0 -0
  312. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/examples/sql_query_templates/database.yaml +0 -0
  313. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/__init__.py +0 -0
  314. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/__init__.py +0 -0
  315. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/activities/__init__.py +0 -0
  316. {atlan_application_sdk-0.1.1rc20/tests/unit/clients → atlan_application_sdk-0.1.1rc22/tests/unit/activities/common}/__init__.py +0 -0
  317. {atlan_application_sdk-0.1.1rc20/tests/unit/handlers → atlan_application_sdk-0.1.1rc22/tests/unit/activities/metadata_extraction}/__init__.py +0 -0
  318. {atlan_application_sdk-0.1.1rc20/tests/unit/server → atlan_application_sdk-0.1.1rc22/tests/unit/activities/query_extraction}/__init__.py +0 -0
  319. {atlan_application_sdk-0.1.1rc20/tests/unit/server/fastapi/routers → atlan_application_sdk-0.1.1rc22/tests/unit/application}/__init__.py +0 -0
  320. {atlan_application_sdk-0.1.1rc20/tests/unit/transformers → atlan_application_sdk-0.1.1rc22/tests/unit/clients}/__init__.py +0 -0
  321. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/clients/test_async_sql_client.py +0 -0
  322. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/clients/test_sql_client.py +0 -0
  323. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
  324. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
  325. {atlan_application_sdk-0.1.1rc20/tests/unit/transformers/atlas → atlan_application_sdk-0.1.1rc22/tests/unit/handlers}/__init__.py +0 -0
  326. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/handlers/sql/test_auth.py +0 -0
  327. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
  328. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
  329. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
  330. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
  331. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/handlers/sql/test_tables_check.py +0 -0
  332. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
  333. {atlan_application_sdk-0.1.1rc20/tests/unit/workflows/sql → atlan_application_sdk-0.1.1rc22/tests/unit/observability}/__init__.py +0 -0
  334. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/outputs/test_iceberg.py +0 -0
  335. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/outputs/test_json_output.py +0 -0
  336. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/outputs/test_output.py +0 -0
  337. /atlan_application_sdk-0.1.1rc20/tests/unit/server/fastapi/routers/server.py → /atlan_application_sdk-0.1.1rc22/tests/unit/server/__init__.py +0 -0
  338. /atlan_application_sdk-0.1.1rc20/tests/unit/server/fastapi/test__init__.py → /atlan_application_sdk-0.1.1rc22/tests/unit/server/fastapi/test_fastapi.py +0 -0
  339. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
  340. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
  341. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
  342. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
  343. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
  344. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
  345. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
  346. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
  347. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
  348. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
  349. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
  350. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
  351. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/test_column.py +0 -0
  352. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/test_database.py +0 -0
  353. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/test_function.py +0 -0
  354. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/test_procedure.py +0 -0
  355. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/test_schema.py +0 -0
  356. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/atlas/test_table.py +0 -0
  357. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/raw/column.json +0 -0
  358. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/raw/database.json +0 -0
  359. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
  360. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/raw/function.json +0 -0
  361. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
  362. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/raw/table.json +0 -0
  363. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
  364. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
  365. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
  366. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
  367. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
  368. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
  369. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
  370. {atlan_application_sdk-0.1.1rc20 → atlan_application_sdk-0.1.1rc22}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
  371. /atlan_application_sdk-0.1.1rc20/tests/unit/workflows/sql/test_workflow.py → /atlan_application_sdk-0.1.1rc22/tests/unit/workflows/metadata_extraction/test_sql.py +0 -0
@@ -1,11 +1,9 @@
1
1
  ---
2
- description:
3
- globs: tests/**/*.py
4
- alwaysApply: false
2
+ alwaysApply: true
5
3
  ---
6
4
  # Testing Guidelines
7
5
 
8
- - Run the unit tests using the command: `uv run pytests tests/`
6
+ - Run the unit tests using the command: `uv run coverage run -m pytest --import-mode=importlib --capture=no --log-cli-level=INFO tests/ -v --full-trace --hypothesis-show-statistics`
9
7
 
10
8
 
11
9
  - **Test Framework**
@@ -14,6 +14,9 @@ description: |
14
14
  and can serve as reliable reference implementations for SDK users.
15
15
 
16
16
  inputs:
17
+ operating-system:
18
+ required: true
19
+ description: The operating system to use for the action.
17
20
  github-token:
18
21
  required: true
19
22
  description: The GitHub token to use for the action.
@@ -38,22 +41,46 @@ runs:
38
41
  steps:
39
42
  - uses: actions/checkout@v4
40
43
 
41
- - name: Install Dapr CLI
44
+ - name: Install Dapr CLI (Linux/macOS)
45
+ if: runner.os != 'Windows'
42
46
  shell: bash
43
47
  run: |
44
48
  wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash -s 1.14.1
45
49
  dapr init --runtime-version 1.13.6 --slim
46
50
 
51
+ - name: Install Dapr CLI (Windows)
52
+ if: runner.os == 'Windows'
53
+ shell: pwsh
54
+ run: |
55
+ $script=iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1; $block=[ScriptBlock]::Create($script); invoke-command -ScriptBlock $block -ArgumentList 1.14.1, "$env:USERPROFILE\.dapr\bin\"
56
+ $env:Path += ";$env:USERPROFILE\.dapr\bin\"
57
+ dapr init --runtime-version 1.13.6 --slim
58
+
47
59
  - name: Install Temporal CLI and Start Server
60
+ if: runner.os != 'Windows'
48
61
  shell: bash
49
62
  run: |
50
63
  curl -sSf https://temporal.download/cli.sh | sh
51
64
  export PATH="$HOME/.temporalio/bin:$PATH"
52
- temporal server start-dev --db-filename /tmp/temporal.db &
53
- sleep 10 # Give some time for Temporal to start
65
+
66
+ - name: Install Temporal CLI and Start Server (Windows)
67
+ if: runner.os == 'Windows'
68
+ shell: pwsh
69
+ run: |
70
+ # Create a directory for Temporal CLI
71
+ New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.temporalio\bin"
72
+
73
+ # Download Temporal CLI
74
+ Invoke-WebRequest -Uri "https://temporal.download/cli/archive/latest?platform=windows&arch=amd64" -OutFile "$env:USERPROFILE\.temporalio\temporal.zip"
75
+
76
+ # Extract and install
77
+ Expand-Archive -Path "$env:USERPROFILE\.temporalio\temporal.zip" -DestinationPath "$env:USERPROFILE\.temporalio\bin" -Force
78
+
79
+ # Add to PATH
80
+ $env:Path += ";$env:USERPROFILE\.temporalio\bin"
54
81
 
55
82
  - name: Set up Python 3.11
56
- uses: actions/setup-python@v1
83
+ uses: actions/setup-python@v5
57
84
  with:
58
85
  python-version: "3.11"
59
86
 
@@ -66,6 +93,21 @@ runs:
66
93
  shell: bash
67
94
  run: uv sync --all-extras --all-groups
68
95
 
96
+ # Set up PATH for DAPR and Temporal globally
97
+ - name: Setup PATH for DAPR and Temporal (Linux/macOS)
98
+ if: runner.os != 'Windows'
99
+ shell: bash
100
+ run: |
101
+ echo "$HOME/.dapr/bin" >> $GITHUB_PATH
102
+ echo "$HOME/.temporalio/bin" >> $GITHUB_PATH
103
+
104
+ - name: Setup PATH for DAPR and Temporal (Windows)
105
+ if: runner.os == 'Windows'
106
+ shell: pwsh
107
+ run: |
108
+ echo "$env:USERPROFILE\.dapr\bin" >> $env:GITHUB_PATH
109
+ echo "$env:USERPROFILE\.temporalio\bin" >> $env:GITHUB_PATH
110
+
69
111
  # Start all services
70
112
  - name: Start Platform Services
71
113
  shell: bash
@@ -83,6 +125,7 @@ runs:
83
125
  SNOWFLAKE_ACCOUNT_ID: ${{ inputs.snowflake-account-id }}
84
126
  SNOWFLAKE_USER: ${{ inputs.snowflake-user }}
85
127
  SNOWFLAKE_PASSWORD: ${{ inputs.snowflake-password }}
128
+ ATLAN_LOCAL_DEVELOPMENT: true
86
129
  run: |
87
130
  cd examples
88
131
  uv run run_examples.py
@@ -90,11 +133,13 @@ runs:
90
133
  echo "Workflow status:"
91
134
  cat workflow_status.md
92
135
 
136
+ echo "Operating system: **${{ inputs.operating-system }}**" >> workflow_status.md
137
+
93
138
  - name: Comment test results on Pull Request
94
139
  if: ${{ !cancelled() && github.event_name == 'pull_request' }}
95
140
  uses: mshick/add-pr-comment@v2
96
141
  with:
97
- message-id: "workflow_status"
142
+ message-id: "workflow_status_${{ inputs.operating-system }}"
98
143
  message-path: "examples/workflow_status.md"
99
144
 
100
145
  # Stop all services
@@ -10,6 +10,10 @@ inputs:
10
10
  description: "Enable dependency caching"
11
11
  required: false
12
12
  default: "true"
13
+ python-version:
14
+ required: false
15
+ description: The Python version to use for the action.
16
+ default: "3.11"
13
17
 
14
18
  runs:
15
19
  using: "composite"
@@ -18,11 +22,11 @@ runs:
18
22
  with:
19
23
  fetch-depth: 0
20
24
 
21
- - name: Set up Python 3.11
25
+ - name: Set up Python
22
26
  id: setup-python
23
27
  uses: actions/setup-python@v5
24
28
  with:
25
- python-version: "3.11"
29
+ python-version: ${{ inputs.python-version }}
26
30
 
27
31
  - name: Install uv
28
32
  uses: astral-sh/setup-uv@v5
@@ -20,6 +20,10 @@ inputs:
20
20
  required: false
21
21
  description: The minimum coverage threshold to enforce. Default is 60%.
22
22
  default: "50"
23
+ python-version:
24
+ required: false
25
+ description: The Python version to use for the action.
26
+ default: "3.11"
23
27
 
24
28
  runs:
25
29
  using: "composite"
@@ -27,6 +31,8 @@ runs:
27
31
  - uses: actions/checkout@v4
28
32
 
29
33
  - uses: "./.github/actions/setup-deps"
34
+ with:
35
+ python-version: ${{ inputs.python-version }}
30
36
 
31
37
  - name: Get branch name
32
38
  shell: bash
@@ -36,7 +42,7 @@ runs:
36
42
  - name: Run Unit and Integration Tests with Coverage
37
43
  shell: bash
38
44
  run: |
39
- uv run coverage run -m pytest --capture=no --log-cli-level=INFO tests/ -v --full-trace --hypothesis-show-statistics
45
+ uv run coverage run -m pytest --import-mode=importlib --capture=no --log-cli-level=INFO tests/ -v --full-trace --hypothesis-show-statistics
40
46
  uv run coverage xml
41
47
  uv run coverage html
42
48
  uv run coverage report --fail-under=${{ inputs.fail-under }}
@@ -0,0 +1,11 @@
1
+ ## v0.1.1rc22 (July 21, 2025)
2
+
3
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc21...v0.1.1rc22
4
+
5
+ ### Features
6
+
7
+ - use object store as state store, path update and fixes (#618) (by @Nishchith Shetty in [d439cb4](https://github.com/atlanhq/application-sdk/commit/d439cb4))
8
+
9
+ ### Bug Fixes
10
+
11
+ - suppress daft dependency loggers (#611) (by @Nishchith Shetty in [3e379d4](https://github.com/atlanhq/application-sdk/commit/3e379d4))
@@ -49,13 +49,20 @@ jobs:
49
49
  # Testing
50
50
  unit:
51
51
  name: Unit Tests
52
- runs-on: ubuntu-latest
52
+ runs-on: ${{ matrix.os }}
53
+ timeout-minutes: 10
54
+ strategy:
55
+ fail-fast: false
56
+ matrix:
57
+ python-version: ["3.11", "3.12", "3.13"]
58
+ os: [ubuntu-22.04, macOS-latest, windows-latest]
53
59
  steps:
54
60
  - uses: actions/checkout@v4
55
61
  - uses: "./.github/actions/unit-tests"
56
62
  with:
57
63
  github-token: ${{ secrets.ORG_PAT_GITHUB }}
58
64
  fail-under: "50"
65
+ python-version: ${{ matrix.python-version }}
59
66
 
60
67
  matrix-builder:
61
68
  name: Build Test Matrix
@@ -137,11 +144,16 @@ jobs:
137
144
  name: Run Examples
138
145
  needs: matrix-builder
139
146
  if: ((github.event.action == 'labeled' && github.event.label.name == 'run-examples') || contains(github.event.pull_request.labels.*.name, 'run-examples'))
140
- runs-on: ubuntu-latest
147
+ runs-on: ${{ matrix.os }}
148
+ strategy:
149
+ fail-fast: false
150
+ matrix:
151
+ os: [ubuntu-22.04, macOS-latest, windows-latest]
141
152
  steps:
142
153
  - uses: actions/checkout@v4
143
154
  - uses: "./.github/actions/e2e-examples"
144
155
  with:
156
+ operating-system: ${{ matrix.os }}
145
157
  github-token: ${{ secrets.ORG_PAT_GITHUB }}
146
158
  postgres-host: ${{ secrets.POSTGRES_HOST }}
147
159
  postgres-password: ${{ secrets.POSTGRES_PASSWORD }}
@@ -33,6 +33,7 @@ jobs:
33
33
  - uses: actions/checkout@v4
34
34
  - uses: "./.github/actions/e2e-examples"
35
35
  with:
36
+ operating-system: ubuntu-latest
36
37
  github-token: ${{ secrets.ORG_PAT_GITHUB }}
37
38
  postgres-host: ${{ secrets.POSTGRES_HOST }}
38
39
  postgres-password: ${{ secrets.POSTGRES_PASSWORD }}
@@ -23,7 +23,7 @@ jobs:
23
23
  fetch-depth: 0 # Need full history for release notes
24
24
 
25
25
  - name: Setup Python
26
- uses: actions/setup-python@v4
26
+ uses: actions/setup-python@v5
27
27
  with:
28
28
  python-version: '3.11'
29
29
 
@@ -165,4 +165,5 @@ docs/reference/*.rst
165
165
  docstring-cov.md
166
166
 
167
167
  # local
168
- local/
168
+ local/
169
+ temporal.db
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+
4
+ ## v0.1.1rc22 (July 21, 2025)
5
+
6
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc21...v0.1.1rc22
7
+
8
+ ### Features
9
+
10
+ - use object store as state store, path update and fixes (#618) (by @Nishchith Shetty in [d439cb4](https://github.com/atlanhq/application-sdk/commit/d439cb4))
11
+
12
+ ### Bug Fixes
13
+
14
+ - suppress daft dependency loggers (#611) (by @Nishchith Shetty in [3e379d4](https://github.com/atlanhq/application-sdk/commit/3e379d4))
15
+
16
+
17
+ ## v0.1.1rc21 (July 10, 2025)
18
+
19
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc20...v0.1.1rc21
20
+
21
+ ### Features
22
+
23
+ - enable tests and examples on macOS and windows as part of CI (#606) (by @Nishchith Shetty in [e717fa0](https://github.com/atlanhq/application-sdk/commit/e717fa0))
24
+
25
+ ### Bug Fixes
26
+
27
+ - multi-database fetch based on include / exclude filter (#610) (by @Abhishek Agrawal in [954584e](https://github.com/atlanhq/application-sdk/commit/954584e))
28
+ - unit tests structure, add missing tests (#609) (by @Nishchith Shetty in [b146004](https://github.com/atlanhq/application-sdk/commit/b146004))
29
+
3
30
  ## v0.1.1rc20 (July 02, 2025)
4
31
 
5
32
  Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc19...v0.1.1rc20
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atlan-application-sdk
3
- Version: 0.1.1rc20
3
+ Version: 0.1.1rc22
4
4
  Summary: Atlan Application SDK is a Python library for developing applications on the Atlan Platform
5
5
  Project-URL: Repository, https://github.com/atlanhq/application-sdk
6
6
  Project-URL: Documentation, https://github.com/atlanhq/application-sdk/README.md
@@ -25,7 +25,7 @@ Requires-Dist: fastapi[standard]>=0.115.0
25
25
  Requires-Dist: loguru>=0.7.3
26
26
  Requires-Dist: opentelemetry-exporter-otlp>=1.27.0
27
27
  Requires-Dist: psutil>=7.0.0
28
- Requires-Dist: pyatlan==7.0.1
28
+ Requires-Dist: pyatlan>=7.1.1
29
29
  Requires-Dist: pydantic>=2.10.6
30
30
  Requires-Dist: python-dotenv>=1.1.0
31
31
  Requires-Dist: uvloop>=0.21.0; sys_platform != 'win32'
@@ -13,16 +13,22 @@ Example:
13
13
  ... await state.handler.do_something()
14
14
  """
15
15
 
16
+ import os
16
17
  from abc import ABC
17
18
  from typing import Any, Dict, Generic, Optional, TypeVar
18
19
 
19
20
  from pydantic import BaseModel
20
21
  from temporalio import activity
21
22
 
22
- from application_sdk.activities.common.utils import auto_heartbeater, get_workflow_id
23
+ from application_sdk.activities.common.utils import (
24
+ auto_heartbeater,
25
+ build_output_path,
26
+ get_workflow_id,
27
+ )
23
28
  from application_sdk.common.error_codes import OrchestratorError
29
+ from application_sdk.constants import TEMPORARY_PATH
24
30
  from application_sdk.handlers import HandlerInterface
25
- from application_sdk.inputs.statestore import StateStoreInput
31
+ from application_sdk.inputs.statestore import StateStoreInput, StateType
26
32
  from application_sdk.observability.logger_adaptor import get_logger
27
33
 
28
34
  logger = get_logger(__name__)
@@ -183,7 +189,15 @@ class ActivitiesInterface(ABC, Generic[ActivitiesStateType]):
183
189
 
184
190
  try:
185
191
  # This already handles the Dapr call internally
186
- return StateStoreInput.extract_configuration(workflow_id)
192
+ workflow_args = StateStoreInput.get_state(workflow_id, StateType.WORKFLOWS)
193
+ workflow_args["output_prefix"] = workflow_args.get(
194
+ "output_prefix", TEMPORARY_PATH
195
+ )
196
+ workflow_args["output_path"] = os.path.join(
197
+ workflow_args["output_prefix"], build_output_path()
198
+ )
199
+ return workflow_args
200
+
187
201
  except Exception as e:
188
202
  logger.error(
189
203
  f"Failed to retrieve workflow configuration for {workflow_id}: {str(e)}",
@@ -11,6 +11,7 @@ from typing import Any, Awaitable, Callable, Optional, TypeVar, cast
11
11
 
12
12
  from temporalio import activity
13
13
 
14
+ from application_sdk.constants import APPLICATION_NAME, WORKFLOW_OUTPUT_PATH_TEMPLATE
14
15
  from application_sdk.observability.logger_adaptor import get_logger
15
16
 
16
17
  logger = get_logger(__name__)
@@ -43,6 +44,34 @@ def get_workflow_id() -> str:
43
44
  raise Exception("Failed to get workflow id")
44
45
 
45
46
 
47
+ def get_workflow_run_id() -> str:
48
+ """Get the workflow run ID from the current activity."""
49
+ try:
50
+ return activity.info().workflow_run_id
51
+ except Exception as e:
52
+ logger.error("Failed to get workflow run id", exc_info=e)
53
+ raise Exception("Failed to get workflow run id")
54
+
55
+
56
+ def build_output_path() -> str:
57
+ """Build a standardized output path for workflow artifacts.
58
+
59
+ This method creates a consistent output path format across all workflows using the WORKFLOW_OUTPUT_PATH_TEMPLATE constant.
60
+
61
+ Returns:
62
+ str: The standardized output path.
63
+
64
+ Example:
65
+ >>> build_output_path()
66
+ "artifacts/apps/appName/workflows/wf-123/run-456"
67
+ """
68
+ return WORKFLOW_OUTPUT_PATH_TEMPLATE.format(
69
+ application_name=APPLICATION_NAME,
70
+ workflow_id=get_workflow_id(),
71
+ run_id=get_workflow_run_id(),
72
+ )
73
+
74
+
46
75
  def auto_heartbeater(fn: F) -> F:
47
76
  """Decorator that automatically sends heartbeats during activity execution.
48
77
 
@@ -137,8 +137,8 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
137
137
  self._state[workflow_id].handler = handler
138
138
 
139
139
  if "credential_guid" in workflow_args:
140
- credentials = SecretStoreInput.extract_credentials(
141
- workflow_args["credential_guid"]
140
+ credentials = await SecretStoreInput.fetch_secret(
141
+ secret_key=workflow_args["credential_guid"]
142
142
  )
143
143
  await sql_client.load(credentials)
144
144
 
@@ -128,8 +128,8 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
128
128
  workflow_id = get_workflow_id()
129
129
  sql_client = self.sql_client_class()
130
130
  if "credential_guid" in workflow_args:
131
- credentials = SecretStoreInput.extract_credentials(
132
- workflow_args["credential_guid"]
131
+ credentials = await SecretStoreInput.fetch_secret(
132
+ secret_key=workflow_args["credential_guid"]
133
133
  )
134
134
  await sql_client.load(credentials)
135
135
 
@@ -28,6 +28,7 @@ from application_sdk.constants import (
28
28
  WORKFLOW_NAMESPACE,
29
29
  WORKFLOW_PORT,
30
30
  )
31
+ from application_sdk.inputs.statestore import StateType
31
32
  from application_sdk.observability.logger_adaptor import get_logger
32
33
  from application_sdk.outputs.eventstore import (
33
34
  ApplicationEventNames,
@@ -312,13 +313,12 @@ class TemporalWorkflowClient(WorkflowClient):
312
313
  """
313
314
  if "credentials" in workflow_args:
314
315
  # remove credentials from workflow_args and add reference to credentials
315
- workflow_args["credential_guid"] = SecretStoreOutput.store_credentials(
316
+ workflow_args["credential_guid"] = await SecretStoreOutput.save_secret(
316
317
  workflow_args["credentials"]
317
318
  )
318
319
  del workflow_args["credentials"]
319
320
 
320
321
  workflow_id = workflow_args.get("workflow_id")
321
- output_prefix = workflow_args.get("output_prefix", "/tmp/output")
322
322
  if not workflow_id:
323
323
  # if workflow_id is not provided, create a new one
324
324
  workflow_id = workflow_args.get("argo_workflow_name", str(uuid.uuid4()))
@@ -327,11 +327,12 @@ class TemporalWorkflowClient(WorkflowClient):
327
327
  {
328
328
  "application_name": self.application_name,
329
329
  "workflow_id": workflow_id,
330
- "output_prefix": output_prefix,
331
330
  }
332
331
  )
333
332
 
334
- StateStoreOutput.store_configuration(workflow_id, workflow_args)
333
+ await StateStoreOutput.save_state_object(
334
+ id=workflow_id, value=workflow_args, type=StateType.WORKFLOWS
335
+ )
335
336
 
336
337
  logger.info(f"Created workflow config with ID: {workflow_id}")
337
338
 
@@ -43,7 +43,9 @@ async def resolve_credentials(credentials: Dict[str, Any]) -> Dict[str, Any]:
43
43
  )
44
44
 
45
45
  # Fetch and apply secret using SecretStoreInput
46
- secret_data = await SecretStoreInput.fetch_secret(credential_source, secret_key)
46
+ secret_data = await SecretStoreInput.fetch_secret(
47
+ secret_key=secret_key, component_name=credential_source
48
+ )
47
49
  return SecretStoreInput.apply_secret_values(credentials, secret_data)
48
50
 
49
51
  except Exception as e:
@@ -2,19 +2,98 @@ import asyncio
2
2
  import glob
3
3
  import json
4
4
  import os
5
+ import re
5
6
  from concurrent.futures import ThreadPoolExecutor
6
- from typing import Any, Awaitable, Callable, Dict, List, Optional, Tuple, TypeVar, Union
7
+ from typing import (
8
+ Any,
9
+ Awaitable,
10
+ Callable,
11
+ Dict,
12
+ List,
13
+ Optional,
14
+ Set,
15
+ Tuple,
16
+ TypeVar,
17
+ Union,
18
+ )
7
19
 
8
20
  from application_sdk.common.error_codes import CommonError
9
- from application_sdk.inputs.statestore import StateStoreInput
10
21
  from application_sdk.observability.logger_adaptor import get_logger
11
- from application_sdk.outputs.statestore import StateStoreOutput
12
22
 
13
23
  logger = get_logger(__name__)
14
24
 
15
25
  F = TypeVar("F", bound=Callable[..., Awaitable[Any]])
16
26
 
17
27
 
28
+ def extract_database_names_from_regex(normalized_regex: str) -> str:
29
+ """
30
+ Extract database names from normalized regex patterns and return a regex string suitable for SQL queries.
31
+
32
+ This function parses regex patterns like 'dev\\.external_schema$|wide_world_importers\\.bronze_sales$'
33
+ or 'dev\\.*|wide_world_importers\\.*' to extract the database names, and returns a regex string
34
+ like '^(dev|wide_world_importers)$' for use in SQL queries.
35
+
36
+ Args:
37
+ normalized_regex (str): The normalized regex pattern containing database.schema patterns
38
+
39
+ Returns:
40
+ str: A regex string in the format ^(name1|name2|...)$ or '^$' if no names are found.
41
+
42
+ Examples:
43
+ >>> extract_database_names_from_regex('dev\\.external_schema$|wide_world_importers\\.bronze_sales$')
44
+ '^(dev|wide_world_importers)$'
45
+ >>> extract_database_names_from_regex('dev\\.*|wide_world_importers\\.*')
46
+ '^(dev|wide_world_importers)$'
47
+ >>> extract_database_names_from_regex('^$')
48
+ '^$'
49
+
50
+ Raises:
51
+ CommonError: If the input is invalid or processing fails
52
+ """
53
+ try:
54
+ if not normalized_regex or not isinstance(normalized_regex, str):
55
+ logger.warning("Invalid normalized_regex input: empty or non-string value")
56
+ return "'^$'"
57
+
58
+ database_names: Set[str] = set()
59
+
60
+ # Split by | to get individual patterns
61
+ patterns = normalized_regex.split("|")
62
+
63
+ for pattern in patterns:
64
+ try:
65
+ # Skip empty patterns
66
+ if not pattern or not pattern.strip():
67
+ continue
68
+
69
+ # Split by \\. to get database name (first part)
70
+ # The \\. represents an escaped dot in the regex
71
+ parts = pattern.split("\\.")
72
+ if parts:
73
+ db_name = parts[0].strip()
74
+ if db_name and db_name not in (".*", "^$"):
75
+ # Validate database name format
76
+ if re.match(r"^[a-zA-Z_][a-zA-Z0-9_]*$", db_name):
77
+ database_names.add(db_name)
78
+ else:
79
+ logger.warning(f"Invalid database name format: {db_name}")
80
+
81
+ except Exception as e:
82
+ logger.warning(f"Error processing pattern '{pattern}': {str(e)}")
83
+ continue
84
+
85
+ if not database_names:
86
+ return "'^$'"
87
+ return f"'^({'|'.join(sorted(database_names))})$'"
88
+
89
+ except Exception as e:
90
+ logger.error(
91
+ f"Error extracting database names from regex '{normalized_regex}': {str(e)}"
92
+ )
93
+ # Return a safe default that excludes everything
94
+ return "'^$'"
95
+
96
+
18
97
  def prepare_query(
19
98
  query: Optional[str],
20
99
  workflow_args: Dict[str, Any],
@@ -67,12 +146,23 @@ def prepare_query(
67
146
  include_filter, exclude_filter
68
147
  )
69
148
 
149
+ # Extract database names from the normalized regex patterns
150
+ include_databases = extract_database_names_from_regex(normalized_include_regex)
151
+ exclude_databases = extract_database_names_from_regex(normalized_exclude_regex)
152
+
153
+ if include_databases == "'^$'" and exclude_databases == "'^$'":
154
+ include_databases = "'.*'"
155
+ exclude_databases = "'^$'"
156
+
157
+ # Use sets directly for SQL query formatting
70
158
  exclude_empty_tables = workflow_args.get("metadata", {}).get(
71
159
  "exclude_empty_tables", False
72
160
  )
73
161
  exclude_views = workflow_args.get("metadata", {}).get("exclude_views", False)
74
162
 
75
163
  return query.format(
164
+ include_databases=include_databases,
165
+ exclude_databases=exclude_databases,
76
166
  normalized_include_regex=normalized_include_regex,
77
167
  normalized_exclude_regex=normalized_exclude_regex,
78
168
  temp_table_regex_sql=temp_table_regex_sql,
@@ -176,38 +266,6 @@ def normalize_filters(
176
266
  return normalized_filter_list
177
267
 
178
268
 
179
- def get_workflow_config(config_id: str) -> Dict[str, Any]:
180
- """Gets the workflow configuration from the state store using config id.
181
-
182
- Args:
183
- config_id: The configuration ID to retrieve.
184
-
185
- Returns:
186
- dict: The workflow configuration.
187
- """
188
- return StateStoreInput.extract_configuration(config_id)
189
-
190
-
191
- def update_workflow_config(config_id: str, config: Dict[str, Any]) -> Dict[str, Any]:
192
- """Updates the workflow configuration.
193
-
194
- Args:
195
- config_id: The configuration ID to update.
196
- config: The new configuration dictionary.
197
-
198
- Returns:
199
- dict: The updated workflow configuration.
200
- """
201
- extracted_config = get_workflow_config(config_id)
202
-
203
- for key in extracted_config.keys():
204
- if key in config and config[key] is not None:
205
- extracted_config[key] = config[key]
206
-
207
- StateStoreOutput.store_configuration(config_id, extracted_config)
208
- return extracted_config
209
-
210
-
211
269
  def read_sql_files(
212
270
  queries_prefix: str = f"{os.path.dirname(os.path.abspath(__file__))}/queries",
213
271
  ) -> Dict[str, str]: