atlan-application-sdk 2.2.0__tar.gz → 2.3.1__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 (446) hide show
  1. atlan_application_sdk-2.3.1/.cursor/rules/deepwiki.mdc +53 -0
  2. atlan_application_sdk-2.3.1/.cursor/rules/documentation.mdc +20 -0
  3. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.cursor/rules/setup.mdc +4 -5
  4. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.cursor/rules/standards.mdc +2 -2
  5. atlan_application_sdk-2.3.1/.github/release_notes.md +7 -0
  6. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/build-image.yaml +2 -0
  7. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/pull_request.yaml +1 -1
  8. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/push.yaml +1 -1
  9. atlan_application_sdk-2.3.1/AGENTS.md +20 -0
  10. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/CHANGELOG.md +22 -0
  11. atlan_application_sdk-2.3.1/CLAUDE.md +20 -0
  12. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/Dockerfile +9 -3
  13. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/PKG-INFO +3 -3
  14. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/README.md +2 -2
  15. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/application/__init__.py +68 -1
  16. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/application/metadata_extraction/sql.py +44 -0
  17. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/temporal.py +6 -1
  18. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/constants.py +25 -0
  19. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/version.py +1 -1
  20. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/worker.py +104 -6
  21. atlan_application_sdk-2.3.1/docs/agents/coding-standards.md +5 -0
  22. atlan_application_sdk-2.3.1/docs/agents/commits-prs.md +4 -0
  23. atlan_application_sdk-2.3.1/docs/agents/deepwiki.md +35 -0
  24. atlan_application_sdk-2.3.1/docs/agents/dev-commands.md +5 -0
  25. atlan_application_sdk-2.3.1/docs/agents/docs-updates.md +4 -0
  26. atlan_application_sdk-2.3.1/docs/agents/project-structure.md +9 -0
  27. atlan_application_sdk-2.3.1/docs/agents/review.md +3 -0
  28. atlan_application_sdk-2.3.1/docs/agents/testing.md +5 -0
  29. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/API.md +2 -2
  30. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/guides/sql-application-guide.md +2 -2
  31. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/index.md +3 -3
  32. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/setup/LINUX.md +1 -1
  33. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/setup/MAC.md +1 -1
  34. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/setup/WINDOWS.md +1 -1
  35. atlan_application_sdk-2.3.1/entrypoint.sh +53 -0
  36. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/README.md +3 -3
  37. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/mkdocs.yml +18 -1
  38. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/pyproject.toml +10 -7
  39. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/application/metadata_extraction/test_sql.py +127 -0
  40. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/application/test_application.py +126 -0
  41. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_temporal_client.py +1 -0
  42. atlan_application_sdk-2.3.1/tests/unit/test_worker.py +353 -0
  43. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/uv.lock +14 -8
  44. atlan_application_sdk-2.2.0/.cursor/rules/documentation.mdc +0 -20
  45. atlan_application_sdk-2.2.0/.github/release_notes.md +0 -8
  46. atlan_application_sdk-2.2.0/tests/unit/test_worker.py +0 -145
  47. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.cursor/BUGBOT.md +0 -0
  48. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.cursor/rules/commits.mdc +0 -0
  49. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.cursor/rules/exception-handling.mdc +0 -0
  50. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.cursor/rules/guidelines.mdc +0 -0
  51. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.cursor/rules/logging.mdc +0 -0
  52. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.cursor/rules/performance.mdc +0 -0
  53. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.cursor/rules/testing.mdc +0 -0
  54. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.dockerignore +0 -0
  55. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.env.example +0 -0
  56. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/CODEOWNERS +0 -0
  57. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  58. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
  59. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  60. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/docgen/action.yaml +0 -0
  61. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/doclint/action.yaml +0 -0
  62. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/docstring-coverage/action.yaml +0 -0
  63. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/e2e-apps/action.yaml +0 -0
  64. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/e2e-examples/action.yaml +0 -0
  65. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/secure-build-push-apps/action.yaml +0 -0
  66. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/setup-deps/action.yaml +0 -0
  67. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/sync-branches/action.yaml +0 -0
  68. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/trivy/action.yaml +0 -0
  69. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/trivy-container/action.yaml +0 -0
  70. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/actions/unit-tests/action.yaml +0 -0
  71. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/dependabot.yaml +0 -0
  72. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/pull_request_template.md +0 -0
  73. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/scripts/extract_release_notes.py +0 -0
  74. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/scripts/release.py +0 -0
  75. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/scripts/trivy-to-markdown.py +0 -0
  76. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/scripts/update_changelog.py +0 -0
  77. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/AMPM.yml +0 -0
  78. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Accessibility.yml +0 -0
  79. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Acronyms.yml +0 -0
  80. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Adverbs.yml +0 -0
  81. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Auto.yml +0 -0
  82. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Avoid.yml +0 -0
  83. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Contractions.yml +0 -0
  84. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Dashes.yml +0 -0
  85. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/DateFormat.yml +0 -0
  86. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/DateNumbers.yml +0 -0
  87. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/DateOrder.yml +0 -0
  88. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Ellipses.yml +0 -0
  89. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/FirstPerson.yml +0 -0
  90. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Foreign.yml +0 -0
  91. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Gender.yml +0 -0
  92. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/GenderBias.yml +0 -0
  93. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/GeneralURL.yml +0 -0
  94. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
  95. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/HeadingColons.yml +0 -0
  96. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
  97. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Headings.yml +0 -0
  98. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Hyphens.yml +0 -0
  99. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Negative.yml +0 -0
  100. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Ordinal.yml +0 -0
  101. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/OxfordComma.yml +0 -0
  102. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Passive.yml +0 -0
  103. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Percentages.yml +0 -0
  104. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Plurals.yml +0 -0
  105. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Quotes.yml +0 -0
  106. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/RangeTime.yml +0 -0
  107. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Semicolon.yml +0 -0
  108. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/SentenceLength.yml +0 -0
  109. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Spacing.yml +0 -0
  110. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Suspended.yml +0 -0
  111. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Terms.yml +0 -0
  112. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/URLFormat.yml +0 -0
  113. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Units.yml +0 -0
  114. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Vocab.yml +0 -0
  115. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/We.yml +0 -0
  116. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/Wordiness.yml +0 -0
  117. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/Microsoft/meta.json +0 -0
  118. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
  119. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
  120. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/checks.properties.json +0 -0
  121. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/checks.yaml +0 -0
  122. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/codeql.properties.json +0 -0
  123. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/codeql.yaml +0 -0
  124. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/dependency-review.properties.json +0 -0
  125. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/dependency-review.yml +0 -0
  126. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/stale.properties.json +0 -0
  127. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/stale.yml +0 -0
  128. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/trivy-container.properties.json +0 -0
  129. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/trivy-container.yaml +0 -0
  130. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/trivy.properties.json +0 -0
  131. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflow-templates/trivy.yaml +0 -0
  132. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/codeql.yaml +0 -0
  133. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/release.yaml +0 -0
  134. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/scale-tests.yaml +0 -0
  135. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/schedule.yaml +0 -0
  136. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/tag-and-publish.yaml +0 -0
  137. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/trivy-container.yaml +0 -0
  138. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.github/workflows/verify-snyk-status.yml +0 -0
  139. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.gitignore +0 -0
  140. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.pre-commit-config.yaml +0 -0
  141. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/.vscode/launch.json +0 -0
  142. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/CODE_OF_CONDUCT.md +0 -0
  143. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/CONTRIBUTING.md +0 -0
  144. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/LICENSE +0 -0
  145. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/NOTICE +0 -0
  146. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/SECURITY.md +0 -0
  147. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/__init__.py +0 -0
  148. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/.cursor/BUGBOT.md +0 -0
  149. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/__init__.py +0 -0
  150. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/common/__init__.py +0 -0
  151. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/common/models.py +0 -0
  152. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/common/sql_utils.py +0 -0
  153. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/common/utils.py +0 -0
  154. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/lock_management.py +0 -0
  155. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
  156. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/metadata_extraction/base.py +0 -0
  157. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/metadata_extraction/rest.py +0 -0
  158. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/metadata_extraction/sql.py +0 -0
  159. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/query_extraction/__init__.py +0 -0
  160. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/activities/query_extraction/sql.py +0 -0
  161. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/.cursor/BUGBOT.md +0 -0
  162. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/__init__.py +0 -0
  163. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/atlan.py +0 -0
  164. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/atlan_auth.py +0 -0
  165. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/azure/__init__.py +0 -0
  166. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/azure/auth.py +0 -0
  167. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/azure/client.py +0 -0
  168. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/base.py +0 -0
  169. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/models.py +0 -0
  170. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/redis.py +0 -0
  171. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/sql.py +0 -0
  172. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/utils.py +0 -0
  173. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/clients/workflow.py +0 -0
  174. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/common/.cursor/BUGBOT.md +0 -0
  175. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/common/__init__.py +0 -0
  176. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/common/aws_utils.py +0 -0
  177. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/common/error_codes.py +0 -0
  178. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/common/file_converter.py +0 -0
  179. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/common/types.py +0 -0
  180. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/common/utils.py +0 -0
  181. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/decorators/.cursor/BUGBOT.md +0 -0
  182. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/decorators/__init__.py +0 -0
  183. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/decorators/locks.py +0 -0
  184. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/decorators/mcp_tool.py +0 -0
  185. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/__init__.py +0 -0
  186. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/exporters/__init__.py +0 -0
  187. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/exporters/mkdocs.py +0 -0
  188. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/models/__init__.py +0 -0
  189. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/models/export/__init__.py +0 -0
  190. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/models/export/page.py +0 -0
  191. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/models/manifest/__init__.py +0 -0
  192. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/models/manifest/customer.py +0 -0
  193. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/models/manifest/internal.py +0 -0
  194. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/models/manifest/metadata.py +0 -0
  195. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/models/manifest/page.py +0 -0
  196. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/models/manifest/section.py +0 -0
  197. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/parsers/__init__.py +0 -0
  198. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/parsers/directory.py +0 -0
  199. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/docgen/parsers/manifest.py +0 -0
  200. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/handlers/__init__.py +0 -0
  201. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/handlers/base.py +0 -0
  202. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/handlers/sql.py +0 -0
  203. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/interceptors/.cursor/BUGBOT.md +0 -0
  204. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/interceptors/__init__.py +0 -0
  205. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/interceptors/cleanup.py +0 -0
  206. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/interceptors/correlation_context.py +0 -0
  207. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/interceptors/events.py +0 -0
  208. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/interceptors/lock.py +0 -0
  209. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/interceptors/models.py +0 -0
  210. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/io/__init__.py +0 -0
  211. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/io/json.py +0 -0
  212. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/io/parquet.py +0 -0
  213. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/io/utils.py +0 -0
  214. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/observability/__init__.py +0 -0
  215. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/observability/context.py +0 -0
  216. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/observability/decorators/observability_decorator.py +0 -0
  217. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/observability/logger_adaptor.py +0 -0
  218. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/observability/metrics_adaptor.py +0 -0
  219. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/observability/observability.py +0 -0
  220. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/observability/traces_adaptor.py +0 -0
  221. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/observability/utils.py +0 -0
  222. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/.cursor/BUGBOT.md +0 -0
  223. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/__init__.py +0 -0
  224. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/fastapi/__init__.py +0 -0
  225. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
  226. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
  227. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/fastapi/models.py +0 -0
  228. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/fastapi/routers/__init__.py +0 -0
  229. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/fastapi/routers/server.py +0 -0
  230. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/fastapi/utils.py +0 -0
  231. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/mcp/__init__.py +0 -0
  232. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/mcp/models.py +0 -0
  233. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/server/mcp/server.py +0 -0
  234. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/services/__init__.py +0 -0
  235. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/services/_utils.py +0 -0
  236. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/services/atlan_storage.py +0 -0
  237. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/services/eventstore.py +0 -0
  238. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/services/objectstore.py +0 -0
  239. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/services/secretstore.py +0 -0
  240. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/services/statestore.py +0 -0
  241. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/__init__.py +0 -0
  242. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/e2e/__init__.py +0 -0
  243. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/e2e/base.py +0 -0
  244. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/e2e/client.py +0 -0
  245. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/e2e/conftest.py +0 -0
  246. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/e2e/utils.py +0 -0
  247. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
  248. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
  249. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
  250. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
  251. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
  252. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
  253. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
  254. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
  255. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
  256. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
  257. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
  258. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
  259. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
  260. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
  261. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
  262. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
  263. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
  264. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
  265. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
  266. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
  267. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
  268. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
  269. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
  270. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
  271. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
  272. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
  273. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
  274. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
  275. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
  276. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
  277. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
  278. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/test_utils/workflow_monitoring.py +0 -0
  279. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/__init__.py +0 -0
  280. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/atlas/__init__.py +0 -0
  281. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/atlas/sql.py +0 -0
  282. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/common/__init__.py +0 -0
  283. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/common/utils.py +0 -0
  284. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/query/__init__.py +0 -0
  285. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/query/templates/column.yaml +0 -0
  286. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/query/templates/database.yaml +0 -0
  287. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
  288. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/query/templates/function.yaml +0 -0
  289. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/query/templates/schema.yaml +0 -0
  290. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/query/templates/table.yaml +0 -0
  291. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
  292. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/workflows/.cursor/BUGBOT.md +0 -0
  293. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/workflows/__init__.py +0 -0
  294. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
  295. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
  296. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/workflows/query_extraction/__init__.py +0 -0
  297. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/application_sdk/workflows/query_extraction/sql.py +0 -0
  298. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/README.md +0 -0
  299. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/atlan-storage.yaml +0 -0
  300. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/aws-secrets.yaml +0 -0
  301. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/configuration.yaml +0 -0
  302. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/deployment-secrets.yaml +0 -0
  303. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/eventstore.yaml +0 -0
  304. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/objectstore.yaml +0 -0
  305. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/pubsub.yaml +0 -0
  306. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/secretstore.yaml +0 -0
  307. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/components/statestore.yaml +0 -0
  308. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/activities.md +0 -0
  309. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/application.md +0 -0
  310. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/application_sql.md +0 -0
  311. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/atlanupload.md +0 -0
  312. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/clients.md +0 -0
  313. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/common.md +0 -0
  314. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/handlers.md +0 -0
  315. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/inputs.md +0 -0
  316. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/mcp.md +0 -0
  317. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/output_paths.md +0 -0
  318. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/outputs.md +0 -0
  319. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/server.md +0 -0
  320. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/services.md +0 -0
  321. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/temporal_auth.md +0 -0
  322. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/worker.md +0 -0
  323. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/concepts/workflows.md +0 -0
  324. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/configuration.md +0 -0
  325. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/guides/architecture.md +0 -0
  326. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/guides/atlantis.md +0 -0
  327. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/guides/best-practices.md +0 -0
  328. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/guides/getting-started.md +0 -0
  329. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/guides/index.md +0 -0
  330. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/guides/secretstores.md +0 -0
  331. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/guides/test-framework.md +0 -0
  332. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/setup/troubleshooting.md +0 -0
  333. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/static/assets/logo.svg +0 -0
  334. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/static/images/phoenix-sdk-featureset.png +0 -0
  335. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/static/javascripts/mathjax.js +0 -0
  336. {atlan_application_sdk-2.2.0/docs → atlan_application_sdk-2.3.1}/docs/static/stylesheets/extra.css +0 -0
  337. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/application_custom_fastapi.py +0 -0
  338. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/application_fastapi.py +0 -0
  339. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/application_hello_world.py +0 -0
  340. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/application_sql.py +0 -0
  341. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/application_sql_miner.py +0 -0
  342. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
  343. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/application_sql_with_custom_transformer.py +0 -0
  344. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/run_examples.py +0 -0
  345. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/examples/sql_query_templates/database.yaml +0 -0
  346. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/.cursor/BUGBOT.md +0 -0
  347. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/__init__.py +0 -0
  348. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/conftest.py +0 -0
  349. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/__init__.py +0 -0
  350. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/activities/__init__.py +0 -0
  351. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/activities/common/__init__.py +0 -0
  352. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/activities/common/test_sql_utils.py +0 -0
  353. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/activities/common/test_utils.py +0 -0
  354. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
  355. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
  356. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/activities/query_extraction/__init__.py +0 -0
  357. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/activities/test_activities.py +0 -0
  358. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/activities/test_lock_management.py +0 -0
  359. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/application/__init__.py +0 -0
  360. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/__init__.py +0 -0
  361. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_async_sql_client.py +0 -0
  362. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_atlan_auth.py +0 -0
  363. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_atlan_client.py +0 -0
  364. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_atlanauth.py +0 -0
  365. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_azure_auth.py +0 -0
  366. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_azure_client.py +0 -0
  367. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_base_client.py +0 -0
  368. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_redis_client.py +0 -0
  369. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/clients/test_sql_client.py +0 -0
  370. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/common/test_aws_utils.py +0 -0
  371. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/common/test_credential_utils.py +0 -0
  372. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/common/test_file_converter.py +0 -0
  373. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/common/test_utils.py +0 -0
  374. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/common/test_utils_file_discovery.py +0 -0
  375. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/decorators/__init__.py +0 -0
  376. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/decorators/test_mcp_tool.py +0 -0
  377. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
  378. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
  379. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/__init__.py +0 -0
  380. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/sql/test_auth.py +0 -0
  381. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
  382. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
  383. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/sql/test_metadata.py +0 -0
  384. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
  385. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
  386. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/sql/test_tables_check.py +0 -0
  387. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
  388. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/handlers/test_base_handler.py +0 -0
  389. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/interceptors/__init__.py +0 -0
  390. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/interceptors/test_correlation_context.py +0 -0
  391. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/io/readers/test_json_reader.py +0 -0
  392. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/io/readers/test_parquet_reader.py +0 -0
  393. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/io/test_base_io.py +0 -0
  394. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/io/writers/test_json_writer.py +0 -0
  395. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/io/writers/test_parquet_writer.py +0 -0
  396. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/observability/__init__.py +0 -0
  397. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/observability/test_logger_adaptor.py +0 -0
  398. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/observability/test_metrics_adaptor.py +0 -0
  399. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/observability/test_traces_adaptor.py +0 -0
  400. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/server/__init__.py +0 -0
  401. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/server/fastapi/routers/__init__.py +0 -0
  402. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/server/fastapi/routers/server.py +0 -0
  403. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/server/fastapi/test_fastapi.py +0 -0
  404. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/server/mcp/__init__.py +0 -0
  405. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/server/mcp/test_mcp_server.py +0 -0
  406. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/services/test_atlan_storage.py +0 -0
  407. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/services/test_eventstore.py +0 -0
  408. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/services/test_objectstore.py +0 -0
  409. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/services/test_statestore.py +0 -0
  410. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/__init__.py +0 -0
  411. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/__init__.py +0 -0
  412. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
  413. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
  414. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
  415. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
  416. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
  417. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
  418. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
  419. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
  420. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
  421. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
  422. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
  423. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
  424. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/test_column.py +0 -0
  425. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/test_database.py +0 -0
  426. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/test_function.py +0 -0
  427. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/test_procedure.py +0 -0
  428. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/test_schema.py +0 -0
  429. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/atlas/test_table.py +0 -0
  430. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/raw/column.json +0 -0
  431. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/raw/database.json +0 -0
  432. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
  433. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/raw/function.json +0 -0
  434. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
  435. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/raw/table.json +0 -0
  436. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
  437. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
  438. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
  439. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
  440. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
  441. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
  442. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
  443. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
  444. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/workflows/metadata_extraction/test_sql_workflow.py +0 -0
  445. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/workflows/query_extraction/__init__.py +0 -0
  446. {atlan_application_sdk-2.2.0 → atlan_application_sdk-2.3.1}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
