atlan-application-sdk 0.1.1rc29__tar.gz → 0.1.1rc31__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 (388) hide show
  1. atlan_application_sdk-0.1.1rc31/.github/release_notes.md +11 -0
  2. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/CHANGELOG.md +22 -0
  3. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/PKG-INFO +1 -1
  4. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/application/__init__.py +1 -1
  5. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/clients/temporal.py +82 -51
  6. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/constants.py +6 -0
  7. atlan_application_sdk-0.1.1rc31/application_sdk/events/__init__.py +5 -0
  8. atlan_application_sdk-0.1.1rc31/application_sdk/events/models.py +176 -0
  9. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/inputs/objectstore.py +4 -18
  10. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/inputs/secretstore.py +16 -1
  11. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/observability/observability.py +2 -1
  12. atlan_application_sdk-0.1.1rc31/application_sdk/outputs/eventstore.py +109 -0
  13. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/server/fastapi/__init__.py +1 -1
  14. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/server/fastapi/models.py +1 -1
  15. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +1 -1
  16. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/version.py +1 -1
  17. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/worker.py +32 -0
  18. atlan_application_sdk-0.1.1rc31/components/eventstore.yaml +23 -0
  19. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/pyproject.toml +1 -1
  20. atlan_application_sdk-0.1.1rc31/tests/conftest.py +34 -0
  21. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/application/metadata_extraction/test_sql.py +35 -0
  22. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/application/test_application.py +14 -0
  23. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/clients/test_atlan_client.py +22 -22
  24. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/clients/test_temporal_client.py +4 -2
  25. atlan_application_sdk-0.1.1rc31/tests/unit/outputs/test_eventstore.py +253 -0
  26. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/test_worker.py +5 -0
  27. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/uv.lock +1 -1
  28. atlan_application_sdk-0.1.1rc29/.github/release_notes.md +0 -11
  29. atlan_application_sdk-0.1.1rc29/application_sdk/outputs/eventstore.py +0 -177
  30. atlan_application_sdk-0.1.1rc29/components/eventstore.yaml +0 -8
  31. atlan_application_sdk-0.1.1rc29/tests/conftest.py +0 -15
  32. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.cursor/BUGBOT.md +0 -0
  33. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.cursor/rules/documentation.mdc +0 -0
  34. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.cursor/rules/exception-handling.mdc +0 -0
  35. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.cursor/rules/guidelines.mdc +0 -0
  36. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.cursor/rules/logging.mdc +0 -0
  37. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.cursor/rules/performance.mdc +0 -0
  38. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.cursor/rules/setup.mdc +0 -0
  39. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.cursor/rules/standards.mdc +0 -0
  40. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.cursor/rules/testing.mdc +0 -0
  41. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.env.example +0 -0
  42. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/CODEOWNERS +0 -0
  43. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  44. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
  45. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  46. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/docgen/action.yaml +0 -0
  47. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/doclint/action.yaml +0 -0
  48. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/docstring-coverage/action.yaml +0 -0
  49. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/e2e-apps/action.yaml +0 -0
  50. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/e2e-examples/action.yaml +0 -0
  51. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/setup-deps/action.yaml +0 -0
  52. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/sync-branches/action.yaml +0 -0
  53. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/trivy/action.yaml +0 -0
  54. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/trivy-container/action.yaml +0 -0
  55. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/actions/unit-tests/action.yaml +0 -0
  56. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/dependabot.yaml +0 -0
  57. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/pull_request_template.md +0 -0
  58. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/scripts/extract_release_notes.py +0 -0
  59. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/scripts/pre_release.py +0 -0
  60. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/scripts/release.py +0 -0
  61. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/scripts/trivy-to-markdown.py +0 -0
  62. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/scripts/update_changelog.py +0 -0
  63. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/AMPM.yml +0 -0
  64. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Accessibility.yml +0 -0
  65. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Acronyms.yml +0 -0
  66. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Adverbs.yml +0 -0
  67. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Auto.yml +0 -0
  68. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Avoid.yml +0 -0
  69. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Contractions.yml +0 -0
  70. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Dashes.yml +0 -0
  71. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/DateFormat.yml +0 -0
  72. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/DateNumbers.yml +0 -0
  73. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/DateOrder.yml +0 -0
  74. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Ellipses.yml +0 -0
  75. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/FirstPerson.yml +0 -0
  76. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Foreign.yml +0 -0
  77. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Gender.yml +0 -0
  78. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/GenderBias.yml +0 -0
  79. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/GeneralURL.yml +0 -0
  80. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
  81. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/HeadingColons.yml +0 -0
  82. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
  83. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Headings.yml +0 -0
  84. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Hyphens.yml +0 -0
  85. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Negative.yml +0 -0
  86. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Ordinal.yml +0 -0
  87. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/OxfordComma.yml +0 -0
  88. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Passive.yml +0 -0
  89. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Percentages.yml +0 -0
  90. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Plurals.yml +0 -0
  91. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Quotes.yml +0 -0
  92. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/RangeTime.yml +0 -0
  93. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Semicolon.yml +0 -0
  94. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/SentenceLength.yml +0 -0
  95. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Spacing.yml +0 -0
  96. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Suspended.yml +0 -0
  97. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Terms.yml +0 -0
  98. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/URLFormat.yml +0 -0
  99. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Units.yml +0 -0
  100. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Vocab.yml +0 -0
  101. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/We.yml +0 -0
  102. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/Wordiness.yml +0 -0
  103. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/Microsoft/meta.json +0 -0
  104. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
  105. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
  106. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/checks.properties.json +0 -0
  107. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/checks.yaml +0 -0
  108. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/codeql.properties.json +0 -0
  109. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/codeql.yaml +0 -0
  110. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/dependency-review.properties.json +0 -0
  111. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/dependency-review.yml +0 -0
  112. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/stale.properties.json +0 -0
  113. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/stale.yml +0 -0
  114. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/trivy-container.properties.json +0 -0
  115. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/trivy-container.yaml +0 -0
  116. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/trivy.properties.json +0 -0
  117. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflow-templates/trivy.yaml +0 -0
  118. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflows/codeql.yaml +0 -0
  119. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflows/pre-release.yaml +0 -0
  120. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflows/pull_request.yaml +0 -0
  121. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflows/push.yaml +0 -0
  122. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflows/release.yaml.disabled +0 -0
  123. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflows/scale-tests.yaml +0 -0
  124. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflows/schedule.yaml +0 -0
  125. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflows/tag-and-publish.yaml +0 -0
  126. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.github/workflows/trivy-container.yaml +0 -0
  127. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.gitignore +0 -0
  128. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.pre-commit-config.yaml +0 -0
  129. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/.vscode/launch.json +0 -0
  130. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/CODE_OF_CONDUCT.md +0 -0
  131. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/CONTRIBUTING.md +0 -0
  132. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/LICENSE +0 -0
  133. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/NOTICE +0 -0
  134. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/README.md +0 -0
  135. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/SECURITY.md +0 -0
  136. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/__init__.py +0 -0
  137. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/activities/__init__.py +0 -0
  138. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/activities/common/__init__.py +0 -0
  139. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/activities/common/models.py +0 -0
  140. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/activities/common/utils.py +0 -0
  141. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
  142. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/activities/metadata_extraction/rest.py +0 -0
  143. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/activities/metadata_extraction/sql.py +0 -0
  144. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/activities/query_extraction/__init__.py +0 -0
  145. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/activities/query_extraction/sql.py +0 -0
  146. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/application/metadata_extraction/sql.py +0 -0
  147. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/clients/__init__.py +0 -0
  148. /atlan_application_sdk-0.1.1rc29/application_sdk/clients/atlan_client.py → /atlan_application_sdk-0.1.1rc31/application_sdk/clients/atlan.py +0 -0
  149. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/clients/atlan_auth.py +0 -0
  150. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/clients/sql.py +0 -0
  151. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/clients/utils.py +0 -0
  152. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/clients/workflow.py +0 -0
  153. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/common/__init__.py +0 -0
  154. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/common/aws_utils.py +0 -0
  155. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/common/credential_utils.py +0 -0
  156. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/common/dapr_utils.py +0 -0
  157. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/common/dataframe_utils.py +0 -0
  158. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/common/error_codes.py +0 -0
  159. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/common/utils.py +0 -0
  160. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/__init__.py +0 -0
  161. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/exporters/__init__.py +0 -0
  162. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/exporters/mkdocs.py +0 -0
  163. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/models/__init__.py +0 -0
  164. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/models/export/__init__.py +0 -0
  165. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/models/export/page.py +0 -0
  166. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/models/manifest/__init__.py +0 -0
  167. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/models/manifest/customer.py +0 -0
  168. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/models/manifest/internal.py +0 -0
  169. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/models/manifest/metadata.py +0 -0
  170. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/models/manifest/page.py +0 -0
  171. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/models/manifest/section.py +0 -0
  172. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/parsers/__init__.py +0 -0
  173. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/parsers/directory.py +0 -0
  174. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/docgen/parsers/manifest.py +0 -0
  175. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/handlers/__init__.py +0 -0
  176. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/handlers/sql.py +0 -0
  177. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/inputs/__init__.py +0 -0
  178. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/inputs/iceberg.py +0 -0
  179. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/inputs/json.py +0 -0
  180. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/inputs/parquet.py +0 -0
  181. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/inputs/sql_query.py +0 -0
  182. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/inputs/statestore.py +0 -0
  183. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/observability/__init__.py +0 -0
  184. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/observability/decorators/observability_decorator.py +0 -0
  185. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/observability/logger_adaptor.py +0 -0
  186. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/observability/metrics_adaptor.py +0 -0
  187. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/observability/traces_adaptor.py +0 -0
  188. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/observability/utils.py +0 -0
  189. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/outputs/__init__.py +0 -0
  190. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/outputs/atlan_storage.py +0 -0
  191. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/outputs/iceberg.py +0 -0
  192. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/outputs/json.py +0 -0
  193. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/outputs/objectstore.py +0 -0
  194. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/outputs/parquet.py +0 -0
  195. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/outputs/secretstore.py +0 -0
  196. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/outputs/statestore.py +0 -0
  197. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/server/__init__.py +0 -0
  198. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
  199. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
  200. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/server/fastapi/routers/__init__.py +0 -0
  201. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/server/fastapi/routers/server.py +0 -0
  202. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/server/fastapi/utils.py +0 -0
  203. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/__init__.py +0 -0
  204. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/e2e/__init__.py +0 -0
  205. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/e2e/base.py +0 -0
  206. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/e2e/client.py +0 -0
  207. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/e2e/conftest.py +0 -0
  208. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/e2e/utils.py +0 -0
  209. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
  210. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
  211. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
  212. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
  213. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
  214. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
  215. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
  216. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
  217. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
  218. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
  219. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
  220. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
  221. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
  222. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
  223. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
  224. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
  225. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
  226. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
  227. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
  228. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
  229. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
  230. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
  231. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
  232. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
  233. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
  234. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
  235. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
  236. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
  237. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
  238. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/test_utils/workflow_monitoring.py +0 -0
  239. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/__init__.py +0 -0
  240. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/atlas/__init__.py +0 -0
  241. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/atlas/sql.py +0 -0
  242. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/common/__init__.py +0 -0
  243. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/common/utils.py +0 -0
  244. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/query/__init__.py +0 -0
  245. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/query/templates/column.yaml +0 -0
  246. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/query/templates/database.yaml +0 -0
  247. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
  248. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/query/templates/function.yaml +0 -0
  249. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/query/templates/schema.yaml +0 -0
  250. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/query/templates/table.yaml +0 -0
  251. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
  252. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/workflows/__init__.py +0 -0
  253. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
  254. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
  255. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/workflows/query_extraction/__init__.py +0 -0
  256. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/application_sdk/workflows/query_extraction/sql.py +0 -0
  257. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/components/README.md +0 -0
  258. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/components/atlan-storage.yaml +0 -0
  259. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/components/aws-secrets.yaml +0 -0
  260. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/components/deployment-secrets.yaml +0 -0
  261. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/components/objectstore.yaml +0 -0
  262. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/components/secretstore.yaml +0 -0
  263. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/components/statestore.yaml +0 -0
  264. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/activities.md +0 -0
  265. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/application.md +0 -0
  266. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/application_sql.md +0 -0
  267. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/atlanupload.md +0 -0
  268. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/clients.md +0 -0
  269. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/common.md +0 -0
  270. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/handlers.md +0 -0
  271. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/inputs.md +0 -0
  272. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/output_paths.md +0 -0
  273. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/outputs.md +0 -0
  274. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/server.md +0 -0
  275. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/temporal_auth.md +0 -0
  276. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/worker.md +0 -0
  277. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/concepts/workflows.md +0 -0
  278. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/configuration.md +0 -0
  279. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/guides/architecture.md +0 -0
  280. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/guides/atlantis.md +0 -0
  281. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/guides/best-practices.md +0 -0
  282. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/guides/getting-started.md +0 -0
  283. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/guides/index.md +0 -0
  284. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/guides/partners.md +0 -0
  285. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/guides/secretstores.md +0 -0
  286. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/guides/sql-application-guide.md +0 -0
  287. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/guides/test-framework.md +0 -0
  288. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/index.md +0 -0
  289. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/setup/LINUX.md +0 -0
  290. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/setup/MAC.md +0 -0
  291. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/setup/WINDOWS.md +0 -0
  292. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/setup/troubleshooting.md +0 -0
  293. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/static/assets/logo.svg +0 -0
  294. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
  295. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/static/javascripts/mathjax.js +0 -0
  296. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/docs/static/stylesheets/extra.css +0 -0
  297. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/docs/mkdocs.yml +0 -0
  298. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/README.md +0 -0
  299. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/application_custom_fastapi.py +0 -0
  300. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/application_fastapi.py +0 -0
  301. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/application_hello_world.py +0 -0
  302. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/application_sql.py +0 -0
  303. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/application_sql_miner.py +0 -0
  304. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
  305. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/application_sql_with_custom_transformer.py +0 -0
  306. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/run_examples.py +0 -0
  307. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/examples/sql_query_templates/database.yaml +0 -0
  308. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/__init__.py +0 -0
  309. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/__init__.py +0 -0
  310. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/activities/__init__.py +0 -0
  311. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/activities/common/__init__.py +0 -0
  312. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/activities/common/test_utils.py +0 -0
  313. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
  314. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
  315. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/activities/query_extraction/__init__.py +0 -0
  316. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/activities/test_activities.py +0 -0
  317. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/application/__init__.py +0 -0
  318. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/clients/__init__.py +0 -0
  319. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/clients/test_async_sql_client.py +0 -0
  320. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/clients/test_atlan_auth.py +0 -0
  321. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/clients/test_atlanauth.py +0 -0
  322. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/clients/test_sql_client.py +0 -0
  323. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/common/test_aws_utils.py +0 -0
  324. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/common/test_credential_utils.py +0 -0
  325. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/common/test_utils.py +0 -0
  326. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
  327. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
  328. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/handlers/__init__.py +0 -0
  329. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/handlers/sql/test_auth.py +0 -0
  330. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
  331. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
  332. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/handlers/sql/test_metadata.py +0 -0
  333. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
  334. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
  335. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/handlers/sql/test_tables_check.py +0 -0
  336. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
  337. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/inputs/test_json.py +0 -0
  338. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/observability/__init__.py +0 -0
  339. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/observability/test_logger_adaptor.py +0 -0
  340. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/observability/test_metrics_adaptor.py +0 -0
  341. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/observability/test_traces_adaptor.py +0 -0
  342. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/outputs/test_atlanstorage.py +0 -0
  343. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/outputs/test_iceberg.py +0 -0
  344. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/outputs/test_json_output.py +0 -0
  345. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/outputs/test_objectstore.py +0 -0
  346. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/outputs/test_output.py +0 -0
  347. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/outputs/test_statestore.py +0 -0
  348. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/server/__init__.py +0 -0
  349. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/server/fastapi/routers/__init__.py +0 -0
  350. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/server/fastapi/routers/server.py +0 -0
  351. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/server/fastapi/test_fastapi.py +0 -0
  352. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/__init__.py +0 -0
  353. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/__init__.py +0 -0
  354. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
  355. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
  356. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
  357. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
  358. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
  359. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
  360. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
  361. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
  362. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
  363. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
  364. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
  365. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
  366. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/test_column.py +0 -0
  367. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/test_database.py +0 -0
  368. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/test_function.py +0 -0
  369. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/test_procedure.py +0 -0
  370. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/test_schema.py +0 -0
  371. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/atlas/test_table.py +0 -0
  372. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/raw/column.json +0 -0
  373. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/raw/database.json +0 -0
  374. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
  375. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/raw/function.json +0 -0
  376. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
  377. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/raw/table.json +0 -0
  378. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
  379. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
  380. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
  381. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
  382. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
  383. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
  384. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
  385. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
  386. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/workflows/metadata_extraction/test_sql.py +0 -0
  387. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/workflows/query_extraction/__init__.py +0 -0
  388. {atlan_application_sdk-0.1.1rc29 → atlan_application_sdk-0.1.1rc31}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
