atlan-application-sdk 0.1.1rc42__tar.gz → 0.1.1rc44__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 (419) hide show
  1. atlan_application_sdk-0.1.1rc44/.github/release_notes.md +7 -0
  2. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/CHANGELOG.md +22 -0
  3. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/PKG-INFO +1 -1
  4. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/metadata_extraction/sql.py +9 -35
  5. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/query_extraction/sql.py +0 -2
  6. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/inputs/parquet.py +15 -3
  7. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/inputs/sql_query.py +2 -2
  8. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/interceptors/cleanup.py +0 -1
  9. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/outputs/__init__.py +176 -12
  10. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/outputs/json.py +57 -181
  11. atlan_application_sdk-0.1.1rc44/application_sdk/outputs/parquet.py +469 -0
  12. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/services/objectstore.py +12 -6
  13. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/services/statestore.py +19 -22
  14. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/query/__init__.py +1 -1
  15. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/version.py +1 -1
  16. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/workflows/metadata_extraction/sql.py +5 -4
  17. atlan_application_sdk-0.1.1rc44/docs/docs/configuration.md +153 -0
  18. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/pyproject.toml +1 -1
  19. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/activities/metadata_extraction/test_sql.py +13 -1
  20. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/common/test_credential_utils.py +19 -2
  21. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/inputs/test_base_input.py +4 -1
  22. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/inputs/test_parquet.py +72 -29
  23. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/outputs/test_json_output.py +3 -1
  24. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/outputs/test_output.py +10 -3
  25. atlan_application_sdk-0.1.1rc44/tests/unit/outputs/test_parquet_output.py +1133 -0
  26. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/services/test_objectstore.py +110 -0
  27. atlan_application_sdk-0.1.1rc44/tests/unit/services/test_statestore.py +229 -0
  28. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/workflows/metadata_extraction/test_sql_workflow.py +11 -10
  29. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/uv.lock +1 -1
  30. atlan_application_sdk-0.1.1rc42/.github/release_notes.md +0 -7
  31. atlan_application_sdk-0.1.1rc42/application_sdk/outputs/parquet.py +0 -400
  32. atlan_application_sdk-0.1.1rc42/docs/docs/configuration.md +0 -105
  33. atlan_application_sdk-0.1.1rc42/tests/unit/outputs/test_parquet_output.py +0 -479
  34. atlan_application_sdk-0.1.1rc42/tests/unit/services/test_statestore.py +0 -87
  35. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.cursor/BUGBOT.md +0 -0
  36. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.cursor/rules/documentation.mdc +0 -0
  37. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.cursor/rules/exception-handling.mdc +0 -0
  38. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.cursor/rules/guidelines.mdc +0 -0
  39. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.cursor/rules/logging.mdc +0 -0
  40. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.cursor/rules/performance.mdc +0 -0
  41. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.cursor/rules/setup.mdc +0 -0
  42. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.cursor/rules/standards.mdc +0 -0
  43. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.cursor/rules/testing.mdc +0 -0
  44. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.env.example +0 -0
  45. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/CODEOWNERS +0 -0
  46. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  47. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
  48. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  49. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/docgen/action.yaml +0 -0
  50. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/doclint/action.yaml +0 -0
  51. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/docstring-coverage/action.yaml +0 -0
  52. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/e2e-apps/action.yaml +0 -0
  53. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/e2e-examples/action.yaml +0 -0
  54. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/setup-deps/action.yaml +0 -0
  55. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/sync-branches/action.yaml +0 -0
  56. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/trivy/action.yaml +0 -0
  57. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/trivy-container/action.yaml +0 -0
  58. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/actions/unit-tests/action.yaml +0 -0
  59. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/dependabot.yaml +0 -0
  60. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/pull_request_template.md +0 -0
  61. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/scripts/extract_release_notes.py +0 -0
  62. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/scripts/pre_release.py +0 -0
  63. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/scripts/release.py +0 -0
  64. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/scripts/trivy-to-markdown.py +0 -0
  65. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/scripts/update_changelog.py +0 -0
  66. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/AMPM.yml +0 -0
  67. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Accessibility.yml +0 -0
  68. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Acronyms.yml +0 -0
  69. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Adverbs.yml +0 -0
  70. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Auto.yml +0 -0
  71. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Avoid.yml +0 -0
  72. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Contractions.yml +0 -0
  73. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Dashes.yml +0 -0
  74. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/DateFormat.yml +0 -0
  75. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/DateNumbers.yml +0 -0
  76. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/DateOrder.yml +0 -0
  77. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Ellipses.yml +0 -0
  78. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/FirstPerson.yml +0 -0
  79. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Foreign.yml +0 -0
  80. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Gender.yml +0 -0
  81. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/GenderBias.yml +0 -0
  82. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/GeneralURL.yml +0 -0
  83. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
  84. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/HeadingColons.yml +0 -0
  85. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
  86. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Headings.yml +0 -0
  87. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Hyphens.yml +0 -0
  88. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Negative.yml +0 -0
  89. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Ordinal.yml +0 -0
  90. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/OxfordComma.yml +0 -0
  91. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Passive.yml +0 -0
  92. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Percentages.yml +0 -0
  93. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Plurals.yml +0 -0
  94. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Quotes.yml +0 -0
  95. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/RangeTime.yml +0 -0
  96. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Semicolon.yml +0 -0
  97. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/SentenceLength.yml +0 -0
  98. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Spacing.yml +0 -0
  99. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Suspended.yml +0 -0
  100. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Terms.yml +0 -0
  101. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/URLFormat.yml +0 -0
  102. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Units.yml +0 -0
  103. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Vocab.yml +0 -0
  104. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/We.yml +0 -0
  105. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/Wordiness.yml +0 -0
  106. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/Microsoft/meta.json +0 -0
  107. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
  108. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
  109. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/checks.properties.json +0 -0
  110. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/checks.yaml +0 -0
  111. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/codeql.properties.json +0 -0
  112. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/codeql.yaml +0 -0
  113. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/dependency-review.properties.json +0 -0
  114. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/dependency-review.yml +0 -0
  115. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/stale.properties.json +0 -0
  116. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/stale.yml +0 -0
  117. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/trivy-container.properties.json +0 -0
  118. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/trivy-container.yaml +0 -0
  119. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/trivy.properties.json +0 -0
  120. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflow-templates/trivy.yaml +0 -0
  121. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/codeql.yaml +0 -0
  122. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/pre-release.yaml +0 -0
  123. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/pull_request.yaml +0 -0
  124. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/push.yaml +0 -0
  125. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/release.yaml.disabled +0 -0
  126. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/scale-tests.yaml +0 -0
  127. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/schedule.yaml +0 -0
  128. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/tag-and-publish.yaml +0 -0
  129. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/trivy-container.yaml +0 -0
  130. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.github/workflows/verify-snyk-status.yml +0 -0
  131. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.gitignore +0 -0
  132. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.pre-commit-config.yaml +0 -0
  133. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/.vscode/launch.json +0 -0
  134. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/CODE_OF_CONDUCT.md +0 -0
  135. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/CONTRIBUTING.md +0 -0
  136. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/LICENSE +0 -0
  137. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/NOTICE +0 -0
  138. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/README.md +0 -0
  139. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/SECURITY.md +0 -0
  140. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/__init__.py +0 -0
  141. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/.cursor/BUGBOT.md +0 -0
  142. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/__init__.py +0 -0
  143. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/common/__init__.py +0 -0
  144. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/common/models.py +0 -0
  145. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/common/utils.py +0 -0
  146. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/lock_management.py +0 -0
  147. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
  148. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/metadata_extraction/base.py +0 -0
  149. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/metadata_extraction/rest.py +0 -0
  150. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/activities/query_extraction/__init__.py +0 -0
  151. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/application/__init__.py +0 -0
  152. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/application/metadata_extraction/sql.py +0 -0
  153. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/.cursor/BUGBOT.md +0 -0
  154. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/__init__.py +0 -0
  155. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/atlan.py +0 -0
  156. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/atlan_auth.py +0 -0
  157. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/base.py +0 -0
  158. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/models.py +0 -0
  159. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/redis.py +0 -0
  160. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/sql.py +0 -0
  161. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/temporal.py +0 -0
  162. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/utils.py +0 -0
  163. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/clients/workflow.py +0 -0
  164. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/common/.cursor/BUGBOT.md +0 -0
  165. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/common/__init__.py +0 -0
  166. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/common/aws_utils.py +0 -0
  167. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/common/dapr_utils.py +0 -0
  168. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/common/dataframe_utils.py +0 -0
  169. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/common/error_codes.py +0 -0
  170. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/common/utils.py +0 -0
  171. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/constants.py +0 -0
  172. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/decorators/.cursor/BUGBOT.md +0 -0
  173. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/decorators/__init__.py +0 -0
  174. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/decorators/locks.py +0 -0
  175. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/__init__.py +0 -0
  176. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/exporters/__init__.py +0 -0
  177. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/exporters/mkdocs.py +0 -0
  178. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/models/__init__.py +0 -0
  179. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/models/export/__init__.py +0 -0
  180. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/models/export/page.py +0 -0
  181. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/models/manifest/__init__.py +0 -0
  182. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/models/manifest/customer.py +0 -0
  183. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/models/manifest/internal.py +0 -0
  184. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/models/manifest/metadata.py +0 -0
  185. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/models/manifest/page.py +0 -0
  186. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/models/manifest/section.py +0 -0
  187. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/parsers/__init__.py +0 -0
  188. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/parsers/directory.py +0 -0
  189. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/docgen/parsers/manifest.py +0 -0
  190. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/events/__init__.py +0 -0
  191. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/events/models.py +0 -0
  192. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/handlers/__init__.py +0 -0
  193. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/handlers/base.py +0 -0
  194. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/handlers/sql.py +0 -0
  195. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/inputs/.cursor/BUGBOT.md +0 -0
  196. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/inputs/__init__.py +0 -0
  197. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/inputs/iceberg.py +0 -0
  198. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/inputs/json.py +0 -0
  199. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/interceptors/.cursor/BUGBOT.md +0 -0
  200. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/interceptors/__init__.py +0 -0
  201. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/interceptors/events.py +0 -0
  202. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/interceptors/lock.py +0 -0
  203. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/observability/__init__.py +0 -0
  204. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/observability/decorators/observability_decorator.py +0 -0
  205. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/observability/logger_adaptor.py +0 -0
  206. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/observability/metrics_adaptor.py +0 -0
  207. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/observability/observability.py +0 -0
  208. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/observability/traces_adaptor.py +0 -0
  209. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/observability/utils.py +0 -0
  210. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/outputs/.cursor/BUGBOT.md +0 -0
  211. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/outputs/iceberg.py +0 -0
  212. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/server/.cursor/BUGBOT.md +0 -0
  213. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/server/__init__.py +0 -0
  214. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/server/fastapi/__init__.py +0 -0
  215. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
  216. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
  217. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/server/fastapi/models.py +0 -0
  218. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/server/fastapi/routers/__init__.py +0 -0
  219. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/server/fastapi/routers/server.py +0 -0
  220. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/server/fastapi/utils.py +0 -0
  221. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/services/__init__.py +0 -0
  222. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/services/atlan_storage.py +0 -0
  223. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/services/eventstore.py +0 -0
  224. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/services/secretstore.py +0 -0
  225. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/__init__.py +0 -0
  226. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/e2e/__init__.py +0 -0
  227. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/e2e/base.py +0 -0
  228. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/e2e/client.py +0 -0
  229. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/e2e/conftest.py +0 -0
  230. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/e2e/utils.py +0 -0
  231. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
  232. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
  233. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
  234. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
  235. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
  236. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
  237. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
  238. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
  239. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
  240. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
  241. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
  242. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
  243. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
  244. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
  245. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
  246. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
  247. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
  248. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
  249. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
  250. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
  251. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
  252. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
  253. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
  254. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
  255. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
  256. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
  257. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
  258. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
  259. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
  260. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
  261. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
  262. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/test_utils/workflow_monitoring.py +0 -0
  263. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/__init__.py +0 -0
  264. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/atlas/__init__.py +0 -0
  265. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/atlas/sql.py +0 -0
  266. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/common/__init__.py +0 -0
  267. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/common/utils.py +0 -0
  268. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/query/templates/column.yaml +0 -0
  269. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/query/templates/database.yaml +0 -0
  270. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
  271. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/query/templates/function.yaml +0 -0
  272. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/query/templates/schema.yaml +0 -0
  273. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/query/templates/table.yaml +0 -0
  274. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
  275. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/worker.py +0 -0
  276. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/workflows/.cursor/BUGBOT.md +0 -0
  277. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/workflows/__init__.py +0 -0
  278. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
  279. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/workflows/query_extraction/__init__.py +0 -0
  280. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/application_sdk/workflows/query_extraction/sql.py +0 -0
  281. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/components/README.md +0 -0
  282. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/components/atlan-storage.yaml +0 -0
  283. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/components/aws-secrets.yaml +0 -0
  284. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/components/deployment-secrets.yaml +0 -0
  285. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/components/eventstore.yaml +0 -0
  286. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/components/objectstore.yaml +0 -0
  287. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/components/secretstore.yaml +0 -0
  288. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/components/statestore.yaml +0 -0
  289. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/activities.md +0 -0
  290. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/application.md +0 -0
  291. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/application_sql.md +0 -0
  292. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/atlanupload.md +0 -0
  293. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/clients.md +0 -0
  294. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/common.md +0 -0
  295. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/handlers.md +0 -0
  296. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/inputs.md +0 -0
  297. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/output_paths.md +0 -0
  298. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/outputs.md +0 -0
  299. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/server.md +0 -0
  300. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/services.md +0 -0
  301. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/temporal_auth.md +0 -0
  302. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/worker.md +0 -0
  303. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/concepts/workflows.md +0 -0
  304. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/guides/architecture.md +0 -0
  305. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/guides/atlantis.md +0 -0
  306. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/guides/best-practices.md +0 -0
  307. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/guides/getting-started.md +0 -0
  308. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/guides/index.md +0 -0
  309. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/guides/partners.md +0 -0
  310. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/guides/secretstores.md +0 -0
  311. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/guides/sql-application-guide.md +0 -0
  312. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/guides/test-framework.md +0 -0
  313. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/index.md +0 -0
  314. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/setup/LINUX.md +0 -0
  315. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/setup/MAC.md +0 -0
  316. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/setup/WINDOWS.md +0 -0
  317. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/setup/troubleshooting.md +0 -0
  318. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/static/assets/logo.svg +0 -0
  319. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
  320. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/static/javascripts/mathjax.js +0 -0
  321. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/docs/static/stylesheets/extra.css +0 -0
  322. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/docs/mkdocs.yml +0 -0
  323. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/README.md +0 -0
  324. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/application_custom_fastapi.py +0 -0
  325. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/application_fastapi.py +0 -0
  326. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/application_hello_world.py +0 -0
  327. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/application_sql.py +0 -0
  328. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/application_sql_miner.py +0 -0
  329. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
  330. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/application_sql_with_custom_transformer.py +0 -0
  331. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/run_examples.py +0 -0
  332. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/examples/sql_query_templates/database.yaml +0 -0
  333. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/.cursor/BUGBOT.md +0 -0
  334. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/__init__.py +0 -0
  335. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/conftest.py +0 -0
  336. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/__init__.py +0 -0
  337. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/activities/__init__.py +0 -0
  338. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/activities/common/__init__.py +0 -0
  339. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/activities/common/test_utils.py +0 -0
  340. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
  341. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/activities/query_extraction/__init__.py +0 -0
  342. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/activities/test_activities.py +0 -0
  343. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/activities/test_lock_management.py +0 -0
  344. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/application/__init__.py +0 -0
  345. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
  346. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/application/test_application.py +0 -0
  347. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/clients/__init__.py +0 -0
  348. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/clients/test_async_sql_client.py +0 -0
  349. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/clients/test_atlan_auth.py +0 -0
  350. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/clients/test_atlan_client.py +0 -0
  351. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/clients/test_atlanauth.py +0 -0
  352. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/clients/test_base_client.py +0 -0
  353. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/clients/test_redis_client.py +0 -0
  354. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/clients/test_sql_client.py +0 -0
  355. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/clients/test_temporal_client.py +0 -0
  356. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/common/test_aws_utils.py +0 -0
  357. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/common/test_utils.py +0 -0
  358. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/common/test_utils_file_discovery.py +0 -0
  359. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
  360. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
  361. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/__init__.py +0 -0
  362. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/sql/test_auth.py +0 -0
  363. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
  364. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
  365. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/sql/test_metadata.py +0 -0
  366. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
  367. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
  368. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/sql/test_tables_check.py +0 -0
  369. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
  370. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/handlers/test_base_handler.py +0 -0
  371. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/inputs/test_json.py +0 -0
  372. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/observability/__init__.py +0 -0
  373. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/observability/test_logger_adaptor.py +0 -0
  374. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/observability/test_metrics_adaptor.py +0 -0
  375. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/observability/test_traces_adaptor.py +0 -0
  376. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/outputs/test_iceberg.py +0 -0
  377. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/server/__init__.py +0 -0
  378. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/server/fastapi/routers/__init__.py +0 -0
  379. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/server/fastapi/routers/server.py +0 -0
  380. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/server/fastapi/test_fastapi.py +0 -0
  381. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/services/test_atlan_storage.py +0 -0
  382. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/services/test_eventstore.py +0 -0
  383. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/test_worker.py +0 -0
  384. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/__init__.py +0 -0
  385. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/__init__.py +0 -0
  386. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
  387. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
  388. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
  389. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
  390. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
  391. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
  392. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
  393. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
  394. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
  395. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
  396. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
  397. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
  398. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/test_column.py +0 -0
  399. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/test_database.py +0 -0
  400. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/test_function.py +0 -0
  401. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/test_procedure.py +0 -0
  402. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/test_schema.py +0 -0
  403. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/atlas/test_table.py +0 -0
  404. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/raw/column.json +0 -0
  405. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/raw/database.json +0 -0
  406. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
  407. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/raw/function.json +0 -0
  408. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
  409. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/raw/table.json +0 -0
  410. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
  411. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
  412. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
  413. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
  414. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
  415. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
  416. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
  417. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
  418. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/workflows/query_extraction/__init__.py +0 -0
  419. {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc44}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
