atlan-application-sdk 0.1.1rc53__tar.gz → 0.1.1rc55__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.
- atlan_application_sdk-0.1.1rc55/.github/release_notes.md +7 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/CHANGELOG.md +18 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/PKG-INFO +1 -1
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/__init__.py +25 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/common/models.py +7 -1
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/models.py +5 -1
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/sql.py +8 -9
- atlan_application_sdk-0.1.1rc55/application_sdk/common/file_converter.py +99 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/version.py +1 -1
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/clients.md +2 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/pyproject.toml +1 -1
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/clients/test_async_sql_client.py +8 -1
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/clients/test_sql_client.py +12 -4
- atlan_application_sdk-0.1.1rc55/tests/unit/common/test_file_converter.py +479 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/uv.lock +1 -1
- atlan_application_sdk-0.1.1rc53/.github/release_notes.md +0 -1
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.cursor/rules/documentation.mdc +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.cursor/rules/exception-handling.mdc +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.cursor/rules/guidelines.mdc +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.cursor/rules/logging.mdc +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.cursor/rules/performance.mdc +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.cursor/rules/setup.mdc +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.cursor/rules/standards.mdc +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.cursor/rules/testing.mdc +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.env.example +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/CODEOWNERS +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/docgen/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/doclint/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/docstring-coverage/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/e2e-apps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/e2e-examples/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/setup-deps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/sync-branches/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/trivy/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/trivy-container/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/actions/unit-tests/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/dependabot.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/pull_request_template.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/scripts/extract_release_notes.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/scripts/pre_release.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/scripts/release.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/scripts/trivy-to-markdown.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/scripts/update_changelog.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/AMPM.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Accessibility.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Acronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Adverbs.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Auto.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Avoid.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Contractions.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Dashes.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/DateFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/DateNumbers.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/DateOrder.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Ellipses.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/FirstPerson.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Foreign.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Gender.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/GenderBias.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/GeneralURL.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/HeadingColons.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Headings.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Hyphens.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Negative.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Ordinal.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/OxfordComma.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Passive.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Percentages.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Plurals.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Quotes.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/RangeTime.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Semicolon.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/SentenceLength.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Spacing.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Suspended.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Terms.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/URLFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Units.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Vocab.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/We.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/Wordiness.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/Microsoft/meta.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/checks.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/checks.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/codeql.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/dependency-review.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/dependency-review.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/stale.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/stale.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/trivy-container.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/trivy.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflow-templates/trivy.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/pre-release.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/pull_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/push.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/release.yaml.disabled +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/scale-tests.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/schedule.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/tag-and-publish.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.github/workflows/verify-snyk-status.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.gitignore +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.pre-commit-config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/.vscode/launch.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/CODE_OF_CONDUCT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/CONTRIBUTING.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/LICENSE +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/NOTICE +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/README.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/SECURITY.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/lock_management.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/metadata_extraction/base.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/metadata_extraction/rest.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/activities/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/application/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/atlan.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/base.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/redis.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/common/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/common/aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/common/dapr_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/common/dataframe_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/common/error_codes.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/constants.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/decorators/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/decorators/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/decorators/locks.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/decorators/mcp_tool.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/exporters/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/exporters/mkdocs.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/models/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/models/export/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/models/export/page.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/models/manifest/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/models/manifest/customer.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/models/manifest/internal.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/models/manifest/metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/models/manifest/page.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/models/manifest/section.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/parsers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/parsers/directory.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/docgen/parsers/manifest.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/events/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/events/models.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/handlers/base.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/handlers/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/inputs/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/inputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/inputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/inputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/inputs/sql_query.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/interceptors/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/interceptors/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/interceptors/cleanup.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/interceptors/events.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/interceptors/lock.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/observability/decorators/observability_decorator.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/observability/logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/observability/metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/observability/observability.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/observability/traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/observability/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/outputs/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/outputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/outputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/outputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/fastapi/models.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/fastapi/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/mcp/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/mcp/models.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/server/mcp/server.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/services/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/services/atlan_storage.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/services/eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/services/objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/services/secretstore.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/services/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/e2e/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/e2e/base.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/e2e/client.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/e2e/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/e2e/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/test_utils/workflow_monitoring.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/atlas/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/query/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/query/templates/column.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/query/templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/query/templates/function.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/query/templates/schema.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/query/templates/table.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/worker.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/workflows/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/workflows/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/workflows/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/components/README.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/components/atlan-storage.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/components/aws-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/components/configuration.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/components/deployment-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/components/eventstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/components/objectstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/components/secretstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/components/statestore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/API.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/activities.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/application.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/application_sql.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/atlanupload.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/common.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/handlers.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/inputs.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/mcp.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/output_paths.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/outputs.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/server.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/services.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/temporal_auth.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/worker.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/workflows.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/configuration.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/guides/architecture.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/guides/atlantis.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/guides/best-practices.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/guides/getting-started.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/guides/index.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/guides/partners.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/guides/secretstores.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/guides/sql-application-guide.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/guides/test-framework.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/index.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/setup/LINUX.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/setup/MAC.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/setup/WINDOWS.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/setup/troubleshooting.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/static/assets/logo.svg +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/static/javascripts/mathjax.js +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/static/stylesheets/extra.css +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/mkdocs.yml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/README.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/application_custom_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/application_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/application_hello_world.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/application_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/application_sql_miner.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/application_sql_with_custom_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/run_examples.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/examples/sql_query_templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/activities/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/activities/test_activities.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/activities/test_lock_management.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/application/test_application.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/clients/test_atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/clients/test_atlan_client.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/clients/test_atlanauth.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/clients/test_base_client.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/clients/test_redis_client.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/clients/test_temporal_client.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/common/test_aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/common/test_credential_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/common/test_utils_file_discovery.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/decorators/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/decorators/test_mcp_tool.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/sql/test_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/sql/test_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/sql/test_tables_check.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/handlers/test_base_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/inputs/test_base_input.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/inputs/test_json.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/inputs/test_parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/observability/test_logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/observability/test_metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/observability/test_traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/outputs/test_iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/outputs/test_json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/outputs/test_output.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/outputs/test_parquet_output.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/server/fastapi/test_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/server/mcp/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/server/mcp/test_mcp_server.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/services/test_atlan_storage.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/services/test_eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/services/test_objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/services/test_statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/test_worker.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/test_column.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/test_database.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/test_function.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/test_procedure.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/test_schema.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/atlas/test_table.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/raw/column.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/raw/database.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/raw/function.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/raw/table.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/workflows/metadata_extraction/test_sql_workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## v0.1.1rc55 (October 14, 2025)
|
|
2
|
+
|
|
3
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc54...v0.1.1rc55
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- add connect_args support to DatabaseConfig (#784) (by @inishchith in [f8ad608](https://github.com/atlanhq/application-sdk/commit/f8ad608))
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.1.1rc55 (October 14, 2025)
|
|
4
|
+
|
|
5
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc54...v0.1.1rc55
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- add connect_args support to DatabaseConfig (#784) (by @inishchith in [f8ad608](https://github.com/atlanhq/application-sdk/commit/f8ad608))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## v0.1.1rc54 (October 09, 2025)
|
|
13
|
+
|
|
14
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc53...v0.1.1rc54
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
- Add file converter to sdk for QI app Json Support (#778) (by @OnkarVO7 in [177aa06](https://github.com/atlanhq/application-sdk/commit/177aa06))
|
|
19
|
+
|
|
20
|
+
|
|
3
21
|
## v0.1.1rc52 (October 03, 2025)
|
|
4
22
|
|
|
5
23
|
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.
|
|
3
|
+
Version: 0.1.1rc55
|
|
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]
|
|
@@ -31,7 +31,11 @@ class DatabaseConfig(BaseModel):
|
|
|
31
31
|
)
|
|
32
32
|
parameters: Optional[List[str]] = Field(
|
|
33
33
|
default=None,
|
|
34
|
-
description="List of additional connection parameter names that can be dynamically added from credentials",
|
|
34
|
+
description="List of additional connection parameter names that can be dynamically added from credentials to the connection string. ex: ['ssl_mode'] will be added to the connection string as ?ssl_mode=require",
|
|
35
|
+
)
|
|
36
|
+
connect_args: Dict[str, Any] = Field(
|
|
37
|
+
default_factory=dict,
|
|
38
|
+
description="Additional connection arguments to be passed to SQLAlchemy. ex: {'sslmode': 'require'}",
|
|
35
39
|
)
|
|
36
40
|
|
|
37
41
|
class Config:
|
{atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/application_sdk/clients/sql.py
RENAMED
|
@@ -37,7 +37,6 @@ class BaseSQLClient(ClientInterface):
|
|
|
37
37
|
Attributes:
|
|
38
38
|
connection: Database connection instance.
|
|
39
39
|
engine: SQLAlchemy engine instance.
|
|
40
|
-
sql_alchemy_connect_args (Dict[str, Any]): Additional connection arguments.
|
|
41
40
|
credentials (Dict[str, Any]): Database credentials.
|
|
42
41
|
resolved_credentials (Dict[str, Any]): Resolved credentials after reading from secret manager.
|
|
43
42
|
use_server_side_cursor (bool): Whether to use server-side cursors.
|
|
@@ -45,7 +44,6 @@ class BaseSQLClient(ClientInterface):
|
|
|
45
44
|
|
|
46
45
|
connection = None
|
|
47
46
|
engine = None
|
|
48
|
-
sql_alchemy_connect_args: Dict[str, Any] = {}
|
|
49
47
|
credentials: Dict[str, Any] = {}
|
|
50
48
|
resolved_credentials: Dict[str, Any] = {}
|
|
51
49
|
use_server_side_cursor: bool = USE_SERVER_SIDE_CURSOR
|
|
@@ -55,7 +53,6 @@ class BaseSQLClient(ClientInterface):
|
|
|
55
53
|
self,
|
|
56
54
|
use_server_side_cursor: bool = USE_SERVER_SIDE_CURSOR,
|
|
57
55
|
credentials: Dict[str, Any] = {},
|
|
58
|
-
sql_alchemy_connect_args: Dict[str, Any] = {},
|
|
59
56
|
):
|
|
60
57
|
"""
|
|
61
58
|
Initialize the SQL client.
|
|
@@ -64,12 +61,9 @@ class BaseSQLClient(ClientInterface):
|
|
|
64
61
|
use_server_side_cursor (bool, optional): Whether to use server-side cursors.
|
|
65
62
|
Defaults to USE_SERVER_SIDE_CURSOR.
|
|
66
63
|
credentials (Dict[str, Any], optional): Database credentials. Defaults to {}.
|
|
67
|
-
sql_alchemy_connect_args (Dict[str, Any], optional): Additional SQLAlchemy
|
|
68
|
-
connection arguments. Defaults to {}.
|
|
69
64
|
"""
|
|
70
65
|
self.use_server_side_cursor = use_server_side_cursor
|
|
71
66
|
self.credentials = credentials
|
|
72
|
-
self.sql_alchemy_connect_args = sql_alchemy_connect_args
|
|
73
67
|
|
|
74
68
|
async def load(self, credentials: Dict[str, Any]) -> None:
|
|
75
69
|
"""Load credentials and prepare engine for lazy connections.
|
|
@@ -83,6 +77,9 @@ class BaseSQLClient(ClientInterface):
|
|
|
83
77
|
Raises:
|
|
84
78
|
ClientError: If credentials are invalid or engine creation fails
|
|
85
79
|
"""
|
|
80
|
+
if not self.DB_CONFIG:
|
|
81
|
+
raise ValueError("DB_CONFIG is not configured for this SQL client.")
|
|
82
|
+
|
|
86
83
|
self.credentials = credentials # Update the instance credentials
|
|
87
84
|
try:
|
|
88
85
|
from sqlalchemy import create_engine
|
|
@@ -90,7 +87,7 @@ class BaseSQLClient(ClientInterface):
|
|
|
90
87
|
# Create engine but no persistent connection
|
|
91
88
|
self.engine = create_engine(
|
|
92
89
|
self.get_sqlalchemy_connection_string(),
|
|
93
|
-
connect_args=self.
|
|
90
|
+
connect_args=self.DB_CONFIG.connect_args,
|
|
94
91
|
pool_pre_ping=True,
|
|
95
92
|
)
|
|
96
93
|
|
|
@@ -397,7 +394,6 @@ class AsyncBaseSQLClient(BaseSQLClient):
|
|
|
397
394
|
Attributes:
|
|
398
395
|
connection (AsyncConnection): Async database connection instance.
|
|
399
396
|
engine (AsyncEngine): Async SQLAlchemy engine instance.
|
|
400
|
-
sql_alchemy_connect_args (Dict[str, Any]): Additional connection arguments.
|
|
401
397
|
credentials (Dict[str, Any]): Database credentials.
|
|
402
398
|
use_server_side_cursor (bool): Whether to use server-side cursors.
|
|
403
399
|
"""
|
|
@@ -419,13 +415,16 @@ class AsyncBaseSQLClient(BaseSQLClient):
|
|
|
419
415
|
ValueError: If credentials are invalid or engine creation fails.
|
|
420
416
|
"""
|
|
421
417
|
self.credentials = credentials
|
|
418
|
+
if not self.DB_CONFIG:
|
|
419
|
+
raise ValueError("DB_CONFIG is not configured for this SQL client.")
|
|
420
|
+
|
|
422
421
|
try:
|
|
423
422
|
from sqlalchemy.ext.asyncio import create_async_engine
|
|
424
423
|
|
|
425
424
|
# Create async engine but no persistent connection
|
|
426
425
|
self.engine = create_async_engine(
|
|
427
426
|
self.get_sqlalchemy_connection_string(),
|
|
428
|
-
connect_args=self.
|
|
427
|
+
connect_args=self.DB_CONFIG.connect_args,
|
|
429
428
|
pool_pre_ping=True,
|
|
430
429
|
)
|
|
431
430
|
if not self.engine:
|
|
@@ -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
|
{atlan_application_sdk-0.1.1rc53 → atlan_application_sdk-0.1.1rc55}/docs/docs/concepts/clients.md
RENAMED
|
@@ -36,6 +36,7 @@ Both SQL client classes are typically **subclassed** for specific database types
|
|
|
36
36
|
* **`required` (list[str]):** Keys that must be present in `credentials`/`credentials.extra`. `{password}` is resolved via `get_auth_token()` depending on `authType`.
|
|
37
37
|
* **`parameters` (list[str], optional):** Optional keys appended as URL query parameters when present in `credentials`/`extra`.
|
|
38
38
|
* **`defaults` (dict[str, Any], optional):** Default URL parameters always appended unless already in the template.
|
|
39
|
+
* **`connect_args` (dict[str, Any], optional):** Additional connection arguments to be passed directly to SQLAlchemy's `create_engine` or `create_async_engine`. Useful for driver-specific connection parameters that are not part of the connection URL. Defaults to `{}`.
|
|
39
40
|
* **Credentials Note:** The `credentials` dictionary can include an `extra` field (JSON or dict). Lookups for `required` and `parameters` first check `credentials`, then `extra`.
|
|
40
41
|
|
|
41
42
|
2. **Loading (`load` method):**
|
|
@@ -61,6 +62,7 @@ class SnowflakeClient(BaseSQLClient):
|
|
|
61
62
|
required=["username", "password", "account_id"],
|
|
62
63
|
parameters=["warehouse", "role"],
|
|
63
64
|
defaults={"client_session_keep_alive": "true"},
|
|
65
|
+
connect_args={"sslmode": "require"}, # Optional: driver-specific connection arguments
|
|
64
66
|
)
|
|
65
67
|
```
|
|
66
68
|
|
|
@@ -3,6 +3,7 @@ from unittest.mock import AsyncMock, MagicMock, patch
|
|
|
3
3
|
|
|
4
4
|
import pytest
|
|
5
5
|
|
|
6
|
+
from application_sdk.clients.models import DatabaseConfig
|
|
6
7
|
from application_sdk.clients.sql import AsyncBaseSQLClient
|
|
7
8
|
from application_sdk.handlers.sql import BaseSQLHandler
|
|
8
9
|
|
|
@@ -10,6 +11,11 @@ from application_sdk.handlers.sql import BaseSQLHandler
|
|
|
10
11
|
@pytest.fixture
|
|
11
12
|
def async_sql_client():
|
|
12
13
|
client = AsyncBaseSQLClient()
|
|
14
|
+
client.DB_CONFIG = DatabaseConfig(
|
|
15
|
+
template="test://{username}:{password}@{host}:{port}/{database}",
|
|
16
|
+
required=["username", "password", "host", "port", "database"],
|
|
17
|
+
connect_args={},
|
|
18
|
+
)
|
|
13
19
|
client.get_sqlalchemy_connection_string = lambda: "test_connection_string"
|
|
14
20
|
return client
|
|
15
21
|
|
|
@@ -75,9 +81,10 @@ async def test_load(
|
|
|
75
81
|
await async_sql_client.load(credentials)
|
|
76
82
|
|
|
77
83
|
# Assertions to verify behavior
|
|
84
|
+
assert async_sql_client.DB_CONFIG is not None
|
|
78
85
|
create_async_engine.assert_called_once_with(
|
|
79
86
|
async_sql_client.get_sqlalchemy_connection_string(),
|
|
80
|
-
connect_args=async_sql_client.
|
|
87
|
+
connect_args=async_sql_client.DB_CONFIG.connect_args,
|
|
81
88
|
pool_pre_ping=True,
|
|
82
89
|
)
|
|
83
90
|
assert async_sql_client.engine == mock_engine
|
|
@@ -25,6 +25,11 @@ from application_sdk.test_utils.hypothesis.strategies.sql_client import (
|
|
|
25
25
|
@pytest.fixture
|
|
26
26
|
def sql_client():
|
|
27
27
|
client = BaseSQLClient()
|
|
28
|
+
client.DB_CONFIG = DatabaseConfig(
|
|
29
|
+
template="test://{username}:{password}@{host}:{port}/{database}",
|
|
30
|
+
required=["username", "password", "host", "port", "database"],
|
|
31
|
+
connect_args={},
|
|
32
|
+
)
|
|
28
33
|
client.get_sqlalchemy_connection_string = lambda: "test_connection_string"
|
|
29
34
|
return client
|
|
30
35
|
|
|
@@ -51,9 +56,10 @@ def test_load(mock_create_engine: Any, sql_client: BaseSQLClient):
|
|
|
51
56
|
asyncio.run(sql_client.load(credentials))
|
|
52
57
|
|
|
53
58
|
# Assertions to verify behavior
|
|
59
|
+
assert sql_client.DB_CONFIG is not None
|
|
54
60
|
mock_create_engine.assert_called_once_with(
|
|
55
61
|
sql_client.get_sqlalchemy_connection_string(),
|
|
56
|
-
connect_args=sql_client.
|
|
62
|
+
connect_args=sql_client.DB_CONFIG.connect_args,
|
|
57
63
|
pool_pre_ping=True,
|
|
58
64
|
)
|
|
59
65
|
assert sql_client.engine == mock_engine
|
|
@@ -78,8 +84,9 @@ def test_load_property_based(
|
|
|
78
84
|
mock_create_engine.return_value = mock_engine
|
|
79
85
|
mock_engine.connect.return_value = mock_connection
|
|
80
86
|
|
|
81
|
-
# Set the connection arguments
|
|
82
|
-
sql_client.
|
|
87
|
+
# Set the connection arguments in DB_CONFIG
|
|
88
|
+
assert sql_client.DB_CONFIG is not None
|
|
89
|
+
sql_client.DB_CONFIG.connect_args = connect_args
|
|
83
90
|
|
|
84
91
|
# Run the load function
|
|
85
92
|
asyncio.run(sql_client.load(credentials))
|
|
@@ -386,9 +393,10 @@ def test_connection_string_property_based(
|
|
|
386
393
|
asyncio.run(sql_client.load(credentials))
|
|
387
394
|
|
|
388
395
|
# Assertions to verify behavior
|
|
396
|
+
assert sql_client.DB_CONFIG is not None
|
|
389
397
|
mock_create_engine.assert_called_once_with(
|
|
390
398
|
connection_string,
|
|
391
|
-
connect_args=sql_client.
|
|
399
|
+
connect_args=sql_client.DB_CONFIG.connect_args,
|
|
392
400
|
pool_pre_ping=True,
|
|
393
401
|
)
|
|
394
402
|
assert sql_client.engine == mock_engine
|