@@ -0,0 +1,11 @@
1
+ ## v0.1.1rc31 (August 14, 2025)
2
+
3
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc30...v0.1.1rc31
4
+
5
+ ### Features
6
+
7
+ - support for app registration via events (#635) (by @Nishant Munjal in [330b585](https://github.com/atlanhq/application-sdk/commit/330b585))
8
+
9
+ ### Bug Fixes
10
+
11
+ - error logs related to deployment secrets (#651) (by @Nishchith Shetty in [09f6e5c](https://github.com/atlanhq/application-sdk/commit/09f6e5c))
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.1.1rc31 (August 14, 2025)
4
+
5
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc30...v0.1.1rc31
6
+
7
+ ### Features
8
+
9
+ - support for app registration via events (#635) (by @Nishant Munjal in [330b585](https://github.com/atlanhq/application-sdk/commit/330b585))
10
+
11
+ ### Bug Fixes
12
+
13
+ - error logs related to deployment secrets (#651) (by @Nishchith Shetty in [09f6e5c](https://github.com/atlanhq/application-sdk/commit/09f6e5c))
14
+
15
+
16
+
17
+ ## v0.1.1rc30 (August 13, 2025)
18
+
19
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc29...v0.1.1rc30
20
+
21
+ ### Bug Fixes
22
+
23
+ - download_files_from_object_store with correct files list (#652) (by @Nishchith Shetty in [e2ed7bd](https://github.com/atlanhq/application-sdk/commit/e2ed7bd))
24
+
3
25
  ## v0.1.1rc29 (August 13, 2025)
4
26
 
5
27
  Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc28...v0.1.1rc29
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atlan-application-sdk
3
- Version: 0.1.1rc29
3
+ Version: 0.1.1rc31
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
@@ -3,8 +3,8 @@ from typing import Any, Dict, List, Optional, Tuple, Type
3
3
 
4
4
  from application_sdk.activities import ActivitiesInterface
5
5
  from application_sdk.clients.utils import get_workflow_client
6
+ from application_sdk.events.models import EventRegistration
6
7
  from application_sdk.observability.logger_adaptor import get_logger
7
- from application_sdk.outputs.eventstore import EventRegistration
8
8
  from application_sdk.server import ServerInterface
9
9
  from application_sdk.server.fastapi import APIServer, HttpWorkflowTrigger
10
10
  from application_sdk.server.fastapi.models import EventWorkflowTrigger
@@ -1,10 +1,12 @@
1
1
  import asyncio
2
2
  import uuid
3
3
  from concurrent.futures import ThreadPoolExecutor
4
+ from datetime import timedelta
4
5
  from typing import Any, Dict, Optional, Sequence, Type
5
6
 
6
7
  from temporalio import activity, workflow
7
8
  from temporalio.client import Client, WorkflowExecutionStatus, WorkflowFailureError
9
+ from temporalio.common import RetryPolicy
8
10
  from temporalio.types import CallableType, ClassType
9
11
  from temporalio.worker import (
10
12
  ActivityInboundInterceptor,
@@ -33,17 +35,17 @@ from application_sdk.constants import (
33
35
  WORKFLOW_PORT,
34
36
  WORKFLOW_TLS_ENABLED_KEY,
35
37
  )
36
- from application_sdk.inputs.secretstore import SecretStoreInput
37
- from application_sdk.inputs.statestore import StateType
38
- from application_sdk.observability.logger_adaptor import get_logger
39
- from application_sdk.outputs.eventstore import (
38
+ from application_sdk.events.models import (
40
39
  ApplicationEventNames,
41
40
  Event,
42
41
  EventMetadata,
43
- EventStore,
44
42
  EventTypes,
45
43
  WorkflowStates,
46
44
  )
45
+ from application_sdk.inputs.secretstore import SecretStoreInput
46
+ from application_sdk.inputs.statestore import StateType
47
+ from application_sdk.observability.logger_adaptor import get_logger
48
+ from application_sdk.outputs.eventstore import EventStore
47
49
  from application_sdk.outputs.secretstore import SecretStoreOutput
48
50
  from application_sdk.outputs.statestore import StateStoreOutput
49
51
  from application_sdk.workflows import WorkflowInterface
@@ -55,11 +57,30 @@ TEMPORAL_NOT_FOUND_FAILURE = (
55
57
  )
56
58
 
57
59
 
60
+ # Activity for publishing events (runs outside sandbox)
61
+ @activity.defn
62
+ async def publish_event(event_data: dict) -> None:
63
+ """Activity to publish events outside the workflow sandbox.
64
+
65
+ Args:
66
+ event_data (dict): Event data to publish containing event_type, event_name,
67
+ metadata, and data fields.
68
+ """
69
+ try:
70
+ event = Event(**event_data)
71
+ await EventStore.publish_event(event)
72
+ activity.logger.info(f"Published event: {event_data.get('event_name','')}")
73
+ except Exception as e:
74
+ activity.logger.error(f"Failed to publish event: {e}")
75
+ raise
76
+
77
+
58
78
  class EventActivityInboundInterceptor(ActivityInboundInterceptor):
59
79
  """Interceptor for tracking activity execution events.
60
80
 
61
81
  This interceptor captures the start and end of activity executions,
62
82
  creating events that can be used for monitoring and tracking.
83
+ Activities run outside the sandbox so they can directly call EventStore.
63
84
  """
64
85
 
65
86
  async def execute_activity(self, input: ExecuteActivityInput) -> Any:
@@ -71,31 +92,28 @@ class EventActivityInboundInterceptor(ActivityInboundInterceptor):
71
92
  Returns:
72
93
  Any: The result of the activity execution.
73
94
  """
74
- event = Event(
95
+ # Extract activity information for tracking
96
+
97
+ start_event = Event(
75
98
  event_type=EventTypes.APPLICATION_EVENT.value,
76
99
  event_name=ApplicationEventNames.ACTIVITY_START.value,
77
100
  data={},
78
101
  )
79
- EventStore.publish_event(event)
102
+ await EventStore.publish_event(start_event)
80
103
 
81
104
  output = None
82
105
  try:
83
106
  output = await super().execute_activity(input)
84
- except Exception as e:
107
+ except Exception:
108
+ raise
109
+ finally:
85
110
  end_event = Event(
86
111
  event_type=EventTypes.APPLICATION_EVENT.value,
87
112
  event_name=ApplicationEventNames.ACTIVITY_END.value,
88
113
  data={},
89
114
  )
90
- EventStore.publish_event(end_event)
91
- raise e
115
+ await EventStore.publish_event(end_event)
92
116
 
93
- end_event = Event(
94
- event_type=EventTypes.APPLICATION_EVENT.value,
95
- event_name=ApplicationEventNames.ACTIVITY_END.value,
96
- data={},
97
- )
98
- EventStore.publish_event(end_event)
99
117
  return output
100
118
 
101
119
 
@@ -104,6 +122,7 @@ class EventWorkflowInboundInterceptor(WorkflowInboundInterceptor):
104
122
 
105
123
  This interceptor captures the start and end of workflow executions,
106
124
  creating events that can be used for monitoring and tracking.
125
+ Uses activities to publish events to avoid sandbox restrictions.
107
126
  """
108
127
 
109
128
  async def execute_workflow(self, input: ExecuteWorkflowInput) -> Any:
@@ -115,47 +134,56 @@ class EventWorkflowInboundInterceptor(WorkflowInboundInterceptor):
115
134
  Returns:
116
135
  Any: The result of the workflow execution.
117
136
  """
118
- with workflow.unsafe.sandbox_unrestricted():
119
- EventStore.publish_event(
120
- Event(
121
- metadata=EventMetadata(workflow_state=WorkflowStates.RUNNING.value),
122
- event_type=EventTypes.APPLICATION_EVENT.value,
123
- event_name=ApplicationEventNames.WORKFLOW_START.value,
124
- data={},
125
- )
137
+
138
+ # Publish workflow start event via activity
139
+ try:
140
+ await workflow.execute_activity(
141
+ publish_event,
142
+ {
143
+ "metadata": EventMetadata(
144
+ workflow_state=WorkflowStates.RUNNING.value
145
+ ),
146
+ "event_type": EventTypes.APPLICATION_EVENT.value,
147
+ "event_name": ApplicationEventNames.WORKFLOW_START.value,
148
+ "data": {},
149
+ },
150
+ schedule_to_close_timeout=timedelta(seconds=30),
151
+ retry_policy=RetryPolicy(maximum_attempts=3),
126
152
  )
153
+ except Exception as e:
154
+ workflow.logger.warning(f"Failed to publish workflow start event: {e}")
155
+ # Don't fail the workflow if event publishing fails
127
156
 
128
157
  output = None
158
+ workflow_state = WorkflowStates.FAILED.value # Default to failed
159
+
129
160
  try:
130
161
  output = await super().execute_workflow(input)
131
- except Exception as e:
132
- with workflow.unsafe.sandbox_unrestricted():
133
- EventStore.publish_event(
134
- Event(
135
- metadata=EventMetadata(
136
- workflow_state=WorkflowStates.FAILED.value
137
- ),
138
- event_type=EventTypes.APPLICATION_EVENT.value,
139
- event_name=ApplicationEventNames.WORKFLOW_END.value,
140
- data={},
141
- ),
162
+ workflow_state = (
163
+ WorkflowStates.COMPLETED.value
164
+ ) # Update to completed on success
165
+ except Exception:
166
+ workflow_state = WorkflowStates.FAILED.value # Keep as failed
167
+ raise
168
+ finally:
169
+ # Always publish workflow end event
170
+ try:
171
+ await workflow.execute_activity(
172
+ publish_event,
173
+ {
174
+ "metadata": EventMetadata(workflow_state=workflow_state),
175
+ "event_type": EventTypes.APPLICATION_EVENT.value,
176
+ "event_name": ApplicationEventNames.WORKFLOW_END.value,
177
+ "data": {},
178
+ },
179
+ schedule_to_close_timeout=timedelta(seconds=30),
180
+ retry_policy=RetryPolicy(maximum_attempts=3),
181
+ )
182
+ except Exception as publish_error:
183
+ workflow.logger.warning(
184
+ f"Failed to publish workflow end event: {publish_error}"
142
185
  )
143
- raise e
144
186
 
145
- with workflow.unsafe.sandbox_unrestricted():
146
- EventStore.publish_event(
147
- Event(
148
- metadata=EventMetadata(
149
- workflow_state=WorkflowStates.COMPLETED.value
150
- ),
151
- event_type=EventTypes.APPLICATION_EVENT.value,
152
- event_name=ApplicationEventNames.WORKFLOW_END.value,
153
- data={
154
- "workflow_id": workflow.info().workflow_id,
155
- "workflow_run_id": workflow.info().run_id,
156
- },
157
- ),
158
- )
159
187
  return output
160
188
 
161
189
 
@@ -513,11 +541,14 @@ class TemporalWorkflowClient(WorkflowClient):
513
541
  f"Started token refresh loop with dynamic interval (initial: {self._token_refresh_interval}s)"
514
542
  )
515
543
 
544
+ # Add the publish_event to the activities list
545
+ extended_activities = list(activities) + [publish_event]
546
+
516
547
  return Worker(
517
548
  self.client,
518
549
  task_queue=self.worker_task_queue,
519
550
  workflows=workflow_classes,
520
- activities=activities,
551
+ activities=extended_activities, # Use extended activities list
521
552
  workflow_runner=SandboxedWorkflowRunner(
522
553
  restrictions=SandboxRestrictions.default.with_passthrough_modules(
523
554
  *passthrough_modules
@@ -128,6 +128,11 @@ DEPLOYMENT_OBJECT_STORE_NAME = os.getenv("DEPLOYMENT_OBJECT_STORE_NAME", "object
128
128
  UPSTREAM_OBJECT_STORE_NAME = os.getenv("UPSTREAM_OBJECT_STORE_NAME", "objectstore")
129
129
  #: Name of the pubsub component in DAPR
130
130
  EVENT_STORE_NAME = os.getenv("EVENT_STORE_NAME", "eventstore")
131
+ #: DAPR binding operation for creating resources
132
+ DAPR_BINDING_OPERATION_CREATE = "create"
133
+ #: Version of worker start events used in the application
134
+ WORKER_START_EVENT_VERSION = "v1"
135
+
131
136
  #: Whether to enable Atlan storage upload
132
137
  ENABLE_ATLAN_UPLOAD = os.getenv("ENABLE_ATLAN_UPLOAD", "false").lower() == "true"
133
138
  # Dapr Client Configuration
@@ -135,6 +140,7 @@ ENABLE_ATLAN_UPLOAD = os.getenv("ENABLE_ATLAN_UPLOAD", "false").lower() == "true
135
140
  DAPR_MAX_GRPC_MESSAGE_LENGTH = int(
136
141
  os.getenv("DAPR_MAX_GRPC_MESSAGE_LENGTH", "104857600")
137
142
  )
143
+
138
144
  #: Name of the deployment secret store component in DAPR
139
145
  DEPLOYMENT_SECRET_STORE_NAME = os.getenv(
140
146
  "DEPLOYMENT_SECRET_STORE_NAME", "deployment-secret-store"
@@ -0,0 +1,5 @@
1
+ """Events module for handling application events.
2
+
3
+ This module provides classes and utilities for handling various types of events
4
+ in the application, including workflow, activity, and worker events.
5
+ """
@@ -0,0 +1,176 @@
1
+ """Base event classes and models.
2
+
3
+ This module contains the base classes and models for all events in the application.
4
+ """
5
+
6
+ from abc import ABC
7
+ from enum import Enum
8
+ from typing import Any, Dict, List, Optional
9
+
10
+ from pydantic import BaseModel, Field
11
+
12
+ from application_sdk.constants import APPLICATION_NAME, WORKER_START_EVENT_VERSION
13
+
14
+
15
+ class EventTypes(Enum):
16
+ """Enumeration of event types."""
17
+
18
+ APPLICATION_EVENT = "application_events"
19
+
20
+
21
+ class ApplicationEventNames(Enum):
22
+ """Enumeration of application event names."""
23
+
24
+ WORKFLOW_END = "workflow_end"
25
+ WORKFLOW_START = "workflow_start"
26
+ ACTIVITY_START = "activity_start"
27
+ ACTIVITY_END = "activity_end"
28
+ WORKER_START = "worker_start"
29
+ WORKER_END = "worker_end"
30
+ APPLICATION_START = "application_start"
31
+ APPLICATION_END = "application_end"
32
+
33
+
34
+ class WorkflowStates(Enum):
35
+ """Enumeration of workflow states."""
36
+
37
+ UNKNOWN = "unknown"
38
+ RUNNING = "running"
39
+ COMPLETED = "completed"
40
+ FAILED = "failed"
41
+
42
+
43
+ class EventMetadata(BaseModel):
44
+ """Metadata for events.
45
+
46
+ Attributes:
47
+ application_name: Name of the application the event belongs to.
48
+ created_timestamp: Timestamp when the event was created.
49
+ workflow_type: Type of the workflow.
50
+ workflow_id: ID of the workflow.
51
+ workflow_run_id: Run ID of the workflow.
52
+ workflow_state: State of the workflow.
53
+ activity_type: Type of the activity.
54
+ activity_id: ID of the activity.
55
+ attempt: Attempt number for the activity.
56
+ topic_name: Name of the topic for the event.
57
+ """
58
+
59
+ application_name: str = Field(init=True, default=APPLICATION_NAME)
60
+ created_timestamp: int = Field(init=True, default=0)
61
+
62
+ # Workflow information
63
+ workflow_type: str | None = Field(init=True, default=None)
64
+ workflow_id: str | None = Field(init=True, default=None)
65
+ workflow_run_id: str | None = Field(init=True, default=None)
66
+ workflow_state: str | None = Field(init=True, default=WorkflowStates.UNKNOWN.value)
67
+
68
+ # Activity information (Only when in an activity flow)
69
+ activity_type: str | None = Field(init=True, default=None)
70
+ activity_id: str | None = Field(init=True, default=None)
71
+ attempt: int | None = Field(init=True, default=None)
72
+
73
+ topic_name: str | None = Field(init=False, default=None)
74
+
75
+
76
+ class EventFilter(BaseModel):
77
+ """Filter for events.
78
+
79
+ Attributes:
80
+ path: Path to filter on.
81
+ operator: Operator to use for filtering.
82
+ value: Value to filter by.
83
+ """
84
+
85
+ path: str
86
+ operator: str
87
+ value: str
88
+
89
+
90
+ class Consumes(BaseModel):
91
+ """Model for event consumption configuration.
92
+
93
+ Attributes:
94
+ event_id: ID of the event.
95
+ event_type: Type of the event.
96
+ event_name: Name of the event.
97
+ version: Version of the event.
98
+ filters: List of filters to apply.
99
+ """
100
+
101
+ event_id: str = Field(alias="eventId")
102
+ event_type: str = Field(alias="eventType")
103
+ event_name: str = Field(alias="eventName")
104
+ version: str = Field()
105
+ filters: List[EventFilter] = Field(init=True, default=[])
106
+
107
+
108
+ class EventRegistration(BaseModel):
109
+ """Model for event registration.
110
+
111
+ Attributes:
112
+ consumes: List of events to consume.
113
+ produces: List of events to produce.
114
+ """
115
+
116
+ consumes: List[Consumes] = Field(init=True, default=[])
117
+ produces: List[Dict[str, Any]] = Field(init=True, default=[])
118
+
119
+
120
+ class Event(BaseModel, ABC):
121
+ """Base class for all events.
122
+
123
+ Attributes:
124
+ metadata: Metadata for the event.
125
+ event_type: Type of the event.
126
+ event_name: Name of the event.
127
+ data: Data payload of the event.
128
+ """
129
+
130
+ metadata: EventMetadata = Field(init=True, default_factory=EventMetadata)
131
+
132
+ event_type: str
133
+ event_name: str
134
+
135
+ data: Dict[str, Any]
136
+
137
+ def get_topic_name(self):
138
+ """Get the topic name for this event.
139
+
140
+ Returns:
141
+ str: The topic name.
142
+ """
143
+ return self.event_type
144
+
145
+ class Config:
146
+ extra = "allow"
147
+
148
+
149
+ class WorkerStartEventData(BaseModel):
150
+ """Model for worker creation event data.
151
+
152
+ This model represents the data structure used when publishing worker creation events.
153
+ It contains information about the worker configuration and environment.
154
+
155
+ Attributes:
156
+ application_name: Name of the application the worker belongs to.
157
+ task_queue: Task queue name for the worker.
158
+ namespace: Temporal namespace for the worker.
159
+ host: Host address of the Temporal server.
160
+ port: Port number of the Temporal server.
161
+ connection_string: Connection string for the Temporal server.
162
+ max_concurrent_activities: Maximum number of concurrent activities.
163
+ workflow_count: Number of workflow classes registered.
164
+ activity_count: Number of activity functions registered.
165
+ """
166
+
167
+ version: str = WORKER_START_EVENT_VERSION
168
+ application_name: str
169
+ task_queue: str
170
+ namespace: str
171
+ host: str
172
+ port: str
173
+ connection_string: str
174
+ max_concurrent_activities: Optional[int]
175
+ workflow_count: int
176
+ activity_count: int
@@ -79,25 +79,11 @@ class ObjectStoreInput:
79
79
  try:
80
80
  # List all files in the object store path
81
81
  relative_path = os.path.relpath(file_path, download_file_prefix)
82
- metadata = {"fileName": relative_path}
82
+ file_list = cls.list_all_files(relative_path, object_store_name)
83
83
 
84
- try:
85
- # Assuming the object store binding supports a "list" operation
86
- response_data = cls._invoke_dapr_binding(
87
- operation=cls.OBJECT_LIST_OPERATION, metadata=metadata
88
- )
89
- file_list = orjson.loads(response_data.decode("utf-8"))
90
- except Exception as e:
91
- logger.error(
92
- f"Error listing files in object store path {download_file_prefix}: {str(e)}"
93
- )
94
- raise e
95
-
96
- if not file_list:
97
- logger.info(
98
- f"No files found in object store path: {download_file_prefix}"
99
- )
100
- return
84
+ logger.info(
85
+ f"Found list of files: {file_list} from: {download_file_prefix}"
86
+ )
101
87
 
102
88
  # Download each file
103
89
  for relative_path in file_list:
@@ -7,6 +7,7 @@ from typing import Any, Dict
7
7
 
8
8
  from dapr.clients import DaprClient
9
9
 
10
+ from application_sdk.common.dapr_utils import is_component_registered
10
11
  from application_sdk.constants import (
11
12
  DEPLOYMENT_NAME,
12
13
  DEPLOYMENT_SECRET_PATH,
@@ -22,7 +23,21 @@ logger = get_logger(__name__)
22
23
  class SecretStoreInput:
23
24
  @classmethod
24
25
  def get_deployment_secret(cls) -> Dict[str, Any]:
25
- """Get deployment config with caching."""
26
+ """Get deployment config from the deployment secret store.
27
+
28
+ Validates that the deployment secret store component is registered
29
+ before attempting to fetch secrets to prevent errors.
30
+
31
+ Returns:
32
+ Dict[str, Any]: Deployment configuration data, or empty dict if
33
+ component is unavailable or fetch fails.
34
+ """
35
+ if not is_component_registered(DEPLOYMENT_SECRET_STORE_NAME):
36
+ logger.warning(
37
+ f"Deployment secret store component '{DEPLOYMENT_SECRET_STORE_NAME}' is not registered"
38
+ )
39
+ return {}
40
+
26
41
  try:
27
42
  return cls.get_secret(DEPLOYMENT_SECRET_PATH, DEPLOYMENT_SECRET_STORE_NAME)
28
43
  except Exception as e:
@@ -16,6 +16,7 @@ from dapr.clients import DaprClient
16
16
  from pydantic import BaseModel
17
17
 
18
18
  from application_sdk.constants import (
19
+ DAPR_BINDING_OPERATION_CREATE,
19
20
  DEPLOYMENT_OBJECT_STORE_NAME,
20
21
  ENABLE_OBSERVABILITY_DAPR_SINK,
21
22
  LOG_FILE_NAME,
@@ -449,7 +450,7 @@ class AtlanObservability(Generic[T], ABC):
449
450
  with DaprClient() as client:
450
451
  client.invoke_binding(
451
452
  binding_name=DEPLOYMENT_OBJECT_STORE_NAME,
452
- operation="create",
453
+ operation=DAPR_BINDING_OPERATION_CREATE,
453
454
  data=file_content,
454
455
  binding_metadata=metadata,
455
456
  )
@@ -0,0 +1,109 @@
1
+ """Event store module for handling application events.
2
+
3
+ This module provides the EventStore class for publishing application events
4
+ to a pub/sub system with automatic fallback to HTTP binding.
5
+ """
6
+
7
+ import json
8
+ from datetime import datetime
9
+
10
+ from dapr import clients
11
+ from temporalio import activity, workflow
12
+
13
+ from application_sdk.clients.atlan_auth import AtlanAuthClient
14
+ from application_sdk.common.dapr_utils import is_component_registered
15
+ from application_sdk.constants import (
16
+ APPLICATION_NAME,
17
+ DAPR_BINDING_OPERATION_CREATE,
18
+ EVENT_STORE_NAME,
19
+ )
20
+ from application_sdk.events.models import Event, EventMetadata, WorkflowStates
21
+ from application_sdk.observability.logger_adaptor import get_logger
22
+
23
+ logger = get_logger(__name__)
24
+ activity.logger = logger
25
+
26
+
27
+ class EventStore:
28
+ """Event store for publishing application events.
29
+
30
+ This class provides functionality to publish events to a pub/sub system.
31
+ """
32
+
33
+ @classmethod
34
+ def enrich_event_metadata(cls, event: Event):
35
+ """Enrich the event metadata with the workflow and activity information.
36
+
37
+ Args:
38
+ event (Event): Event data.
39
+ """
40
+ if not event.metadata:
41
+ event.metadata = EventMetadata()
42
+
43
+ event.metadata.application_name = APPLICATION_NAME
44
+ event.metadata.created_timestamp = int(datetime.now().timestamp())
45
+ event.metadata.topic_name = event.get_topic_name()
46
+
47
+ try:
48
+ workflow_info = workflow.info()
49
+ if workflow_info:
50
+ event.metadata.workflow_type = workflow_info.workflow_type
51
+ event.metadata.workflow_id = workflow_info.workflow_id
52
+ event.metadata.workflow_run_id = workflow_info.run_id
53
+ except Exception:
54
+ logger.debug("Not in workflow context, cannot set workflow metadata")
55
+
56
+ try:
57
+ activity_info = activity.info()
58
+ if activity_info:
59
+ event.metadata.activity_type = activity_info.activity_type
60
+ event.metadata.activity_id = activity_info.activity_id
61
+ event.metadata.attempt = activity_info.attempt
62
+ event.metadata.workflow_type = activity_info.workflow_type
63
+ event.metadata.workflow_id = activity_info.workflow_id
64
+ event.metadata.workflow_run_id = activity_info.workflow_run_id
65
+ event.metadata.workflow_state = WorkflowStates.RUNNING.value
66
+ except Exception:
67
+ logger.debug("Not in activity context, cannot set activity metadata")
68
+
69
+ return event
70
+
71
+ @classmethod
72
+ async def publish_event(cls, event: Event):
73
+ """Publish event with automatic fallback between pub/sub and HTTP binding.
74
+
75
+ Args:
76
+ event (Event): Event data to publish.
77
+ """
78
+ if not is_component_registered(EVENT_STORE_NAME):
79
+ logger.warning(
80
+ "Skipping event publish because event store component is not registered",
81
+ )
82
+ return
83
+ try:
84
+ event = cls.enrich_event_metadata(event)
85
+
86
+ payload = json.dumps(event.model_dump(mode="json"))
87
+
88
+ # Prepare binding metadata with auth token for HTTP bindings
89
+ binding_metadata = {"content-type": "application/json"}
90
+
91
+ # Add auth token - HTTP bindings will use it, others will ignore it
92
+ auth_client = AtlanAuthClient()
93
+ binding_metadata.update(await auth_client.get_authenticated_headers())
94
+
95
+ with clients.DaprClient() as client:
96
+ client.invoke_binding(
97
+ binding_name=EVENT_STORE_NAME,
98
+ operation=DAPR_BINDING_OPERATION_CREATE,
99
+ data=payload,
100
+ binding_metadata=binding_metadata,
101
+ )
102
+ logger.info(
103
+ f"Published event via binding on topic: {event.get_topic_name()}"
104
+ )
105
+ except Exception as e:
106
+ logger.error(
107
+ f"Failed to publish event on topic {event.get_topic_name()}: {e}",
108
+ exc_info=True,
109
+ )