@@ -0,0 +1,53 @@
1
+ ---
2
+ description: SDK development rules using DeepWiki MCP for verification
3
+ globs:
4
+ alwaysApply: true
5
+ ---
6
+ # SDK Development with DeepWiki MCP
7
+
8
+ DeepWiki MCP provides AI-powered documentation and search for public GitHub repositories.
9
+
10
+ ## Available Tools
11
+
12
+ - read_wiki_structure: Get documentation topics for a repository
13
+ - read_wiki_contents: View repository documentation
14
+ - ask_question: Ask questions about a repository (AI-powered, context-grounded)
15
+
16
+ ## Core Rule: Always Verify with DeepWiki
17
+
18
+ Never assume SDK implementation details for:
19
+ - atlanhq/atlan-python
20
+ - atlanhq/application-sdk
21
+
22
+ Always use DeepWiki MCP tools to verify against actual source code and documentation.
23
+
24
+ ## Workflow
25
+
26
+ 1. Use ask_question for specific implementation questions
27
+ 2. Use read_wiki_structure to understand available documentation
28
+ 3. Use read_wiki_contents to read detailed documentation
29
+ 4. Provide answers based on verified information
30
+
31
+ ## When to Use DeepWiki
32
+
33
+ Use for:
34
+ - SDK API usage and method signatures
35
+ - Error debugging
36
+ - Implementation patterns
37
+ - Parameter types and return values
38
+ - Usage examples from actual code
39
+
40
+ ## Examples
41
+
42
+ Instead of guessing:
43
+ "How does application-sdk handle authentication?" -> ask_question tool
44
+ "What methods are available in atlan-java Client class?" -> ask_question tool
45
+ "Show me the structure of atlan-python docs" -> read_wiki_structure tool
46
+
47
+ ## Response Format
48
+
49
+ When using DeepWiki findings:
50
+ - Reference the repository queried
51
+ - Include specific method/class names found
52
+ - Provide code examples when available
53
+ - Link to relevant documentation sections
@@ -0,0 +1,20 @@
1
+ ---
2
+ description: Update conceptual documentation when SDK code changes to keep docs synchronized with implementation
3
+ globs: application_sdk/**/*.py
4
+ alwaysApply: false
5
+ ---
6
+ # Documentation Updates
7
+
8
+ When modifying SDK code, update corresponding conceptual documentation under `docs/concepts/` to reflect changes.
9
+
10
+ **Module to Concept Doc Mapping:**
11
+ * `application_sdk/application/**` -> `docs/concepts/application.md`
12
+ * `application_sdk/server/**` -> `docs/concepts/server.md`
13
+ * `application_sdk/handlers/**` -> `docs/concepts/handlers.md`
14
+ * `application_sdk/clients/**` -> `docs/concepts/clients.md`
15
+ * `application_sdk/activities/**` -> `docs/concepts/activities.md`
16
+ * `application_sdk/common/**` or `application_sdk/constants.py` -> `docs/concepts/common.md`
17
+ * `application_sdk/io/**` -> `docs/concepts/inputs.md` (for readers) AND `docs/concepts/outputs.md` (for writers)
18
+ * `application_sdk/transformers/**` -> `docs/concepts/transformers.md`
19
+ * `application_sdk/workflows/**` -> `docs/concepts/workflows.md`
20
+ * `application_sdk/worker.py` -> `docs/concepts/worker.md`
@@ -17,13 +17,12 @@ The Atlan Python Application SDK requires the following components regardless of
17
17
 
