atlan-application-sdk 0.1.1rc53__tar.gz → 0.1.1rc54__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 (428) hide show
  1. atlan_application_sdk-0.1.1rc54/.github/release_notes.md +7 -0
  2. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/CHANGELOG.md +9 -0
  3. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/PKG-INFO +1 -1
  4. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/__init__.py +25 -0
  5. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/common/models.py +7 -1
  6. atlan_application_sdk-0.1.1rc54/application_sdk/common/file_converter.py +99 -0
  7. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/version.py +1 -1
  8. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/pyproject.toml +1 -1
  9. atlan_application_sdk-0.1.1rc54/tests/unit/common/test_file_converter.py +479 -0
  10. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/uv.lock +1 -1
  11. atlan_application_sdk-0.1.1rc53/.github/release_notes.md +0 -1
  12. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.cursor/BUGBOT.md +0 -0
  13. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.cursor/rules/documentation.mdc +0 -0
  14. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.cursor/rules/exception-handling.mdc +0 -0
  15. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.cursor/rules/guidelines.mdc +0 -0
  16. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.cursor/rules/logging.mdc +0 -0
  17. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.cursor/rules/performance.mdc +0 -0
  18. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.cursor/rules/setup.mdc +0 -0
  19. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.cursor/rules/standards.mdc +0 -0
  20. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.cursor/rules/testing.mdc +0 -0
  21. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.env.example +0 -0
  22. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/CODEOWNERS +0 -0
  23. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  24. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
  25. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  26. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/docgen/action.yaml +0 -0
  27. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/doclint/action.yaml +0 -0
  28. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/docstring-coverage/action.yaml +0 -0
  29. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/e2e-apps/action.yaml +0 -0
  30. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/e2e-examples/action.yaml +0 -0
  31. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/setup-deps/action.yaml +0 -0
  32. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/sync-branches/action.yaml +0 -0
  33. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/trivy/action.yaml +0 -0
  34. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/trivy-container/action.yaml +0 -0
  35. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/actions/unit-tests/action.yaml +0 -0
  36. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/dependabot.yaml +0 -0
  37. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/pull_request_template.md +0 -0
  38. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/scripts/extract_release_notes.py +0 -0
  39. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/scripts/pre_release.py +0 -0
  40. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/scripts/release.py +0 -0
  41. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/scripts/trivy-to-markdown.py +0 -0
  42. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/scripts/update_changelog.py +0 -0
  43. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/AMPM.yml +0 -0
  44. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Accessibility.yml +0 -0
  45. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Acronyms.yml +0 -0
  46. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Adverbs.yml +0 -0
  47. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Auto.yml +0 -0
  48. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Avoid.yml +0 -0
  49. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Contractions.yml +0 -0
  50. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Dashes.yml +0 -0
  51. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/DateFormat.yml +0 -0
  52. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/DateNumbers.yml +0 -0
  53. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/DateOrder.yml +0 -0
  54. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Ellipses.yml +0 -0
  55. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/FirstPerson.yml +0 -0
  56. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Foreign.yml +0 -0
  57. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Gender.yml +0 -0
  58. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/GenderBias.yml +0 -0
  59. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/GeneralURL.yml +0 -0
  60. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
  61. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/HeadingColons.yml +0 -0
  62. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
  63. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Headings.yml +0 -0
  64. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Hyphens.yml +0 -0
  65. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Negative.yml +0 -0
  66. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Ordinal.yml +0 -0
  67. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/OxfordComma.yml +0 -0
  68. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Passive.yml +0 -0
  69. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Percentages.yml +0 -0
  70. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Plurals.yml +0 -0
  71. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Quotes.yml +0 -0
  72. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/RangeTime.yml +0 -0
  73. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Semicolon.yml +0 -0
  74. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/SentenceLength.yml +0 -0
  75. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Spacing.yml +0 -0
  76. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Suspended.yml +0 -0
  77. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Terms.yml +0 -0
  78. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/URLFormat.yml +0 -0
  79. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Units.yml +0 -0
  80. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Vocab.yml +0 -0
  81. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/We.yml +0 -0
  82. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/Wordiness.yml +0 -0
  83. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/Microsoft/meta.json +0 -0
  84. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
  85. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
  86. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/checks.properties.json +0 -0
  87. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/checks.yaml +0 -0
  88. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/codeql.properties.json +0 -0
  89. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/codeql.yaml +0 -0
  90. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/dependency-review.properties.json +0 -0
  91. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/dependency-review.yml +0 -0
  92. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/stale.properties.json +0 -0
  93. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/stale.yml +0 -0
  94. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/trivy-container.properties.json +0 -0
  95. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/trivy-container.yaml +0 -0
  96. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/trivy.properties.json +0 -0
  97. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflow-templates/trivy.yaml +0 -0
  98. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/codeql.yaml +0 -0
  99. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/pre-release.yaml +0 -0
  100. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/pull_request.yaml +0 -0
  101. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/push.yaml +0 -0
  102. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/release.yaml.disabled +0 -0
  103. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/scale-tests.yaml +0 -0
  104. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/schedule.yaml +0 -0
  105. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/tag-and-publish.yaml +0 -0
  106. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/trivy-container.yaml +0 -0
  107. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.github/workflows/verify-snyk-status.yml +0 -0
  108. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.gitignore +0 -0
  109. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.pre-commit-config.yaml +0 -0
  110. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/.vscode/launch.json +0 -0
  111. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/CODE_OF_CONDUCT.md +0 -0
  112. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/CONTRIBUTING.md +0 -0
  113. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/LICENSE +0 -0
  114. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/NOTICE +0 -0
  115. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/README.md +0 -0
  116. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/SECURITY.md +0 -0
  117. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/__init__.py +0 -0
  118. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/.cursor/BUGBOT.md +0 -0
  119. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/common/__init__.py +0 -0
  120. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/common/utils.py +0 -0
  121. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/lock_management.py +0 -0
  122. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
  123. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/metadata_extraction/base.py +0 -0
  124. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/metadata_extraction/rest.py +0 -0
  125. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/metadata_extraction/sql.py +0 -0
  126. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/query_extraction/__init__.py +0 -0
  127. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/activities/query_extraction/sql.py +0 -0
  128. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/application/__init__.py +0 -0
  129. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/application/metadata_extraction/sql.py +0 -0
  130. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/.cursor/BUGBOT.md +0 -0
  131. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/__init__.py +0 -0
  132. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/atlan.py +0 -0
  133. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/atlan_auth.py +0 -0
  134. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/base.py +0 -0
  135. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/models.py +0 -0
  136. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/redis.py +0 -0
  137. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/sql.py +0 -0
  138. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/temporal.py +0 -0
  139. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/utils.py +0 -0
  140. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/clients/workflow.py +0 -0
  141. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/common/.cursor/BUGBOT.md +0 -0
  142. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/common/__init__.py +0 -0
  143. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/common/aws_utils.py +0 -0
  144. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/common/dapr_utils.py +0 -0
  145. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/common/dataframe_utils.py +0 -0
  146. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/common/error_codes.py +0 -0
  147. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/common/utils.py +0 -0
  148. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/constants.py +0 -0
  149. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/decorators/.cursor/BUGBOT.md +0 -0
  150. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/decorators/__init__.py +0 -0
  151. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/decorators/locks.py +0 -0
  152. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/decorators/mcp_tool.py +0 -0
  153. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/__init__.py +0 -0
  154. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/exporters/__init__.py +0 -0
  155. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/exporters/mkdocs.py +0 -0
  156. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/models/__init__.py +0 -0
  157. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/models/export/__init__.py +0 -0
  158. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/models/export/page.py +0 -0
  159. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/models/manifest/__init__.py +0 -0
  160. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/models/manifest/customer.py +0 -0
  161. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/models/manifest/internal.py +0 -0
  162. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/models/manifest/metadata.py +0 -0
  163. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/models/manifest/page.py +0 -0
  164. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/models/manifest/section.py +0 -0
  165. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/parsers/__init__.py +0 -0
  166. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/parsers/directory.py +0 -0
  167. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/docgen/parsers/manifest.py +0 -0
  168. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/events/__init__.py +0 -0
  169. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/events/models.py +0 -0
  170. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/handlers/__init__.py +0 -0
  171. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/handlers/base.py +0 -0
  172. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/handlers/sql.py +0 -0
  173. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/inputs/.cursor/BUGBOT.md +0 -0
  174. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/inputs/__init__.py +0 -0
  175. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/inputs/iceberg.py +0 -0
  176. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/inputs/json.py +0 -0
  177. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/inputs/parquet.py +0 -0
  178. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/inputs/sql_query.py +0 -0
  179. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/interceptors/.cursor/BUGBOT.md +0 -0
  180. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/interceptors/__init__.py +0 -0
  181. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/interceptors/cleanup.py +0 -0
  182. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/interceptors/events.py +0 -0
  183. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/interceptors/lock.py +0 -0
  184. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/observability/__init__.py +0 -0
  185. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/observability/decorators/observability_decorator.py +0 -0
  186. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/observability/logger_adaptor.py +0 -0
  187. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/observability/metrics_adaptor.py +0 -0
  188. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/observability/observability.py +0 -0
  189. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/observability/traces_adaptor.py +0 -0
  190. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/observability/utils.py +0 -0
  191. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/outputs/.cursor/BUGBOT.md +0 -0
  192. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/outputs/__init__.py +0 -0
  193. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/outputs/iceberg.py +0 -0
  194. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/outputs/json.py +0 -0
  195. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/outputs/parquet.py +0 -0
  196. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/.cursor/BUGBOT.md +0 -0
  197. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/__init__.py +0 -0
  198. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/fastapi/__init__.py +0 -0
  199. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
  200. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
  201. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/fastapi/models.py +0 -0
  202. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/fastapi/routers/__init__.py +0 -0
  203. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/fastapi/routers/server.py +0 -0
  204. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/fastapi/utils.py +0 -0
  205. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/mcp/__init__.py +0 -0
  206. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/mcp/models.py +0 -0
  207. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/server/mcp/server.py +0 -0
  208. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/services/__init__.py +0 -0
  209. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/services/atlan_storage.py +0 -0
  210. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/services/eventstore.py +0 -0
  211. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/services/objectstore.py +0 -0
  212. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/services/secretstore.py +0 -0
  213. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/services/statestore.py +0 -0
  214. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/__init__.py +0 -0
  215. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/e2e/__init__.py +0 -0
  216. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/e2e/base.py +0 -0
  217. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/e2e/client.py +0 -0
  218. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/e2e/conftest.py +0 -0
  219. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/e2e/utils.py +0 -0
  220. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
  221. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
  222. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
  223. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
  224. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
  225. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
  226. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
  227. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
  228. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
  229. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
  230. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
  231. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
  232. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
  233. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
  234. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
  235. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
  236. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
  237. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
  238. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
  239. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
  240. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
  241. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
  242. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
  243. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
  244. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
  245. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
  246. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
  247. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
  248. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
  249. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
  250. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
  251. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/test_utils/workflow_monitoring.py +0 -0
  252. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/__init__.py +0 -0
  253. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/atlas/__init__.py +0 -0
  254. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/atlas/sql.py +0 -0
  255. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/common/__init__.py +0 -0
  256. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/common/utils.py +0 -0
  257. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/query/__init__.py +0 -0
  258. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/query/templates/column.yaml +0 -0
  259. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/query/templates/database.yaml +0 -0
  260. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
  261. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/query/templates/function.yaml +0 -0
  262. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/query/templates/schema.yaml +0 -0
  263. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/query/templates/table.yaml +0 -0
  264. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
  265. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/worker.py +0 -0
  266. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/workflows/.cursor/BUGBOT.md +0 -0
  267. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/workflows/__init__.py +0 -0
  268. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
  269. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
  270. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/workflows/query_extraction/__init__.py +0 -0
  271. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/application_sdk/workflows/query_extraction/sql.py +0 -0
  272. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/components/README.md +0 -0
  273. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/components/atlan-storage.yaml +0 -0
  274. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/components/aws-secrets.yaml +0 -0
  275. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/components/configuration.yaml +0 -0
  276. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/components/deployment-secrets.yaml +0 -0
  277. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/components/eventstore.yaml +0 -0
  278. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/components/objectstore.yaml +0 -0
  279. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/components/secretstore.yaml +0 -0
  280. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/components/statestore.yaml +0 -0
  281. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/API.md +0 -0
  282. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/activities.md +0 -0
  283. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/application.md +0 -0
  284. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/application_sql.md +0 -0
  285. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/atlanupload.md +0 -0
  286. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/clients.md +0 -0
  287. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/common.md +0 -0
  288. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/handlers.md +0 -0
  289. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/inputs.md +0 -0
  290. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/mcp.md +0 -0
  291. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/output_paths.md +0 -0
  292. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/outputs.md +0 -0
  293. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/server.md +0 -0
  294. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/services.md +0 -0
  295. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/temporal_auth.md +0 -0
  296. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/worker.md +0 -0
  297. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/concepts/workflows.md +0 -0
  298. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/configuration.md +0 -0
  299. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/guides/architecture.md +0 -0
  300. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/guides/atlantis.md +0 -0
  301. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/guides/best-practices.md +0 -0
  302. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/guides/getting-started.md +0 -0
  303. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/guides/index.md +0 -0
  304. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/guides/partners.md +0 -0
  305. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/guides/secretstores.md +0 -0
  306. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/guides/sql-application-guide.md +0 -0
  307. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/guides/test-framework.md +0 -0
  308. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/index.md +0 -0
  309. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/setup/LINUX.md +0 -0
  310. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/setup/MAC.md +0 -0
  311. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/setup/WINDOWS.md +0 -0
  312. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/setup/troubleshooting.md +0 -0
  313. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/static/assets/logo.svg +0 -0
  314. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
  315. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/static/javascripts/mathjax.js +0 -0
  316. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/docs/static/stylesheets/extra.css +0 -0
  317. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/docs/mkdocs.yml +0 -0
  318. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/README.md +0 -0
  319. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/application_custom_fastapi.py +0 -0
  320. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/application_fastapi.py +0 -0
  321. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/application_hello_world.py +0 -0
  322. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/application_sql.py +0 -0
  323. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/application_sql_miner.py +0 -0
  324. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
  325. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/application_sql_with_custom_transformer.py +0 -0
  326. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/run_examples.py +0 -0
  327. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/examples/sql_query_templates/database.yaml +0 -0
  328. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/.cursor/BUGBOT.md +0 -0
  329. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/__init__.py +0 -0
  330. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/conftest.py +0 -0
  331. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/__init__.py +0 -0
  332. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/activities/__init__.py +0 -0
  333. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/activities/common/__init__.py +0 -0
  334. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/activities/common/test_utils.py +0 -0
  335. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
  336. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
  337. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/activities/query_extraction/__init__.py +0 -0
  338. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/activities/test_activities.py +0 -0
  339. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/activities/test_lock_management.py +0 -0
  340. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/application/__init__.py +0 -0
  341. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
  342. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/application/test_application.py +0 -0
  343. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/clients/__init__.py +0 -0
  344. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/clients/test_async_sql_client.py +0 -0
  345. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/clients/test_atlan_auth.py +0 -0
  346. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/clients/test_atlan_client.py +0 -0
  347. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/clients/test_atlanauth.py +0 -0
  348. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/clients/test_base_client.py +0 -0
  349. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/clients/test_redis_client.py +0 -0
  350. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/clients/test_sql_client.py +0 -0
  351. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/clients/test_temporal_client.py +0 -0
  352. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/common/test_aws_utils.py +0 -0
  353. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/common/test_credential_utils.py +0 -0
  354. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/common/test_utils.py +0 -0
  355. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/common/test_utils_file_discovery.py +0 -0
  356. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/decorators/__init__.py +0 -0
  357. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/decorators/test_mcp_tool.py +0 -0
  358. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
  359. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
  360. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/__init__.py +0 -0
  361. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/sql/test_auth.py +0 -0
  362. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
  363. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
  364. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/sql/test_metadata.py +0 -0
  365. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
  366. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
  367. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/sql/test_tables_check.py +0 -0
  368. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
  369. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/handlers/test_base_handler.py +0 -0
  370. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/inputs/test_base_input.py +0 -0
  371. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/inputs/test_json.py +0 -0
  372. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/inputs/test_parquet.py +0 -0
  373. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/observability/__init__.py +0 -0
  374. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/observability/test_logger_adaptor.py +0 -0
  375. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/observability/test_metrics_adaptor.py +0 -0
  376. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/observability/test_traces_adaptor.py +0 -0
  377. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/outputs/test_iceberg.py +0 -0
  378. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/outputs/test_json_output.py +0 -0
  379. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/outputs/test_output.py +0 -0
  380. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/outputs/test_parquet_output.py +0 -0
  381. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/server/__init__.py +0 -0
  382. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/server/fastapi/routers/__init__.py +0 -0
  383. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/server/fastapi/routers/server.py +0 -0
  384. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/server/fastapi/test_fastapi.py +0 -0
  385. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/server/mcp/__init__.py +0 -0
  386. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/server/mcp/test_mcp_server.py +0 -0
  387. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/services/test_atlan_storage.py +0 -0
  388. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/services/test_eventstore.py +0 -0
  389. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/services/test_objectstore.py +0 -0
  390. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/services/test_statestore.py +0 -0
  391. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/test_worker.py +0 -0
  392. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/__init__.py +0 -0
  393. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/__init__.py +0 -0
  394. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
  395. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
  396. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
  397. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
  398. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
  399. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
  400. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
  401. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
  402. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
  403. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
  404. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
  405. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
  406. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/test_column.py +0 -0
  407. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/test_database.py +0 -0
  408. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/test_function.py +0 -0
  409. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/test_procedure.py +0 -0
  410. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/test_schema.py +0 -0
  411. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/atlas/test_table.py +0 -0
  412. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/raw/column.json +0 -0
  413. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/raw/database.json +0 -0
  414. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
  415. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/raw/function.json +0 -0
  416. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
  417. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/raw/table.json +0 -0
  418. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
  419. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
  420. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
  421. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
  422. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
  423. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
  424. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
  425. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
  426. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/workflows/metadata_extraction/test_sql_workflow.py +0 -0
  427. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/workflows/query_extraction/__init__.py +0 -0
  428. {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc54}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