@@ -0,0 +1,7 @@
1
+ ## v0.1.1rc44 (September 17, 2025)
2
+
3
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc43...v0.1.1rc44
4
+
5
+ ### Bug Fixes
6
+
7
+ - memory management issues with readers and writers (#700) (by @Nishchith Shetty in [af77ed9](https://github.com/atlanhq/application-sdk/commit/af77ed9))
@@ -1,6 +1,28 @@
1
1
  # Changelog
2
2
 
3
3
 
4
+ ## v0.1.1rc44 (September 17, 2025)
5
+
6
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc43...v0.1.1rc44
7
+
8
+ ### Bug Fixes
9
+
10
+ - memory management issues with readers and writers (#700) (by @Nishchith Shetty in [af77ed9](https://github.com/atlanhq/application-sdk/commit/af77ed9))
11
+
12
+ ## v0.1.1rc43 (September 16, 2025)
13
+
14
+ Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc42...v0.1.1rc43
15
+
16
+ ### Features
17
+
18
+ - update configuration documentation with comprehensive constant descriptions and use cases (#646) (by @Nishchith Shetty in [6f91796](https://github.com/atlanhq/application-sdk/commit/6f91796))
19
+
20
+ ### Bug Fixes
21
+
22
+ - file not found exception across cloud providers, suppress logs in case of upsert (#702) (by @Nishchith Shetty in [0089c5f](https://github.com/atlanhq/application-sdk/commit/0089c5f))
23
+
24
+
25
+
4
26
  ## v0.1.1rc42 (September 15, 2025)
5
27
 
6
28
  Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc41...v0.1.1rc42
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atlan-application-sdk
3
- Version: 0.1.1rc42
3
+ Version: 0.1.1rc44
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
@@ -2,10 +2,8 @@ import os
2
2
  from typing import (
3
3
  TYPE_CHECKING,
4
4
  Any,
5
- AsyncGenerator,
6
5
  AsyncIterator,
7
6
  Dict,
8
- Generator,
9
7
  Iterator,
10
8
  List,
11
9
  Optional,
@@ -368,9 +366,9 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
368
366
  "Output prefix and path must be specified in workflow_args."
369
367
  )
370
368
  return ParquetOutput(
371
- output_prefix=output_prefix,
372
369
  output_path=output_path,
373
370
  output_suffix=output_suffix,
371
+ use_consolidation=True,
374
372
  )
375
373
 
376
374
  def _get_temp_table_regex_sql(self, typename: str) -> str:
@@ -553,7 +551,7 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
553
551
  )
554
552
 
555
553
  # Execute using helper method
556
- success, batched_iter = await self._execute_single_db(
554
+ success, batched_iterator = await self._execute_single_db(
557
555
  effective_sql_client.engine,
558
556
  prepared_query,
559
557
  parquet_output,
@@ -570,12 +568,12 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
570
568
  logger.warning(
571
569
  f"Failed to process database '{database_name}': {str(e)}. Skipping to next database."
572
570
  )
573
- success, batched_iter = False, None
571
+ success, batched_iterator = False, None
574
572
 
575
573
  if success:
576
574
  successful_databases.append(database_name)
577
- if not write_to_file and batched_iter:
578
- dataframe_list.append(batched_iter)
575
+ if not write_to_file and batched_iterator:
576
+ dataframe_list.append(batched_iterator)
579
577
  else:
580
578
  failed_databases.append(database_name)
581
579
 
@@ -615,37 +613,13 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
615
613
 
616
614
  try:
617
615
  sql_input = SQLQueryInput(engine=sql_engine, query=prepared_query)
618
- batched_iter = await sql_input.get_batched_dataframe()
616
+ batched_iterator = await sql_input.get_batched_dataframe()
619
617
 
620
618
  if write_to_file and parquet_output:
621
- # Wrap iterator into a proper (async)generator for type safety
622
- if hasattr(batched_iter, "__anext__"):
623
-
624
- async def _to_async_gen(
625
- it: AsyncIterator["pd.DataFrame"],
626
- ) -> AsyncGenerator["pd.DataFrame", None]:
627
- async for item in it:
628
- yield item
629
-
630
- wrapped: AsyncGenerator["pd.DataFrame", None] = _to_async_gen( # type: ignore
631
- batched_iter # type: ignore
632
- )
633
- await parquet_output.write_batched_dataframe(wrapped)
634
- else:
635
-
636
- def _to_gen(
637
- it: Iterator["pd.DataFrame"],
638
- ) -> Generator["pd.DataFrame", None, None]:
639
- for item in it:
640
- yield item
641
-
642
- wrapped_sync: Generator["pd.DataFrame", None, None] = _to_gen( # type: ignore
643
- batched_iter # type: ignore
644
- )
645
- await parquet_output.write_batched_dataframe(wrapped_sync)
619
+ await parquet_output.write_batched_dataframe(batched_iterator) # type: ignore
646
620
  return True, None
647
621
 
648
- return True, batched_iter
622
+ return True, batched_iterator
649
623
  except Exception as e:
650
624
  logger.error(
651
625
  f"Error during query execution or output writing: {e}", exc_info=True
@@ -863,10 +837,10 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
863
837
  file_names=workflow_args.get("file_names"),
864
838
  )
865
839
  raw_input = raw_input.get_batched_daft_dataframe()
840
+
866
841
  transformed_output = JsonOutput(
867
842
  output_path=output_path,
868
843
  output_suffix="transformed",
869
- output_prefix=output_prefix,
870
844
  typename=typename,
871
845
  chunk_start=workflow_args.get("chunk_start"),
872
846
  )
@@ -210,7 +210,6 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
210
210
  sql_input = await sql_input.get_dataframe()
211
211
 
212
212
  raw_output = ParquetOutput(
213
- output_prefix=workflow_args["output_prefix"],
214
213
  output_path=workflow_args["output_path"],
215
214
  output_suffix="raw/query",
216
215
  chunk_size=workflow_args["miner_args"].get("chunk_size", 100000),
@@ -218,7 +217,6 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
218
217
  end_marker=workflow_args["end_marker"],
219
218
  )
220
219
  await raw_output.write_dataframe(sql_input)
221
-
222
220
  logger.info(
223
221
  f"Query fetch completed, {raw_output.total_record_count} records processed",
224
222
  )
@@ -22,6 +22,7 @@ class ParquetInput(Input):
22
22
  self,
23
23
  path: str,
24
24
  chunk_size: int = 100000,
25
+ buffer_size: int = 5000,
25
26
  file_names: Optional[List[str]] = None,
26
27
  ):
27
28
  """Initialize the Parquet input class.
@@ -32,6 +33,7 @@ class ParquetInput(Input):
32
33
  local path or object store path
33
34
  Wildcards are not supported.
34
35
  chunk_size (int): Number of rows per batch. Defaults to 100000.
36
+ buffer_size (int): Number of rows per batch. Defaults to 5000.
35
37
  file_names (Optional[List[str]]): List of file names to read. Defaults to None.
36
38
 
37
39
  Raises:
@@ -47,6 +49,7 @@ class ParquetInput(Input):
47
49
 
48
50
  self.path = path
49
51
  self.chunk_size = chunk_size
52
+ self.buffer_size = buffer_size
50
53
  self.file_names = file_names
51
54
 
52
55
  async def get_dataframe(self) -> "pd.DataFrame":
@@ -249,9 +252,18 @@ class ParquetInput(Input):
249
252
  parquet_files = await self.download_files()
250
253
  logger.info(f"Reading {len(parquet_files)} parquet files as daft batches")
251
254
 
252
- # Yield each discovered file as separate batch
253
- for parquet_file in parquet_files:
254
- yield daft.read_parquet(parquet_file)
255
+ # Create a lazy dataframe without loading data into memory
256
+ lazy_df = daft.read_parquet(parquet_files)
257
+
258
+ # Get total count efficiently
259
+ total_rows = lazy_df.count_rows()
260
+
261
+ # Yield chunks without loading everything into memory
262
+ for offset in range(0, total_rows, self.buffer_size):
263
+ chunk = lazy_df.offset(offset).limit(self.buffer_size)
264
+ yield chunk
265
+
266
+ del lazy_df
255
267
 
256
268
  except Exception as error:
257
269
  logger.error(
@@ -34,7 +34,7 @@ class SQLQueryInput(Input):
34
34
  self,
35
35
  query: str,
36
36
  engine: Union["Engine", str],
37
- chunk_size: Optional[int] = 100000,
37
+ chunk_size: Optional[int] = 5000,
38
38
  ):
39
39
  """Initialize the async SQL query input handler.
40
40
 
@@ -42,7 +42,7 @@ class SQLQueryInput(Input):
42
42
  engine (Union[Engine, str]): SQLAlchemy engine or connection string.
43
43
  query (str): The SQL query to execute.
44
44
  chunk_size (Optional[int], optional): Number of rows per batch.
45
- Defaults to 100000.
45
+ Defaults to 5000.
46
46
  """
47
47
  self.query = query
48
48
  self.engine = engine
@@ -114,7 +114,6 @@ class CleanupWorkflowInboundInterceptor(WorkflowInboundInterceptor):
114
114
  retry_policy=RetryPolicy(
115
115
  maximum_attempts=3,
116
116
  ),
117
- summary="This activity is used to cleanup the local artifacts and the activity state after the workflow is completed.",
118
117
  )
119
118
 
120
119
  logger.info("Cleanup completed successfully")
@@ -4,8 +4,11 @@ This module provides base classes and utilities for handling various types of da
4
4
  in the application, including file outputs and object store interactions.
5
5
  """
6
6
 
7
+ import gc
7
8
  import inspect
9
+ import os
8
10
  from abc import ABC, abstractmethod
11
+ from enum import Enum
9
12
  from typing import (
10
13
  TYPE_CHECKING,
11
14
  Any,
@@ -13,7 +16,6 @@ from typing import (
13
16
  Dict,
14
17
  Generator,
15
18
  List,
16
- Literal,
17
19
  Optional,
18
20
  Union,
19
21
  cast,
@@ -26,6 +28,7 @@ from application_sdk.activities.common.models import ActivityStatistics
26
28
  from application_sdk.activities.common.utils import get_object_store_prefix
27
29
  from application_sdk.common.dataframe_utils import is_empty_dataframe
28
30
  from application_sdk.observability.logger_adaptor import get_logger
31
+ from application_sdk.observability.metrics_adaptor import MetricType
29
32
  from application_sdk.services.objectstore import ObjectStore
30
33
 
31
34
  logger = get_logger(__name__)
@@ -36,6 +39,14 @@ if TYPE_CHECKING:
36
39
  import pandas as pd
37
40
 
38
41
 
42
+ class WriteMode(Enum):
43
+ """Enumeration of write modes for output operations."""
44
+
45
+ APPEND = "append"
46
+ OVERWRITE = "overwrite"
47
+ OVERWRITE_PARTITIONS = "overwrite-partitions"
48
+
49
+
39
50
  class Output(ABC):
40
51
  """Abstract base class for output handlers.
41
52
 
@@ -53,11 +64,13 @@ class Output(ABC):
53
64
  output_prefix: str
54
65
  total_record_count: int
55
66
  chunk_count: int
56
- statistics: List[int] = []
67
+ buffer_size: int
68
+ max_file_size_bytes: int
69
+ current_buffer_size: int
70
+ current_buffer_size_bytes: int
71
+ partitions: List[int]
57
72
 
58
- def estimate_dataframe_file_size(
59
- self, dataframe: "pd.DataFrame", file_type: Literal["json", "parquet"]
60
- ) -> int:
73
+ def estimate_dataframe_record_size(self, dataframe: "pd.DataFrame") -> int:
61
74
  """Estimate File size of a DataFrame by sampling a few records."""
62
75
  if len(dataframe) == 0:
63
76
  return 0
@@ -65,16 +78,47 @@ class Output(ABC):
65
78
  # Sample up to 10 records to estimate average size
66
79
  sample_size = min(10, len(dataframe))
67
80
  sample = dataframe.head(sample_size)
81
+ file_type = type(self).__name__.lower().replace("output", "")
82
+ compression_factor = 1
68
83
  if file_type == "json":
69
84
  sample_file = sample.to_json(orient="records", lines=True)
70
85
  else:
71
86
  sample_file = sample.to_parquet(index=False, compression="snappy")
87
+ compression_factor = 0.01
72
88
  if sample_file is not None:
73
- avg_record_size = len(sample_file) / sample_size
74
- return int(avg_record_size * len(dataframe))
89
+ avg_record_size = len(sample_file) / sample_size * compression_factor
90
+ return int(avg_record_size)
75
91
 
76
92
  return 0
77
93
 
94
+ def path_gen(
95
+ self,
96
+ chunk_count: Optional[int] = None,
97
+ chunk_part: int = 0,
98
+ start_marker: Optional[str] = None,
99
+ end_marker: Optional[str] = None,
100
+ ) -> str:
101
+ """Generate a file path for a chunk.
102
+
103
+ Args:
104
+ chunk_start (Optional[int]): Starting index of the chunk, or None for single chunk.
105
+ chunk_count (int): Total number of chunks.
106
+ start_marker (Optional[str]): Start marker for query extraction.
107
+ end_marker (Optional[str]): End marker for query extraction.
108
+
109
+ Returns:
110
+ str: Generated file path for the chunk.
111
+ """
112
+ # For Query Extraction - use start and end markers without chunk count
113
+ if start_marker and end_marker:
114
+ return f"{start_marker}_{end_marker}{self._EXTENSION}"
115
+
116
+ # For regular chunking - include chunk count
117
+ if chunk_count is None:
118
+ return f"{str(chunk_part)}{self._EXTENSION}"
119
+ else:
120
+ return f"chunk-{str(chunk_count)}-part{str(chunk_part)}{self._EXTENSION}"
121
+
78
122
  def process_null_fields(
79
123
  self,
80
124
  obj: Any,
@@ -146,15 +190,86 @@ class Output(ABC):
146
190
  await self.write_dataframe(dataframe)
147
191
  except Exception as e:
148
192
  logger.error(f"Error writing batched dataframe: {str(e)}")
193
+ raise
149
194
 
150
- @abstractmethod
151
195
  async def write_dataframe(self, dataframe: "pd.DataFrame"):
152
- """Write a pandas DataFrame to the output destination.
196
+ """Write a pandas DataFrame to Parquet files and upload to object store.
153
197
 
154
198
  Args:
155
199
  dataframe (pd.DataFrame): The DataFrame to write.
156
200
  """
157
- pass
201
+ try:
202
+ if self.chunk_start is None:
203
+ self.chunk_part = 0
204
+ if len(dataframe) == 0:
205
+ return
206
+
207
+ chunk_size_bytes = self.estimate_dataframe_record_size(dataframe)
208
+
209
+ for i in range(0, len(dataframe), self.buffer_size):
210
+ chunk = dataframe[i : i + self.buffer_size]
211
+
212
+ if (
213
+ self.current_buffer_size_bytes + chunk_size_bytes
214
+ > self.max_file_size_bytes
215
+ ):
216
+ output_file_name = f"{self.output_path}/{self.path_gen(self.chunk_count, self.chunk_part)}"
217
+ if os.path.exists(output_file_name):
218
+ await self._upload_file(output_file_name)
219
+ self.chunk_part += 1
220
+
221
+ self.current_buffer_size += len(chunk)
222
+ self.current_buffer_size_bytes += chunk_size_bytes * len(chunk)
223
+ await self._flush_buffer(chunk, self.chunk_part)
224
+
225
+ del chunk
226
+ gc.collect()
227
+
228
+ if self.current_buffer_size_bytes > 0:
229
+ # Finally upload the final file to the object store
230
+ output_file_name = f"{self.output_path}/{self.path_gen(self.chunk_count, self.chunk_part)}"
231
+ if os.path.exists(output_file_name):
232
+ await self._upload_file(output_file_name)
233
+ self.chunk_part += 1
234
+
235
+ # Record metrics for successful write
236
+ self.metrics.record_metric(
237
+ name="write_records",
238
+ value=len(dataframe),
239
+ metric_type=MetricType.COUNTER,
240
+ labels={"type": "pandas", "mode": WriteMode.APPEND.value},
241
+ description="Number of records written to files from pandas DataFrame",
242
+ )
243
+
244
+ # Record chunk metrics
245
+ self.metrics.record_metric(
246
+ name="chunks_written",
247
+ value=1,
248
+ metric_type=MetricType.COUNTER,
249
+ labels={"type": "pandas", "mode": WriteMode.APPEND.value},
250
+ description="Number of chunks written to files",
251
+ )
252
+
253
+ # If chunk_start is set we don't want to increment the chunk_count
254
+ # Since it should only increment the chunk_part in this case
255
+ if self.chunk_start is None:
256
+ self.chunk_count += 1
257
+ self.partitions.append(self.chunk_part)
258
+ except Exception as e:
259
+ # Record metrics for failed write
260
+ self.metrics.record_metric(
261
+ name="write_errors",
262
+ value=1,
263
+ metric_type=MetricType.COUNTER,
264
+ labels={
265
+ "type": "pandas",
266
+ "mode": WriteMode.APPEND.value,
267
+ "error": str(e),
268
+ },
269
+ description="Number of errors while writing to files",
270
+ )
271
+ logger.error(f"Error writing pandas dataframe to files: {str(e)}")
272
+ raise
158
273
 
159
274
  async def write_batched_daft_dataframe(
160
275
  self,
@@ -225,6 +340,55 @@ class Output(ABC):
225
340
  logger.error(f"Error getting statistics: {str(e)}")
226
341
  raise
227
342
 
343
+ async def _upload_file(self, file_name: str):
344
+ """Upload a file to the object store."""
345
+ await ObjectStore.upload_file(
346
+ source=file_name,
347
+ destination=get_object_store_prefix(file_name),
348
+ )
349
+
350
+ self.current_buffer_size_bytes = 0
351
+
352
+ async def _flush_buffer(self, chunk: "pd.DataFrame", chunk_part: int):
353
+ """Flush the current buffer to a JSON file.
354
+
355
+ This method combines all DataFrames in the buffer, writes them to a JSON file,
356
+ and uploads the file to the object store.
357
+
358
+ Note:
359
+ If the buffer is empty or has no records, the method returns without writing.
360
+ """
361
+ try:
362
+ if not is_empty_dataframe(chunk):
363
+ self.total_record_count += len(chunk)
364
+ output_file_name = (
365
+ f"{self.output_path}/{self.path_gen(self.chunk_count, chunk_part)}"
366
+ )
367
+ await self.write_chunk(chunk, output_file_name)
368
+
369
+ self.current_buffer_size = 0
370
+
371
+ # Record chunk metrics
372
+ self.metrics.record_metric(
373
+ name="chunks_written",
374
+ value=1,
375
+ metric_type=MetricType.COUNTER,
376
+ labels={"type": "output"},
377
+ description="Number of chunks written to files",
378
+ )
379
+
380
+ except Exception as e:
381
+ # Record metrics for failed write
382
+ self.metrics.record_metric(
383
+ name="write_errors",
384
+ value=1,
385
+ metric_type=MetricType.COUNTER,
386
+ labels={"type": "output", "error": str(e)},
387
+ description="Number of errors while writing to files",
388
+ )
389
+ logger.error(f"Error flushing buffer to files: {str(e)}")
390
+ raise e
391
+
228
392
  async def write_statistics(self) -> Optional[Dict[str, Any]]:
229
393
  """Write statistics about the output to a JSON file.
230
394
 
@@ -238,8 +402,8 @@ class Output(ABC):
238
402
  # prepare the statistics
239
403
  statistics = {
240
404
  "total_record_count": self.total_record_count,
241
- "chunk_count": self.chunk_count,
242
- "partitions": self.statistics,
405
+ "chunk_count": len(self.partitions),
406
+ "partitions": self.partitions,
243
407
  }
244
408
 
245
409
  # Write the statistics to a json file