18
18
  Please follow the appropriate guide for your operating system:
19
19
 
20
- - [MAC.md](mdc:docs/docs/setup/MAC.md)
21
- - [LINUX.md](mdc:docs/docs/setup/LINUX.md)
22
- - [WINDOWS.md](mdc:docs/docs/setup/WINDOWS.md)
20
+ - [MAC.md](mdc:docs/setup/MAC.md)
21
+ - [LINUX.md](mdc:docs/setup/LINUX.md)
22
+ - [WINDOWS.md](mdc:docs/setup/WINDOWS.md)
23
23
 
24
- Once the development environment is setup follow the [getting-started.md](mdc:docs/docs/guides/getting-started.md) to setup project dependencies and run an example
24
+ Once the development environment is setup follow the [getting-started.md](mdc:docs/guides/getting-started.md) to setup project dependencies and run an example
25
25
 
26
26
  ## Need Help?
27
27
 
28
28
  If you encounter any issues during setup, please reach out to us at connect@atlan.com.
29
-
@@ -24,8 +24,8 @@ This document outlines the development standards for the Application SDK, includ
24
24
  - Use Google-style docstrings
25
25
  - Include type information in docstrings
26
26
  - Document all public APIs
27
- - Build docs using `uv sync --all-extras --all-groups && uv run poe generate-apidocs`
28
- - Docs must go under ./docs/docs
27
+ - Build docs using `uv sync --group docs --all-extras && uv run poe generate-apidocs`
28
+ - Docs must go under ./docs
29
29
 