@@ -0,0 +1,7 @@
1
+ ## v0.1.1rc54 (October 09, 2025)
2
+
3
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc53...v0.1.1rc54
4
+
5
+ ### Bug Fixes
6
+
7
+ - Add file converter to sdk for QI app Json Support (#778) (by @OnkarVO7 in [177aa06](https://github.com/atlanhq/application-sdk/commit/177aa06))
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.1.1rc54 (October 09, 2025)
4
+
5
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc53...v0.1.1rc54
6
+
7
+ ### Bug Fixes
8
+
9
+ - Add file converter to sdk for QI app Json Support (#778) (by @OnkarVO7 in [177aa06](https://github.com/atlanhq/application-sdk/commit/177aa06))
10
+
11
+
3
12
  ## v0.1.1rc52 (October 03, 2025)
4
13
 
5
14
  Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc51...v0.1.1rc52
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atlan-application-sdk
3
- Version: 0.1.1rc53
3
+ Version: 0.1.1rc54
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
@@ -20,6 +20,7 @@ from typing import Any, Dict, Generic, Optional, TypeVar
20
20
  from pydantic import BaseModel
21
21
  from temporalio import activity
22
22
 
23
+ from application_sdk.activities.common.models import ActivityResult
23
24
  from application_sdk.activities.common.utils import (
24
25
  auto_heartbeater,
25
26
  build_output_path,
@@ -27,6 +28,7 @@ from application_sdk.activities.common.utils import (
27
28
  get_workflow_run_id,
28
29
  )
29
30
  from application_sdk.common.error_codes import OrchestratorError
31
+ from application_sdk.common.file_converter import FileType, convert_data_files
30
32
  from application_sdk.constants import TEMPORARY_PATH
31
33
  from application_sdk.handlers import HandlerInterface
32
34
  from application_sdk.observability.logger_adaptor import get_logger
@@ -268,3 +270,26 @@ class ActivitiesInterface(ABC, Generic[ActivitiesStateType]):
268
270
  exc_info=e,
269
271
  )
270
272
  raise
273
+
274
+ @activity.defn
275
+ @auto_heartbeater
276
+ async def convert_files(self, workflow_args: Dict[str, Any]) -> ActivityResult:
277
+ """
278
+ Convert the input files to the specified output type.
279
+ """
280
+ converted_files = []
281
+ if workflow_args.get("input_files") and workflow_args.get("output_file_type"):
282
+ converted_files = await convert_data_files(
283
+ workflow_args["input_files"],
284
+ FileType(workflow_args["output_file_type"]),
285
+ )
286
+ return ActivityResult(
287
+ status="success",
288
+ message=f"Successfully converted files to {workflow_args['output_file_type']}",
289
+ metadata={"input_files": converted_files},
290
+ )
291
+ return ActivityResult(
292
+ status="warning",
293
+ message="Unable to get input files or output file type",
294
+ metadata={"input_files": converted_files},
295
+ )
@@ -4,7 +4,7 @@ This module contains Pydantic models used to represent various data structures
4
4
  needed by activities, such as statistics and configuration.
5
5
  """
6
6
 
7
- from typing import List, Optional
7
+ from typing import Any, Dict, List, Optional, TypedDict
8
8
 
9
9
  from pydantic import BaseModel
10
10
 
@@ -36,3 +36,9 @@ class ActivityStatistics(BaseModel):
36
36
  chunk_count: int = 0
37
37
  partitions: Optional[List[int]] = []
38
38
  typename: Optional[str] = None
39
+
40
+
41
+ class ActivityResult(TypedDict):
42
+ status: str
43
+ message: str
44
+ metadata: Dict[str, Any]
@@ -0,0 +1,99 @@
1
+ from collections import namedtuple
2
+ from enum import Enum
3
+ from typing import List, Optional
4
+
5
+ import pandas as pd
6
+
7
+ from application_sdk.observability.logger_adaptor import get_logger
8
+
9
+ logger = get_logger(__name__)
10
+
11
+
12
+ def enum_register():
13
+ """
14
+ Helps us register custom function for enum values
15
+ """
16
+ registry = {}
17
+
18
+ def add(name: str):
19
+ def inner(fn):
20
+ registry[name] = fn
21
+ return fn
22
+
23
+ return inner
24
+
25
+ Register = namedtuple("Register", ["add", "registry"])
26
+ return Register(add, registry)
27
+
28
+
29
+ file_converter_registry = enum_register()
30
+
31
+
32
+ # Edit the enums here to add new file types
33
+ class FileType(Enum):
34
+ JSON = "json"
35
+ PARQUET = "parquet"
36
+
37
+
38
+ # Edit the enums here to add new file conversions
39
+ class ConvertFile(Enum):
40
+ JSON_TO_PARQUET = "json_to_parquet"
41
+ PARQUET_TO_JSON = "parquet_to_json"
42
+
43
+
44
+ async def convert_data_files(
45
+ input_file_paths: List[str], output_file_type: FileType
46
+ ) -> List[str]:
47
+ """
48
+ Convert the input files to the specified file type
49
+ Args:
50
+ input_file_paths: List[str] - List of input file paths
51
+ output_file_type: FileType - The file type to convert to
52
+ Returns:
53
+ List[str] - List of converted file paths
54
+ """
55
+ if not input_file_paths:
56
+ return []
57
+ input_file_type = input_file_paths[0].split(".")[-1]
58
+ convert_file = ConvertFile(f"{input_file_type}_to_{output_file_type.value}")
59
+ converter_func = file_converter_registry.registry.get(convert_file)
60
+ converted_files = []
61
+ try:
62
+ for file in input_file_paths:
63
+ converted_file = converter_func(file)
64
+ if converted_file:
65
+ converted_files.append(converted_file)
66
+ except KeyError:
67
+ raise ValueError(f"No converter found for file type: {convert_file}")
68
+
69
+ return converted_files
70
+
71
+
72
+ # Add the main logic here to convert the files here
73
+ @file_converter_registry.add(ConvertFile.JSON_TO_PARQUET)
74
+ def convert_json_to_parquet(file_path: str) -> Optional[str]:
75
+ """Convert the downloaded files from json to parquet"""
76
+ try:
77
+ logger.info(f"Converting {file_path} to parquet")
78
+ df = pd.read_json(file_path, orient="records", lines=True)
79
+ df = df.loc[:, ~df.where(df.astype(bool)).isna().all(axis=0)]
80
+ parquet_file_path = file_path.replace(".json", ".parquet")
81
+ df.to_parquet(parquet_file_path)
82
+ return parquet_file_path
83
+ except Exception as e:
84
+ logger.error(f"Error converting {file_path} to parquet: {e}")
85
+ return None
86
+
87
+
88
+ @file_converter_registry.add(ConvertFile.PARQUET_TO_JSON)
89
+ def convert_parquet_to_json(file_path: str) -> Optional[str]:
90
+ """Convert the downloaded files from parquet to json"""
91
+ try:
92
+ logger.info(f"Converting {file_path} to json")
93
+ df = pd.read_parquet(file_path)
94
+ json_file_path = file_path.replace(".parquet", ".json")
95
+ df.to_json(json_file_path, orient="records", lines=True)
96
+ return json_file_path
97
+ except Exception as e:
98
+ logger.error(f"Error converting {file_path} to json: {e}")
99
+ return None
@@ -2,4 +2,4 @@
2
2
  Version information for the application_sdk package.
3
3
  """
4
4
 
5
- __version__ = "0.1.1rc53"
5
+ __version__ = "0.1.1rc54"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "atlan-application-sdk"
3
- version = "0.1.1rc53"
3
+ version = "0.1.1rc54"
4
4
  description = "Atlan Application SDK is a Python library for developing applications on the Atlan Platform"
5
5
  license = "Apache-2.0"
6
6
  authors = [
@@ -0,0 +1,479 @@
1
+ """
2
+ Unit tests for the file_converter module.
3
+
4
+ This module contains comprehensive tests for file conversion functionality,
5
+ covering all conversion types, error handling, and edge cases.
6
+
7
+ Test Case Bucketing and Coverage:
8
+ +--------------------------------+-------------+----------------------------------------+
9
+ | Test Category | Test Count | Coverage Description |
10
+ +--------------------------------+-------------+----------------------------------------+
11
+ | convert_data_files Function | 6 | Main public interface testing |
12
+ | JSON to Parquet Conversion | 4 | Success, error, and edge cases |
13
+ | Parquet to JSON Conversion | 4 | Success, error, and edge cases |
14
+ | Registry Integration | 2 | Converter registry functionality |
15
+ | Edge Cases & Error Handling | 3 | Invalid inputs, unknown conversions |
16
+ +--------------------------------+-------------+----------------------------------------+
17
+ | Total Test Cases | 19 | Comprehensive behavioral coverage |
18
+ +--------------------------------+-------------+----------------------------------------+
19
+
20
+ Key Test Areas:
21
+ • Main conversion workflow through convert_data_files
22
+ • Individual converter function behavior
23
+ • Error handling and recovery
24
+ • File path transformation logic
25
+ • Registry integration and lookup
26
+ """
27
+
28
+ from unittest.mock import MagicMock, Mock, patch
29
+
30
+ import pandas as pd
31
+ import pytest
32
+
33
+ from application_sdk.common.file_converter import (
34
+ ConvertFile,
35
+ FileType,
36
+ convert_data_files,
37
+ convert_json_to_parquet,
38
+ convert_parquet_to_json,
39
+ file_converter_registry,
40
+ )
41
+
42
+ # Only mark async tests individually
43
+
44
+
45
+ class TestConvertDataFiles:
46
+ """Test suite for the main convert_data_files function."""
47
+
48
+ @pytest.mark.asyncio
49
+ async def test_empty_input_list_returns_empty_list(self):
50
+ """Test that empty input list returns empty list."""
51
+ result = await convert_data_files([], FileType.PARQUET)
52
+ assert result == []
53
+
54
+ @pytest.mark.asyncio
55
+ @patch("application_sdk.common.file_converter.file_converter_registry")
56
+ async def test_successful_conversion_single_file(self, mock_registry):
57
+ """Test successful conversion of a single file."""
58
+ # Arrange
59
+ mock_converter = Mock(return_value="/path/output.parquet")
60
+ mock_registry.registry.get.return_value = mock_converter
61
+
62
+ input_files = ["/path/input.json"]
63
+
64
+ # Act
65
+ result = await convert_data_files(input_files, FileType.PARQUET)
66
+
67
+ # Assert
68
+ assert result == ["/path/output.parquet"]
69
+ mock_registry.registry.get.assert_called_once_with(ConvertFile.JSON_TO_PARQUET)
70
+ mock_converter.assert_called_once_with("/path/input.json")
71
+
72
+ @pytest.mark.asyncio
73
+ @patch("application_sdk.common.file_converter.file_converter_registry")
74
+ async def test_successful_conversion_multiple_files(self, mock_registry):
75
+ """Test successful conversion of multiple files."""
76
+ # Arrange
77
+ mock_converter = Mock(
78
+ side_effect=[
79
+ "/path/output1.parquet",
80
+ "/path/output2.parquet",
81
+ "/path/output3.parquet",
82
+ ]
83
+ )
84
+ mock_registry.registry.get.return_value = mock_converter
85
+
86
+ input_files = ["/path/input1.json", "/path/input2.json", "/path/input3.json"]
87
+
88
+ # Act
89
+ result = await convert_data_files(input_files, FileType.PARQUET)
90
+
91
+ # Assert
92
+ assert result == [
93
+ "/path/output1.parquet",
94
+ "/path/output2.parquet",
95
+ "/path/output3.parquet",
96
+ ]
97
+ assert mock_converter.call_count == 3
98
+
99
+ @pytest.mark.asyncio
100
+ @patch("application_sdk.common.file_converter.file_converter_registry")
101
+ async def test_conversion_with_failed_files_skipped(self, mock_registry):
102
+ """Test that files returning None are skipped from results."""
103
+ # Arrange
104
+ mock_converter = Mock(
105
+ side_effect=[
106
+ "/path/output1.parquet",
107
+ None, # Failed conversion
108
+ "/path/output3.parquet",
109
+ ]
110
+ )
111
+ mock_registry.registry.get.return_value = mock_converter
112
+
113
+ input_files = ["/path/input1.json", "/path/input2.json", "/path/input3.json"]
114
+
115
+ # Act
116
+ result = await convert_data_files(input_files, FileType.PARQUET)
117
+
118
+ # Assert
119
+ assert result == ["/path/output1.parquet", "/path/output3.parquet"]
120
+ assert mock_converter.call_count == 3
121
+
122
+ @pytest.mark.asyncio
123
+ async def test_unsupported_conversion_raises_value_error(self):
124
+ """Test that unsupported conversion raises ValueError when ConvertFile enum construction fails."""
125
+ input_files = ["/path/input.xyz"]
126
+
127
+ # Act & Assert - This should raise ValueError when trying to construct ConvertFile enum
128
+ with pytest.raises(ValueError):
129
+ await convert_data_files(input_files, FileType.PARQUET)
130
+
131
+ @pytest.mark.asyncio
132
+ @patch("application_sdk.common.file_converter.file_converter_registry")
133
+ async def test_converter_not_found_error(self, mock_registry):
134
+ """Test that when converter function is None, AttributeError is raised."""
135
+ # Arrange - registry returns None for unknown converter
136
+ mock_registry.registry.get.return_value = None
137
+
138
+ input_files = ["/path/input.json"]
139
+
140
+ # Act & Assert - This should raise AttributeError when trying to call None
141
+ with pytest.raises(TypeError): # calling None() raises TypeError
142
+ await convert_data_files(input_files, FileType.PARQUET)
143
+
144
+ @pytest.mark.asyncio
145
+ @patch("application_sdk.common.file_converter.file_converter_registry")
146
+ async def test_file_extension_detection_from_first_file(self, mock_registry):
147
+ """Test that file extension is detected from the first file in the list."""
148
+ # Arrange
149
+ mock_converter = Mock(return_value="/path/output.json")
150
+ mock_registry.registry.get.return_value = mock_converter
151
+
152
+ # Mixed file types - should use extension from first file
153
+ input_files = ["/path/input.parquet", "/path/input.json"]
154
+
155
+ # Act
156
+ result = await convert_data_files(input_files, FileType.JSON)
157
+
158
+ # Assert - Should look for parquet_to_json converter based on first file
159
+ assert result == ["/path/output.json", "/path/output.json"]
160
+ mock_registry.registry.get.assert_called_once_with(ConvertFile.PARQUET_TO_JSON)
161
+
162
+
163
+ class TestConvertJsonToParquet:
164
+ """Test suite for the convert_json_to_parquet function."""
165
+
166
+ @patch("application_sdk.common.file_converter.pd.read_json")
167
+ def test_successful_json_to_parquet_conversion(self, mock_read_json):
168
+ """Test successful conversion from JSON to Parquet."""
169
+ # Arrange
170
+ mock_df = MagicMock()
171
+ mock_filtered_df = MagicMock()
172
+
173
+ # Mock the column filtering chain: df.loc[:, ~df.where(df.astype(bool)).isna().all(axis=0)]
174
+ mock_df.where.return_value = mock_df
175
+ mock_df.astype.return_value = mock_df
176
+ mock_df.isna.return_value = mock_df
177
+ mock_df.all.return_value = MagicMock()
178
+ mock_df.loc.__getitem__.return_value = mock_filtered_df
179
+
180
+ mock_read_json.return_value = mock_df
181
+
182
+ file_path = "/path/input.json"
183
+ expected_output = "/path/input.parquet"
184
+
185
+ # Act
186
+ result = convert_json_to_parquet(file_path)
187
+
188
+ # Assert
189
+ assert result == expected_output
190
+ mock_read_json.assert_called_once_with(file_path, orient="records", lines=True)
191
+ mock_filtered_df.to_parquet.assert_called_once_with(expected_output)
192
+
193
+ @patch("application_sdk.common.file_converter.pd.read_json")
194
+ def test_json_to_parquet_read_error_returns_none(self, mock_read_json):
195
+ """Test that read errors return None and are logged."""
196
+ # Arrange
197
+ mock_read_json.side_effect = Exception("File read error")
198
+
199
+ file_path = "/path/input.json"
200
+
201
+ # Act
202
+ with patch("application_sdk.common.file_converter.logger.error") as mock_logger:
203
+ result = convert_json_to_parquet(file_path)
204
+
205
+ # Assert
206
+ assert result is None
207
+ mock_logger.assert_called_once()
208
+
209
+ @patch("application_sdk.common.file_converter.pd.read_json")
210
+ def test_json_to_parquet_write_error_returns_none(self, mock_read_json):
211
+ """Test that write errors return None and are logged."""
212
+ # Arrange
213
+ mock_df = MagicMock()
214
+ mock_filtered_df = MagicMock()
215
+
216
+ # Mock the column filtering chain
217
+ mock_df.where.return_value = mock_df
218
+ mock_df.astype.return_value = mock_df
219
+ mock_df.isna.return_value = mock_df
220
+ mock_df.all.return_value = MagicMock()
221
+ mock_df.loc.__getitem__.return_value = mock_filtered_df
222
+
223
+ # Make to_parquet raise an exception
224
+ mock_filtered_df.to_parquet.side_effect = Exception("File write error")
225
+
226
+ mock_read_json.return_value = mock_df
227
+
228
+ file_path = "/path/input.json"
229
+
230
+ # Act
231
+ with patch("application_sdk.common.file_converter.logger.error") as mock_logger:
232
+ result = convert_json_to_parquet(file_path)
233
+
234
+ # Assert
235
+ assert result is None
236
+ mock_logger.assert_called_once()
237
+
238
+ @patch("application_sdk.common.file_converter.pd.read_json")
239
+ def test_json_to_parquet_column_filtering(self, mock_read_json):
240
+ """Test that empty columns are filtered out during conversion."""
241
+ # Arrange
242
+ mock_df = MagicMock()
243
+ mock_filtered_df = MagicMock()
244
+
245
+ # Mock the column filtering chain
246
+ mock_df.where.return_value = mock_df
247
+ mock_df.astype.return_value = mock_df
248
+ mock_df.isna.return_value = mock_df
249
+ mock_df.all.return_value = MagicMock()
250
+ mock_df.loc.__getitem__.return_value = mock_filtered_df
251
+
252
+ mock_read_json.return_value = mock_df
253
+
254
+ file_path = "/path/input.json"
255
+
256
+ # Act
257
+ convert_json_to_parquet(file_path)
258
+
259
+ # Assert
260
+ # Verify that column filtering logic was applied
261
+ mock_df.where.assert_called_once()
262
+ mock_df.astype.assert_called_once_with(bool)
263
+ mock_df.isna.assert_called_once()
264
+ mock_df.all.assert_called_once_with(axis=0)
265
+ mock_filtered_df.to_parquet.assert_called_once()
266
+
267
+
268
+ class TestConvertParquetToJson:
269
+ """Test suite for the convert_parquet_to_json function."""
270
+
271
+ @patch("application_sdk.common.file_converter.pd.read_parquet")
272
+ def test_successful_parquet_to_json_conversion(self, mock_read_parquet):
273
+ """Test successful conversion from Parquet to JSON."""
274
+ # Arrange
275
+ mock_df = MagicMock()
276
+ mock_read_parquet.return_value = mock_df
277
+
278
+ file_path = "/path/input.parquet"
279
+ expected_output = "/path/input.json"
280
+
281
+ # Act
282
+ result = convert_parquet_to_json(file_path)
283
+
284
+ # Assert
285
+ assert result == expected_output
286
+ mock_read_parquet.assert_called_once_with(file_path)
287
+ mock_df.to_json.assert_called_once_with(
288
+ expected_output, orient="records", lines=True
289
+ )
290
+
291
+ @patch("application_sdk.common.file_converter.pd.read_parquet")
292
+ def test_parquet_to_json_read_error_returns_none(self, mock_read_parquet):
293
+ """Test that read errors return None and are logged."""
294
+ # Arrange
295
+ mock_read_parquet.side_effect = Exception("File read error")
296
+
297
+ file_path = "/path/input.parquet"
298
+
299
+ # Act
300
+ with patch("application_sdk.common.file_converter.logger.error") as mock_logger:
301
+ result = convert_parquet_to_json(file_path)
302
+
303
+ # Assert
304
+ assert result is None
305
+ mock_logger.assert_called_once()
306
+
307
+ @patch("application_sdk.common.file_converter.pd.read_parquet")
308
+ def test_parquet_to_json_write_error_returns_none(self, mock_read_parquet):
309
+ """Test that write errors return None and are logged."""
310
+ # Arrange
311
+ mock_df = MagicMock()
312
+ mock_df.to_json.side_effect = Exception("File write error")
313
+ mock_read_parquet.return_value = mock_df
314
+
315
+ file_path = "/path/input.parquet"
316
+
317
+ # Act
318
+ with patch("application_sdk.common.file_converter.logger.error") as mock_logger:
319
+ result = convert_parquet_to_json(file_path)
320
+
321
+ # Assert
322
+ assert result is None
323
+ mock_logger.assert_called_once()
324
+
325
+ @patch("application_sdk.common.file_converter.pd.read_parquet")
326
+ def test_parquet_to_json_proper_parameters(self, mock_read_parquet):
327
+ """Test that JSON is written with correct parameters for line-delimited format."""
328
+ # Arrange
329
+ mock_df = MagicMock()
330
+ mock_read_parquet.return_value = mock_df
331
+
332
+ file_path = "/path/input.parquet"
333
+
334
+ # Act
335
+ convert_parquet_to_json(file_path)
336
+
337
+ # Assert
338
+ mock_df.to_json.assert_called_once_with(
339
+ "/path/input.json", orient="records", lines=True
340
+ )
341
+
342
+
343
+ class TestRegistryIntegration:
344
+ """Test suite for registry integration and converter lookup."""
345
+
346
+ def test_json_to_parquet_registered_in_registry(self):
347
+ """Test that JSON to Parquet converter is properly registered."""
348
+ converter = file_converter_registry.registry.get(ConvertFile.JSON_TO_PARQUET)
349
+ assert converter is not None
350
+ assert converter == convert_json_to_parquet
351
+
352
+ def test_parquet_to_json_registered_in_registry(self):
353
+ """Test that Parquet to JSON converter is properly registered."""
354
+ converter = file_converter_registry.registry.get(ConvertFile.PARQUET_TO_JSON)
355
+ assert converter is not None
356
+ assert converter == convert_parquet_to_json
357
+
358
+
359
+ class TestEdgeCasesAndErrorHandling:
360
+ """Test suite for edge cases and error handling scenarios."""
361
+
362
+ def test_convert_file_enum_construction_with_valid_types(self):
363
+ """Test that ConvertFile enum can be constructed with valid type combinations."""
364
+ # These should work based on defined enums
365
+ json_to_parquet = ConvertFile("json_to_parquet")
366
+ parquet_to_json = ConvertFile("parquet_to_json")
367
+
368
+ assert json_to_parquet == ConvertFile.JSON_TO_PARQUET
369
+ assert parquet_to_json == ConvertFile.PARQUET_TO_JSON
370
+
371
+ def test_convert_file_enum_construction_with_invalid_types(self):
372
+ """Test that ConvertFile enum raises ValueError for unsupported combinations."""
373
+ with pytest.raises(ValueError):
374
+ ConvertFile("csv_to_parquet") # Unsupported conversion
375
+
376
+ with pytest.raises(ValueError):
377
+ ConvertFile("json_to_csv") # Unsupported conversion
378
+
379
+ def test_file_type_enum_values(self):
380
+ """Test that FileType enum has expected values."""
381
+ assert FileType.JSON.value == "json"
382
+ assert FileType.PARQUET.value == "parquet"
383
+
384
+
385
+ class TestFileConverterIntegration:
386
+ """Integration tests using actual files created during test setup."""
387
+
388
+ @pytest.mark.asyncio
389
+ async def test_convert_real_json_to_parquet(self):
390
+ """Test converting an actual JSON file to Parquet format."""
391
+ import tempfile
392
+ from pathlib import Path
393
+
394
+ # Arrange - Create a temporary JSON file with test data
395
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".json", delete=False) as f:
396
+ # Write line-delimited JSON as expected by the converter
397
+ f.write(
398
+ '{"id": 1, "name": "Alice", "age": 30, "city": "New York", "active": true}\n'
399
+ )
400
+ f.write(
401
+ '{"id": 2, "name": "Bob", "age": 25, "city": "San Francisco", "active": false}\n'
402
+ )
403
+ f.write(
404
+ '{"id": 3, "name": "Charlie", "age": 35, "city": "Chicago", "active": true}\n'
405
+ )
406
+ json_file_path = f.name
407
+
408
+ try:
409
+ # Act - Convert JSON to Parquet
410
+ result = await convert_data_files([json_file_path], FileType.PARQUET)
411
+
412
+ # Assert - Check conversion succeeded
413
+ assert len(result) == 1
414
+ parquet_file = Path(result[0])
415
+ assert parquet_file.exists()
416
+ assert parquet_file.suffix == ".parquet"
417
+
418
+ # Verify parquet file has data by reading it back
419
+ df = pd.read_parquet(parquet_file)
420
+ assert len(df) == 3 # Should have 3 rows from JSON
421
+ assert "id" in df.columns
422
+ assert "name" in df.columns
423
+ expected_names = {"Alice", "Bob", "Charlie"}
424
+ actual_names = set(df["name"].values)
425
+ assert actual_names == expected_names
426
+
427
+ # Cleanup converted file
428
+ parquet_file.unlink()
429
+
430
+ finally:
431
+ # Cleanup original file
432
+ Path(json_file_path).unlink()
433
+
434
+ @pytest.mark.asyncio
435
+ async def test_convert_real_parquet_to_json(self):
436
+ """Test converting an actual Parquet file to JSON format."""
437
+ import tempfile
438
+ from pathlib import Path
439
+
440
+ # Arrange - Create a temporary Parquet file with test data
441
+ data = {
442
+ "id": [10, 20, 30],
443
+ "product": ["Laptop", "Mouse", "Keyboard"],
444
+ "price": [999.99, 29.99, 79.99],
445
+ "in_stock": [True, False, True],
446
+ }
447
+ df = pd.DataFrame(data)
448
+
449
+ with tempfile.NamedTemporaryFile(suffix=".parquet", delete=False) as f:
450
+ parquet_file_path = f.name
451
+
452
+ # Save DataFrame to the temporary parquet file
453
+ df.to_parquet(parquet_file_path, index=False)
454
+
455
+ try:
456
+ # Act - Convert Parquet to JSON
457
+ result = await convert_data_files([parquet_file_path], FileType.JSON)
458
+
459
+ # Assert - Check conversion succeeded
460
+ assert len(result) == 1
461
+ json_file = Path(result[0])
462
+ assert json_file.exists()
463
+ assert json_file.suffix == ".json"
464
+
465
+ # Verify JSON file has data by reading it back
466
+ df_result = pd.read_json(json_file, orient="records", lines=True)
467
+ assert len(df_result) == 3 # Should have 3 rows from Parquet
468
+ assert "id" in df_result.columns
469
+ assert "product" in df_result.columns
470
+ expected_products = {"Laptop", "Mouse", "Keyboard"}
471
+ actual_products = set(df_result["product"].values)
472
+ assert actual_products == expected_products
473
+
474
+ # Cleanup converted file
475
+ json_file.unlink()
476
+
477
+ finally:
478
+ # Cleanup original file
479
+ Path(parquet_file_path).unlink()