30
30
  - **Single Responsibility**
31
31
  - Each function should do exactly one thing
@@ -0,0 +1,7 @@
1
+ ## v2.3.1 (January 28, 2026)
2
+
3
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v2.3.0...v2.3.1
4
+
5
+ ### Bug Fixes
6
+
7
+ - add entrypoint wrapper for SIGTERM forward (#950) (by @anuj-atlan in [7c0b517](https://github.com/atlanhq/application-sdk/commit/7c0b517))
@@ -1,11 +1,13 @@
1
1
  name: Application SDK Docker Image
2
2
 
3
3
  on:
4
+ workflow_dispatch: # Allow manual triggering
4
5
  push:
5
6
  branches:
6
7
  - main
7
8
  paths:
8
9
  - 'Dockerfile'
10
+ - 'entrypoint.sh'
9
11
 
10
12
  permissions:
11
13
  contents: read
@@ -200,7 +200,7 @@ jobs:
200
200
 
201
201
  - name: Upload Docs to Kryptonite Bucket
202
202
  run: |
203
- aws s3 sync ./docs/site s3://kryptonite-store/application-sdk/${{ github.head_ref }} --delete
203
+ aws s3 sync ./site s3://kryptonite-store/application-sdk/${{ github.head_ref }} --delete
204
204
 
205
205
  - name: Comment Kryptonite URL on PR
206
206
  uses: mshick/add-pr-comment@v2
@@ -78,4 +78,4 @@ jobs:
78
78
 
79
79
  - name: Upload Docs to Kryptonite Bucket
80
80
  run: |
81
- aws s3 sync ./docs/site s3://kryptonite-store/application-sdk/${{ github.head_ref }} --delete
81
+ aws s3 sync ./site s3://kryptonite-store/application-sdk/${{ github.head_ref }} --delete
@@ -0,0 +1,20 @@
1
+ # Repository Guidelines
2
+
3
+ Atlan Application SDK is a Python library for building applications on the Atlan platform.
4
+
5
+ Package manager: `uv` (task runner via `poe` in `pyproject.toml`).
6
+
7
+ Non-standard commands used across the repo:
8
+ - `uv sync --all-extras --all-groups` (full dev/test deps)
9
+ - `uv run poe start-deps` (local Dapr + Temporal)
10
+ - `uv run poe generate-apidocs` (MkDocs + API docs)
11
+
12
+ Where to look next (progressive disclosure):
13
+ - `docs/agents/project-structure.md` — quick map of key directories.
14
+ - `docs/agents/dev-commands.md` — setup and repeatable workflows.
15
+ - `docs/agents/coding-standards.md` — formatting, logging, exceptions, performance.
16
+ - `docs/agents/testing.md` — test command, coverage config, test layout.
17
+ - `docs/agents/commits-prs.md` — commit format and PR expectations.
18
+ - `docs/agents/docs-updates.md` — which conceptual docs to update with code changes.
19
+ - `docs/agents/review.md` — code review checklist.
20
+ - `docs/agents/deepwiki.md` — DeepWiki MCP setup and when to verify SDK details.
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## v2.3.1 (January 28, 2026)
4
+
5
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v2.3.0...v2.3.1
6
+
7
+ ### Bug Fixes
8
+
9
+ - add entrypoint wrapper for SIGTERM forward (#950) (by @anuj-atlan in [7c0b517](https://github.com/atlanhq/application-sdk/commit/7c0b517))
10
+
11
+
12
+ ## v2.3.0 (January 22, 2026)
13
+
14
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v2.2.0...v2.3.0
15
+
16
+ ### Features
17
+
18
+ - split worker / server and support graceful shutdown (#944) (by @SanilK2108 in [a551e8e](https://github.com/atlanhq/application-sdk/commit/a551e8e))
19
+
20
+ ### Bug Fixes
21
+
22
+ - event loop policy for Windows (#927) (by @sachi-atlan in [9df1513](https://github.com/atlanhq/application-sdk/commit/9df1513))
23
+
24
+
3
25
  ## v2.2.0 (January 14, 2026)
4
26
 
5
27
  Full Changelog: https://github.com/atlanhq/application-sdk/compare/v2.1.1...v2.2.0
@@ -0,0 +1,20 @@
1
+ # Repository Guidelines
2
+
3
+ Atlan Application SDK is a Python library for building applications on the Atlan platform.
4
+
5
+ Package manager: `uv` (task runner via `poe` in `pyproject.toml`).
6
+
7
+ Non-standard commands used across the repo:
8
+ - `uv sync --all-extras --all-groups` (full dev/test deps)
9
+ - `uv run poe start-deps` (local Dapr + Temporal)
10
+ - `uv run poe generate-apidocs` (MkDocs + API docs)
11
+
12
+ Where to look next (progressive disclosure):
13
+ - `docs/agents/project-structure.md` — quick map of key directories.
14
+ - `docs/agents/dev-commands.md` — setup and repeatable workflows.
15
+ - `docs/agents/coding-standards.md` — formatting, logging, exceptions, performance.
16
+ - `docs/agents/testing.md` — test command, coverage config, test layout.
17
+ - `docs/agents/commits-prs.md` — commit format and PR expectations.
18
+ - `docs/agents/docs-updates.md` — which conceptual docs to update with code changes.
19
+ - `docs/agents/review.md` — code review checklist.
20
+ - `docs/agents/deepwiki.md` — DeepWiki MCP setup and when to verify SDK details.
@@ -37,8 +37,14 @@ ENV UV_CACHE_DIR=/home/appuser/.cache/uv \
37
37
  XDG_CACHE_HOME=/home/appuser/.cache \
38
38
  ATLAN_DAPR_HTTP_PORT=3500 \
39
39
  ATLAN_DAPR_GRPC_PORT=50001 \
40
- ATLAN_DAPR_METRICS_PORT=3100
40
+ ATLAN_DAPR_METRICS_PORT=3100 \
41
+ DAPR_LOG_LEVEL=info \
42
+ DAPR_APP_ID=app \
43
+ DAPR_MAX_BODY_SIZE="1024Mi"
41
44
 
42
- # Default command (can be overridden by extending images)
43
- CMD ["python"]
45
+ # Copy entrypoint script for graceful shutdown handling
46
+ COPY --chown=appuser:appuser entrypoint.sh /usr/local/bin/entrypoint.sh
47
+ RUN chmod +x /usr/local/bin/entrypoint.sh
48
+
49
+ ENTRYPOINT ["sh", "/usr/local/bin/entrypoint.sh"]
44
50
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atlan-application-sdk
3
- Version: 2.2.0
3
+ Version: 2.3.1
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
@@ -93,8 +93,8 @@ poetry add atlan-application-sdk
93
93
 
94
94
  ## Getting Started
95
95
 
96
- - Want to develop locally or run examples from this repository? Check out our [Getting Started Guide](docs/docs/guides/getting-started.md) for a step-by-step walkthrough!
97
- - Detailed documentation for the application-sdk is available at [docs](https://github.com/atlanhq/application-sdk/blob/main/docs/docs/) folder.
96
+ - Want to develop locally or run examples from this repository? Check out our [Getting Started Guide](docs/guides/getting-started.md) for a step-by-step walkthrough!
97
+ - Detailed documentation for the application-sdk is available at [docs](https://github.com/atlanhq/application-sdk/blob/main/docs/) folder.
98
98
 
99
99
  ## Contributing
100
100
 
@@ -29,8 +29,8 @@ poetry add atlan-application-sdk
29
29
 
30
30
  ## Getting Started
31
31
 
32
- - Want to develop locally or run examples from this repository? Check out our [Getting Started Guide](docs/docs/guides/getting-started.md) for a step-by-step walkthrough!
33
- - Detailed documentation for the application-sdk is available at [docs](https://github.com/atlanhq/application-sdk/blob/main/docs/docs/) folder.
32
+ - Want to develop locally or run examples from this repository? Check out our [Getting Started Guide](docs/guides/getting-started.md) for a step-by-step walkthrough!
33
+ - Detailed documentation for the application-sdk is available at [docs](https://github.com/atlanhq/application-sdk/blob/main/docs/) folder.
34
34
 
35
35
  ## Contributing
36
36
 
@@ -1,13 +1,20 @@
1
1
  from concurrent.futures import ThreadPoolExecutor
2
2
  from typing import Any, Dict, List, Optional, Tuple, Type
3
3
 
4
+ from typing_extensions import deprecated
5
+
4
6
  from application_sdk.activities import ActivitiesInterface
5
7
  from application_sdk.clients.base import BaseClient
6
8
  from application_sdk.clients.utils import get_workflow_client
7
- from application_sdk.constants import ENABLE_MCP
9
+ from application_sdk.constants import APPLICATION_MODE, ENABLE_MCP, ApplicationMode
8
10
  from application_sdk.handlers.base import BaseHandler
9
11
  from application_sdk.interceptors.models import EventRegistration
12
+ from application_sdk.observability.decorators.observability_decorator import (
13
+ observability,
14
+ )
10
15
  from application_sdk.observability.logger_adaptor import get_logger
16
+ from application_sdk.observability.metrics_adaptor import get_metrics
17
+ from application_sdk.observability.traces_adaptor import get_traces
11
18
  from application_sdk.server import ServerInterface
12
19
  from application_sdk.server.fastapi import APIServer, HttpWorkflowTrigger
13
20
  from application_sdk.server.fastapi.models import EventWorkflowTrigger
@@ -15,6 +22,8 @@ from application_sdk.worker import Worker
15
22
  from application_sdk.workflows import WorkflowInterface
16
23
 
17
24
  logger = get_logger(__name__)
25
+ metrics = get_metrics()
26
+ traces = get_traces()
18
27
 
19
28
 
20
29
  class BaseApplication:
@@ -110,6 +119,40 @@ class BaseApplication:
110
119
 
111
120
  self.event_subscriptions[event_id].workflow_class = workflow_class
112
121
 
122
+ async def start(
123
+ self,
124
+ workflow_class: Type[WorkflowInterface],
125
+ ui_enabled: bool = True,
126
+ has_configmap: bool = False,
127
+ ):
128
+ """Start the application based on the configured APPLICATION_MODE.
129
+
130
+ Args:
131
+ workflow_class: The workflow class to register with the server.
132
+ ui_enabled: Whether to enable the UI. Defaults to True.
133
+ has_configmap: Whether the application has a configmap. Defaults to False.
134
+
135
+ Behavior based on APPLICATION_MODE:
136
+ - LOCAL: Starts worker in daemon mode and server (for local development)
137
+ - WORKER: Starts only the worker in non-daemon mode (for production worker pods)
138
+ - SERVER: Starts only the server (for production API server pods)
139
+
140
+ Raises:
141
+ ValueError: If APPLICATION_MODE is not a valid ApplicationMode value.
142
+ """
143
+ if APPLICATION_MODE in (ApplicationMode.LOCAL, ApplicationMode.WORKER):
144
+ await self._start_worker(
145
+ daemon=APPLICATION_MODE == ApplicationMode.LOCAL,
146
+ )
147
+
148
+ if APPLICATION_MODE in (ApplicationMode.LOCAL, ApplicationMode.SERVER):
149
+ await self._setup_server(
150
+ workflow_class=workflow_class,
151
+ ui_enabled=ui_enabled,
152
+ has_configmap=has_configmap,
153
+ )
154
+ await self._start_server()
155
+
113
156
  async def setup_workflow(
114
157
  self,
115
158
  workflow_and_activities_classes: List[
@@ -167,7 +210,12 @@ class BaseApplication:
167
210
  raise ValueError("Workflow client not initialized")
168
211
  return await self.workflow_client.start_workflow(workflow_args, workflow_class) # type: ignore
169
212
 
213
+ @deprecated("Use application.start(). Deprecated since v2.3.0.")
214
+ @observability(logger=logger, metrics=metrics, traces=traces)
170
215
  async def start_worker(self, daemon: bool = True):
216
+ return await self._start_worker(daemon=daemon)
217
+
218
+ async def _start_worker(self, daemon: bool = True):
171
219
  """
172
220
  Start the worker for the application.
173
221
 
@@ -178,11 +226,25 @@ class BaseApplication:
178
226
  raise ValueError("Worker not initialized")
179
227
  await self.worker.start(daemon=daemon)
180
228
 
229
+ @deprecated("Use application.start(). Deprecated since v2.3.0.")
230
+ @observability(logger=logger, metrics=metrics, traces=traces)
181
231
  async def setup_server(
182
232
  self,
183
233
  workflow_class: Type[WorkflowInterface],
184
234
  ui_enabled: bool = True,
185
235
  has_configmap: bool = False,
236
+ ):
237
+ return await self._setup_server(
238
+ workflow_class=workflow_class,
239
+ ui_enabled=ui_enabled,
240
+ has_configmap=has_configmap,
241
+ )
242
+
243
+ async def _setup_server(
244
+ self,
245
+ workflow_class: Type[WorkflowInterface],
246
+ ui_enabled: bool = True,
247
+ has_configmap: bool = False,
186
248
  ):
187
249
  """
188
250
  Set up FastAPI server and automatically mount MCP if enabled.
@@ -239,7 +301,12 @@ class BaseApplication:
239
301
  triggers=[HttpWorkflowTrigger()],
240
302
  )
241
303
 
304
+ @deprecated("Use application.start(). Deprecated since v2.3.0.")
305
+ @observability(logger=logger, metrics=metrics, traces=traces)
242
306
  async def start_server(self):
307
+ return await self._start_server()
308
+
309
+ async def _start_server(self):
243
310
  """
244
311
  Start the FastAPI server for the application.
245
312
 
@@ -1,6 +1,8 @@
1
1
  from concurrent.futures import ThreadPoolExecutor
2
2
  from typing import Any, Dict, List, Optional, Tuple, Type
3
3
 
4
+ from typing_extensions import deprecated
5
+
4
6
  from application_sdk.application import BaseApplication
5
7
  from application_sdk.clients.sql import BaseSQLClient
6
8
  from application_sdk.clients.utils import get_workflow_client
@@ -146,8 +148,33 @@ class BaseSQLMetadataExtractionApplication(BaseApplication):
146
148
  )
147
149
  return workflow_response
148
150
 
151
+ @observability(logger=logger, metrics=metrics, traces=traces)
152
+ async def start(
153
+ self,
154
+ workflow_class: Type = BaseSQLMetadataExtractionWorkflow,
155
+ ui_enabled: bool = True,
156
+ has_configmap: bool = False,
157
+ ):
158
+ """Start the SQL metadata extraction application.
159
+
160
+ Args:
161
+ workflow_class: The workflow class to register. Defaults to BaseSQLMetadataExtractionWorkflow.
162
+ ui_enabled: Whether to enable the UI. Defaults to True.
163
+ has_configmap: Whether the application has a configmap. Defaults to False.
164
+ """
165
+ await super().start(
166
+ workflow_class=workflow_class,
167
+ ui_enabled=ui_enabled,
168
+ has_configmap=has_configmap,
169
+ )
170
+
171
+ @deprecated("Use application.start(). Deprecated since v2.3.0.")
149
172
  @observability(logger=logger, metrics=metrics, traces=traces)
150
173
  async def start_worker(self, daemon: bool = True):
174
+ return await self._start_worker(daemon=daemon)
175
+
176
+ @observability(logger=logger, metrics=metrics, traces=traces)
177
+ async def _start_worker(self, daemon: bool = True):
151
178
  """
152
179
  Start the worker for the SQL metadata extraction application.
153
180
  """
@@ -155,12 +182,27 @@ class BaseSQLMetadataExtractionApplication(BaseApplication):
155
182
  raise ValueError("Worker not initialized")
156
183
  await self.worker.start(daemon=daemon)
157
184
 
185
+ @deprecated("Use application.start(). Deprecated since v2.3.0.")
158
186
  @observability(logger=logger, metrics=metrics, traces=traces)
159
187
  async def setup_server(
188
+ self,
189
+ workflow_class: Type = BaseSQLMetadataExtractionWorkflow,
190
+ ui_enabled: bool = True,
191
+ has_configmap: bool = False,
192
+ ):
193
+ return await self._setup_server(
194
+ workflow_class=workflow_class,
195
+ ui_enabled=ui_enabled,
196
+ has_configmap=has_configmap,
197
+ )
198
+
199
+ @observability(logger=logger, metrics=metrics, traces=traces)
200
+ async def _setup_server(
160
201
  self,
161
202
  workflow_class: Type[
162
203
  BaseSQLMetadataExtractionWorkflow
163
204
  ] = BaseSQLMetadataExtractionWorkflow,
205
+ ui_enabled: bool = True,
164
206
  has_configmap: bool = False,
165
207
  ) -> Any:
166
208
  """
@@ -168,6 +210,7 @@ class BaseSQLMetadataExtractionApplication(BaseApplication):
168
210
 
169
211
  Args:
170
212
  workflow_class (Type): Workflow class to register with the server. Defaults to BaseSQLMetadataExtractionWorkflow.
213
+ ui_enabled (bool): Whether to enable the UI. Defaults to True.
171
214
  has_configmap (bool): Whether the application has a configmap. Defaults to False.
172
215
 
173
216
  Returns:
@@ -180,6 +223,7 @@ class BaseSQLMetadataExtractionApplication(BaseApplication):
180
223
  self.server = APIServer(
181
224
  handler=self.handler_class(sql_client=self.client_class()),
182
225
  workflow_client=self.workflow_client,
226
+ ui_enabled=ui_enabled,
183
227
  has_configmap=has_configmap,
184
228
  )
185
229
 
@@ -2,6 +2,7 @@ import asyncio
2
2
  import time
3
3
  import uuid
4
4
  from concurrent.futures import ThreadPoolExecutor
5
+ from datetime import timedelta
5
6
  from typing import Any, Dict, Optional, Sequence, Type
6
7
 
7
8
  from temporalio import activity, workflow
@@ -18,6 +19,7 @@ from application_sdk.clients.workflow import WorkflowClient
18
19
  from application_sdk.constants import (
19
20
  APPLICATION_NAME,
20
21
  DEPLOYMENT_NAME,
22
+ GRACEFUL_SHUTDOWN_TIMEOUT_SECONDS,
21
23
  IS_LOCKING_DISABLED,
22
24
  MAX_CONCURRENT_ACTIVITIES,
23
25
  WORKFLOW_HOST,
@@ -357,7 +359,7 @@ class TemporalWorkflowClient(WorkflowClient):
357
359
  activity_executor: Optional[ThreadPoolExecutor] = None,
358
360
  auto_start_token_refresh: bool = True,
359
361
  ) -> Worker:
360
- """Create a Temporal worker with automatic token refresh.
362
+ """Create a Temporal worker with automatic token refresh and graceful shutdown.
361
363
 
362
364
  Args:
363
365
  activities (Sequence[CallableType]): Activity functions to register.
@@ -432,6 +434,9 @@ class TemporalWorkflowClient(WorkflowClient):
432
434
  ),
433
435
  max_concurrent_activities=max_concurrent_activities,
434
436
  activity_executor=activity_executor,
437
+ graceful_shutdown_timeout=timedelta(
438
+ seconds=GRACEFUL_SHUTDOWN_TIMEOUT_SECONDS
439
+ ),
435
440
  interceptors=[
436
441
  CorrelationContextInterceptor(),
437
442
  EventInterceptor(),
@@ -22,6 +22,7 @@ Note:
22
22
 
23
23
  import os
24
24
  from datetime import timedelta
25
+ from enum import Enum
25
26
 
26
27
  from dotenv import load_dotenv
27
28
 
@@ -135,6 +136,14 @@ START_TO_CLOSE_TIMEOUT = timedelta(
135
136
  ) # 2 hours
136
137
  )
137
138
 
139
+ #: Graceful shutdown timeout for workers
140
+ #: This is the maximum time the worker will wait for in-flight activities to complete
141
+ #: before forcing shutdown when receiving SIGTERM/SIGINT signals.
142
+ #: The worker will exit early if all activities complete before this timeout.
143
+ GRACEFUL_SHUTDOWN_TIMEOUT_SECONDS = int(
144
+ os.getenv("ATLAN_GRACEFUL_SHUTDOWN_TIMEOUT_SECONDS", 12 * 60 * 60) # 12 hours
145
+ )
146
+
138
147
  # SQL Client Constants
139
148
  #: Whether to use server-side cursors for SQL operations
140
149
  USE_SERVER_SIDE_CURSOR = bool(os.getenv("ATLAN_SQL_USE_SERVER_SIDE_CURSOR", "true"))
@@ -279,6 +288,22 @@ ENABLE_MCP = os.getenv("ENABLE_MCP", "false").lower() == "true"
279
288
  MCP_METADATA_KEY = "__atlan_application_sdk_mcp_metadata"
280
289
 
281
290
 
291
+ class ApplicationMode(str, Enum):
292
+ """Application execution mode.
293
+
294
+ Determines which components of the application are started:
295
+ - LOCAL: Starts both the worker (daemon mode) and the server. Used for local development.
296
+ - WORKER: Starts only the worker (non-daemon mode). Used in production for worker pods.
297
+ - SERVER: Starts only the server. Used in production for API server pods.
298
+ """
299
+
300
+ LOCAL = "LOCAL"
301
+ WORKER = "WORKER"
302
+ SERVER = "SERVER"
303
+
304
+
305
+ APPLICATION_MODE = ApplicationMode(os.getenv("APPLICATION_MODE", "LOCAL").upper())
306
+
282
307
  # Disable Analytics Configuration for DAFT
283
308
  os.environ["DO_NOT_TRACK"] = "true"
284
309
  os.environ["SCARF_NO_ANALYTICS"] = "true"
@@ -2,4 +2,4 @@
2
2
  Version information for the application_sdk package.
3
3
  """
4
4
 
5
- __version__ = "2.2.0"
5
+ __version__ = "2.3.1"