atlan-application-sdk 0.1.1rc42__tar.gz → 0.1.1rc43__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.1rc43/.github/release_notes.md +11 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/CHANGELOG.md +13 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/PKG-INFO +1 -1
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/services/objectstore.py +12 -6
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/services/statestore.py +19 -22
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/version.py +1 -1
- atlan_application_sdk-0.1.1rc43/docs/docs/configuration.md +153 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/pyproject.toml +1 -1
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/services/test_objectstore.py +110 -0
- atlan_application_sdk-0.1.1rc43/tests/unit/services/test_statestore.py +229 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/uv.lock +1 -1
- atlan_application_sdk-0.1.1rc42/.github/release_notes.md +0 -7
- atlan_application_sdk-0.1.1rc42/docs/docs/configuration.md +0 -105
- atlan_application_sdk-0.1.1rc42/tests/unit/services/test_statestore.py +0 -87
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.cursor/rules/documentation.mdc +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.cursor/rules/exception-handling.mdc +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.cursor/rules/guidelines.mdc +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.cursor/rules/logging.mdc +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.cursor/rules/performance.mdc +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.cursor/rules/setup.mdc +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.cursor/rules/standards.mdc +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.cursor/rules/testing.mdc +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.env.example +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/CODEOWNERS +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/docgen/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/doclint/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/docstring-coverage/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/e2e-apps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/e2e-examples/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/setup-deps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/sync-branches/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/trivy/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/trivy-container/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/actions/unit-tests/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/dependabot.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/pull_request_template.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/scripts/extract_release_notes.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/scripts/pre_release.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/scripts/release.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/scripts/trivy-to-markdown.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/scripts/update_changelog.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/AMPM.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Accessibility.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Acronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Adverbs.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Auto.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Avoid.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Contractions.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Dashes.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/DateFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/DateNumbers.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/DateOrder.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Ellipses.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/FirstPerson.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Foreign.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Gender.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/GenderBias.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/GeneralURL.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/HeadingColons.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Headings.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Hyphens.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Negative.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Ordinal.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/OxfordComma.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Passive.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Percentages.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Plurals.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Quotes.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/RangeTime.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Semicolon.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/SentenceLength.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Spacing.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Suspended.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Terms.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/URLFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Units.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Vocab.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/We.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/Wordiness.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/Microsoft/meta.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/checks.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/checks.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/codeql.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/dependency-review.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/dependency-review.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/stale.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/stale.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/trivy-container.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/trivy.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflow-templates/trivy.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/pre-release.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/pull_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/push.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/release.yaml.disabled +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/scale-tests.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/schedule.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/tag-and-publish.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.github/workflows/verify-snyk-status.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.gitignore +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.pre-commit-config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/.vscode/launch.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/CODE_OF_CONDUCT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/CONTRIBUTING.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/LICENSE +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/NOTICE +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/README.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/SECURITY.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/common/models.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/lock_management.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/metadata_extraction/base.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/metadata_extraction/rest.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/activities/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/application/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/atlan.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/base.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/models.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/redis.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/clients/workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/common/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/common/aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/common/dapr_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/common/dataframe_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/common/error_codes.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/constants.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/decorators/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/decorators/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/decorators/locks.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/exporters/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/exporters/mkdocs.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/models/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/models/export/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/models/export/page.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/models/manifest/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/models/manifest/customer.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/models/manifest/internal.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/models/manifest/metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/models/manifest/page.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/models/manifest/section.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/parsers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/parsers/directory.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/docgen/parsers/manifest.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/events/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/events/models.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/handlers/base.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/handlers/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/inputs/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/inputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/inputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/inputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/inputs/sql_query.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/interceptors/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/interceptors/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/interceptors/cleanup.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/interceptors/events.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/interceptors/lock.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/observability/decorators/observability_decorator.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/observability/logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/observability/metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/observability/observability.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/observability/traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/observability/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/outputs/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/outputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/outputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/outputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/server/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/server/fastapi/models.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/server/fastapi/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/services/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/services/atlan_storage.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/services/eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/services/secretstore.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/e2e/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/e2e/base.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/e2e/client.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/e2e/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/e2e/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/test_utils/workflow_monitoring.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/atlas/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/query/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/query/templates/column.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/query/templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/query/templates/function.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/query/templates/schema.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/query/templates/table.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/worker.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/workflows/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/workflows/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/application_sdk/workflows/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/components/README.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/components/atlan-storage.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/components/aws-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/components/deployment-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/components/eventstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/components/objectstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/components/secretstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/components/statestore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/activities.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/application.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/application_sql.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/atlanupload.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/clients.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/common.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/handlers.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/inputs.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/output_paths.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/outputs.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/server.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/services.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/temporal_auth.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/worker.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/concepts/workflows.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/guides/architecture.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/guides/atlantis.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/guides/best-practices.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/guides/getting-started.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/guides/index.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/guides/partners.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/guides/secretstores.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/guides/sql-application-guide.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/guides/test-framework.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/index.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/setup/LINUX.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/setup/MAC.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/setup/WINDOWS.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/setup/troubleshooting.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/static/assets/logo.svg +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/static/javascripts/mathjax.js +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/docs/static/stylesheets/extra.css +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/docs/mkdocs.yml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/README.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/application_custom_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/application_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/application_hello_world.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/application_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/application_sql_miner.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/application_sql_with_custom_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/run_examples.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/examples/sql_query_templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/activities/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/activities/test_activities.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/activities/test_lock_management.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/application/test_application.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/clients/test_async_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/clients/test_atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/clients/test_atlan_client.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/clients/test_atlanauth.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/clients/test_base_client.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/clients/test_redis_client.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/clients/test_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/clients/test_temporal_client.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/common/test_aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/common/test_credential_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/common/test_utils_file_discovery.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/sql/test_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/sql/test_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/sql/test_tables_check.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/handlers/test_base_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/inputs/test_base_input.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/inputs/test_json.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/inputs/test_parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/observability/test_logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/observability/test_metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/observability/test_traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/outputs/test_iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/outputs/test_json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/outputs/test_output.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/outputs/test_parquet_output.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/server/fastapi/test_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/services/test_atlan_storage.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/services/test_eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/test_worker.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/test_column.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/test_database.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/test_function.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/test_procedure.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/test_schema.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/atlas/test_table.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/raw/column.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/raw/database.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/raw/function.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/raw/table.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/workflows/metadata_extraction/test_sql_workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc42 → atlan_application_sdk-0.1.1rc43}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## v0.1.1rc43 (September 16, 2025)
|
|
2
|
+
|
|
3
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc42...v0.1.1rc43
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- update configuration documentation with comprehensive constant descriptions and use cases (#646) (by @Nishchith Shetty in [6f91796](https://github.com/atlanhq/application-sdk/commit/6f91796))
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- 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))
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.1.1rc43 (September 16, 2025)
|
|
4
|
+
|
|
5
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc42...v0.1.1rc43
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- update configuration documentation with comprehensive constant descriptions and use cases (#646) (by @Nishchith Shetty in [6f91796](https://github.com/atlanhq/application-sdk/commit/6f91796))
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
- 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))
|
|
14
|
+
|
|
15
|
+
|
|
3
16
|
|
|
4
17
|
## v0.1.1rc42 (September 15, 2025)
|
|
5
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atlan-application-sdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1rc43
|
|
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
|
|
@@ -114,14 +114,17 @@ class ObjectStore:
|
|
|
114
114
|
|
|
115
115
|
@classmethod
|
|
116
116
|
async def get_content(
|
|
117
|
-
cls,
|
|
118
|
-
|
|
117
|
+
cls,
|
|
118
|
+
key: str,
|
|
119
|
+
store_name: str = DEPLOYMENT_OBJECT_STORE_NAME,
|
|
120
|
+
suppress_error: bool = False,
|
|
121
|
+
) -> bytes | None:
|
|
119
122
|
"""Get raw file content from the object store.
|
|
120
123
|
|
|
121
124
|
Args:
|
|
122
125
|
key: The path of the file in the object store.
|
|
123
126
|
store_name: Name of the Dapr object store binding to use.
|
|
124
|
-
|
|
127
|
+
suppress_error: Whether to suppress the error and return None if the file does not exist.
|
|
125
128
|
Returns:
|
|
126
129
|
The raw file content as bytes.
|
|
127
130
|
|
|
@@ -138,14 +141,18 @@ class ObjectStore:
|
|
|
138
141
|
store_name=store_name,
|
|
139
142
|
)
|
|
140
143
|
if not response_data:
|
|
144
|
+
if suppress_error:
|
|
145
|
+
return None
|
|
141
146
|
raise Exception(f"No data received for file: {key}")
|
|
142
147
|
|
|
143
148
|
logger.debug(f"Successfully retrieved file content: {key}")
|
|
144
149
|
return response_data
|
|
145
150
|
|
|
146
151
|
except Exception as e:
|
|
152
|
+
if suppress_error:
|
|
153
|
+
return None
|
|
147
154
|
logger.error(f"Error getting file content for {key}: {str(e)}")
|
|
148
|
-
raise
|
|
155
|
+
raise
|
|
149
156
|
|
|
150
157
|
@classmethod
|
|
151
158
|
async def exists(
|
|
@@ -463,8 +470,7 @@ class ObjectStore:
|
|
|
463
470
|
binding_metadata=metadata,
|
|
464
471
|
)
|
|
465
472
|
return response.data
|
|
466
|
-
except Exception
|
|
467
|
-
logger.error(f"Error in Dapr binding operation '{operation}': {str(e)}")
|
|
473
|
+
except Exception:
|
|
468
474
|
raise
|
|
469
475
|
|
|
470
476
|
@classmethod
|
|
@@ -104,33 +104,26 @@ class StateStore:
|
|
|
104
104
|
>>> creds = await StateStore.get_state("db-cred-456", StateType.CREDENTIALS)
|
|
105
105
|
>>> print(f"Database: {creds.get('database')}")
|
|
106
106
|
"""
|
|
107
|
-
|
|
108
107
|
state_file_path = build_state_store_path(id, type)
|
|
109
|
-
state = {}
|
|
110
|
-
|
|
111
108
|
try:
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
source=get_object_store_prefix(state_file_path),
|
|
115
|
-
destination=state_file_path,
|
|
109
|
+
object_store_content = await ObjectStore.get_content(
|
|
110
|
+
get_object_store_prefix(state_file_path),
|
|
116
111
|
store_name=UPSTREAM_OBJECT_STORE_NAME,
|
|
112
|
+
suppress_error=True,
|
|
117
113
|
)
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
state = json.load(file)
|
|
121
|
-
|
|
122
|
-
logger.info(f"State object downloaded for {id} with type {type}")
|
|
123
|
-
except Exception as e:
|
|
124
|
-
# local error message is "file not found", while in object store it is "object not found"
|
|
125
|
-
if "not found" in str(e).lower():
|
|
126
|
-
logger.info(
|
|
114
|
+
if not object_store_content:
|
|
115
|
+
logger.warning(
|
|
127
116
|
f"No state found for {type.value} with id '{id}', returning empty dict"
|
|
128
117
|
)
|
|
129
|
-
|
|
130
|
-
logger.error(f"Failed to extract state: {str(e)}")
|
|
131
|
-
raise
|
|
118
|
+
return {}
|
|
132
119
|
|
|
133
|
-
|
|
120
|
+
state = json.loads(object_store_content)
|
|
121
|
+
logger.info(f"State object retrieved for {id} with type {type}")
|
|
122
|
+
|
|
123
|
+
return state
|
|
124
|
+
except Exception as e:
|
|
125
|
+
logger.error(f"Failed to extract state: {str(e)}")
|
|
126
|
+
raise
|
|
134
127
|
|
|
135
128
|
@classmethod
|
|
136
129
|
async def save_state(cls, key: str, value: Any, id: str, type: StateType) -> None:
|
|
@@ -240,7 +233,9 @@ class StateStore:
|
|
|
240
233
|
... )
|
|
241
234
|
"""
|
|
242
235
|
try:
|
|
243
|
-
logger.info(
|
|
236
|
+
logger.info(
|
|
237
|
+
f"Saving state object in object store for {id} with type {type}"
|
|
238
|
+
)
|
|
244
239
|
# get the current state from object store
|
|
245
240
|
current_state = await cls.get_state(id, type)
|
|
246
241
|
state_file_path = build_state_store_path(id, type)
|
|
@@ -260,7 +255,9 @@ class StateStore:
|
|
|
260
255
|
destination=get_object_store_prefix(state_file_path),
|
|
261
256
|
store_name=UPSTREAM_OBJECT_STORE_NAME,
|
|
262
257
|
)
|
|
263
|
-
logger.info(
|
|
258
|
+
logger.info(
|
|
259
|
+
f"State object created in object store for {id} with type {type}"
|
|
260
|
+
)
|
|
264
261
|
return current_state
|
|
265
262
|
except Exception as e:
|
|
266
263
|
logger.error(f"Failed to store state: {str(e)}")
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Configuration
|
|
2
|
+
|
|
3
|
+
The Application SDK uses environment variables for configuration. These can be set directly in the environment or through a `.env` file. The configuration options are organized into several categories.
|
|
4
|
+
|
|
5
|
+
## Application Configuration
|
|
6
|
+
|
|
7
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
8
|
+
|---------------------|-------------|---------------|----------|
|
|
9
|
+
| `ATLAN_APPLICATION_NAME` | Name of the application, used for identification and path generation | `default` | Used in object store paths, logging, and workflow identification |
|
|
10
|
+
| `ATLAN_DEPLOYMENT_NAME` | Name of the deployment, distinguishes between different deployments of the same application | `local` | Used to isolate resources between environments (dev, staging, prod) |
|
|
11
|
+
| `ATLAN_APP_HTTP_HOST` | Host address for the application's HTTP server | `localhost` | Bind address for FastAPI/HTTP server |
|
|
12
|
+
| `ATLAN_APP_HTTP_PORT` | Port number for the application's HTTP server | `8000` | Port for FastAPI/HTTP server |
|
|
13
|
+
| `ATLAN_TENANT_ID` | Tenant ID for multi-tenant applications | `default` | Used for tenant isolation in multi-tenant deployments |
|
|
14
|
+
| `ATLAN_APP_DASHBOARD_HOST` | Host address for the application's dashboard | `localhost` | Dashboard UI host for monitoring and management |
|
|
15
|
+
| `ATLAN_APP_DASHBOARD_PORT` | Port number for the application's dashboard | `8000` | Dashboard UI port for monitoring and management |
|
|
16
|
+
| `ATLAN_SQL_SERVER_MIN_VERSION` | Minimum required SQL Server version for compatibility checks | `None` | Validates SQL Server version during connection |
|
|
17
|
+
| `ATLAN_SQL_QUERIES_PATH` | Path to the SQL queries directory | `app/sql` | Location of SQL query files for metadata extraction |
|
|
18
|
+
| `ATLAN_TEMPORARY_PATH` | Path for storing temporary files during processing | `./local/tmp/` | Used for intermediate file storage during data processing |
|
|
19
|
+
|
|
20
|
+
## Workflow Configuration
|
|
21
|
+
|
|
22
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
23
|
+
|---------------------|-------------|---------------|----------|
|
|
24
|
+
| `ATLAN_WORKFLOW_HOST` | Host address for the Temporal server | `localhost` | Connection to Temporal orchestration engine |
|
|
25
|
+
| `ATLAN_WORKFLOW_PORT` | Port number for the Temporal server | `7233` | Connection port for Temporal server |
|
|
26
|
+
| `ATLAN_WORKFLOW_NAMESPACE` | Namespace for Temporal workflows | `default` | Isolates workflows between different environments |
|
|
27
|
+
| `ATLAN_WORKFLOW_UI_HOST` | Host address for the Temporal UI | `localhost` | Access to Temporal Web UI for monitoring |
|
|
28
|
+
| `ATLAN_WORKFLOW_UI_PORT` | Port number for the Temporal UI | `8233` | Port for Temporal Web UI |
|
|
29
|
+
| `ATLAN_WORKFLOW_MAX_TIMEOUT_HOURS` | Maximum timeout duration for workflows (in hours) | `1` | Prevents runaway workflows from consuming resources |
|
|
30
|
+
| `ATLAN_MAX_CONCURRENT_ACTIVITIES` | Maximum number of activities that can run concurrently | `5` | Controls resource usage and prevents overwhelming target systems |
|
|
31
|
+
| `ATLAN_HEARTBEAT_TIMEOUT` | Timeout duration for activity heartbeats (in seconds) | `300` | Detects stuck activities and enables recovery |
|
|
32
|
+
| `ATLAN_START_TO_CLOSE_TIMEOUT` | Maximum duration an activity can run before timing out (in seconds) | `7200` | Prevents activities from running indefinitely |
|
|
33
|
+
| `ATLAN_WORKFLOW_AUTH_ENABLED` | Whether to enable authentication for Temporal workflows | `false` | Used in production deployments with secure Temporal clusters |
|
|
34
|
+
| `ATLAN_DEPLOYMENT_SECRET_PATH` | Path to deployment secrets in secret store | `ATLAN_DEPLOYMENT_SECRETS` | Contains authentication credentials for production |
|
|
35
|
+
|
|
36
|
+
## SQL Client Configuration
|
|
37
|
+
|
|
38
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
39
|
+
|---------------------|-------------|---------------|----------|
|
|
40
|
+
| `ATLAN_SQL_USE_SERVER_SIDE_CURSOR` | Whether to use server-side cursors for SQL operations | `true` | Reduces memory usage for large result sets by streaming data |
|
|
41
|
+
|
|
42
|
+
## DAPR Configuration
|
|
43
|
+
|
|
44
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
45
|
+
|---------------------|-------------|---------------|----------|
|
|
46
|
+
| `STATE_STORE_NAME` | Name of the state store component in DAPR | `statestore` | Persistent state storage for workflow checkpoints |
|
|
47
|
+
| `SECRET_STORE_NAME` | Name of the secret store component in DAPR | `secretstore` | Secure storage for credentials and API keys |
|
|
48
|
+
| `DEPLOYMENT_OBJECT_STORE_NAME` | Name of the deployment object store component in DAPR | `objectstore` | Storage for workflow outputs and artifacts |
|
|
49
|
+
| `UPSTREAM_OBJECT_STORE_NAME` | Name of the upstream object store component in DAPR | `objectstore` | Storage for uploading data to Atlan platform |
|
|
50
|
+
| `EVENT_STORE_NAME` | Name of the pubsub component in DAPR | `eventstore` | Event publishing and subscription |
|
|
51
|
+
| `DEPLOYMENT_SECRET_STORE_NAME` | Name of the deployment secret store component in DAPR | `deployment-secret-store` | Environment-specific secrets storage |
|
|
52
|
+
| `DAPR_MAX_GRPC_MESSAGE_LENGTH` | Maximum gRPC message length in bytes for Dapr client | `16777216` (16MB) | Controls maximum size of data exchanged with DAPR components |
|
|
53
|
+
| `ENABLE_ATLAN_UPLOAD` | Whether to enable Atlan storage upload | `false` | Enables uploading processed data to Atlan platform |
|
|
54
|
+
|
|
55
|
+
## Observability Configuration
|
|
56
|
+
|
|
57
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
58
|
+
|---------------------|-------------|---------------|----------|
|
|
59
|
+
| `ATLAN_ENABLE_HIVE_PARTITIONING` | Whether to enable Hive partitioning for observability data | `true` | Organizes data by date for efficient querying and cleanup |
|
|
60
|
+
| `ATLAN_ENABLE_OBSERVABILITY_DAPR_SINK` | Whether to enable Dapr sink for observability data | `false` | Routes observability data through DAPR components |
|
|
61
|
+
|
|
62
|
+
## Logging Configuration
|
|
63
|
+
|
|
64
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
65
|
+
|---------------------|-------------|---------------|----------|
|
|
66
|
+
| `LOG_LEVEL` | Log level for the application (DEBUG, INFO, WARNING, ERROR, CRITICAL) | `INFO` | Controls verbosity of application logs |
|
|
67
|
+
| `ATLAN_LOG_BATCH_SIZE` | Number of log records to buffer before writing to parquet file | `100` | Optimizes I/O by batching log writes |
|
|
68
|
+
| `ATLAN_LOG_FLUSH_INTERVAL_SECONDS` | Time interval (in seconds) to flush logs to parquet file | `10` | Ensures logs are persisted regularly |
|
|
69
|
+
| `ATLAN_LOG_RETENTION_DAYS` | Number of days to retain log records before automatic cleanup | `30` | Manages storage usage by removing old logs |
|
|
70
|
+
| `ATLAN_LOG_CLEANUP_ENABLED` | Whether to enable automatic cleanup of old logs | `false` | Enables automatic log file cleanup |
|
|
71
|
+
| `ATLAN_LOG_FILE_NAME` | Name of the parquet file used for log storage | `log.parquet` | Customizes log file naming |
|
|
72
|
+
|
|
73
|
+
## Metrics Configuration
|
|
74
|
+
|
|
75
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
76
|
+
|---------------------|-------------|---------------|----------|
|
|
77
|
+
| `ATLAN_ENABLE_OTLP_METRICS` | Whether to enable OpenTelemetry metrics export | `false` | Enables metrics collection for monitoring and alerting |
|
|
78
|
+
| `ATLAN_METRICS_BATCH_SIZE` | Number of metric records to buffer before writing to parquet file | `100` | Optimizes I/O by batching metric writes |
|
|
79
|
+
| `ATLAN_METRICS_FLUSH_INTERVAL_SECONDS` | Time interval (in seconds) to flush metrics to parquet file | `10` | Controls frequency of metric persistence |
|
|
80
|
+
| `ATLAN_METRICS_RETENTION_DAYS` | Number of days to retain metric records before automatic cleanup | `30` | Manages storage usage for historical metrics |
|
|
81
|
+
| `ATLAN_METRICS_CLEANUP_ENABLED` | Whether to enable automatic cleanup of old metrics | `false` | Enables automatic metric file cleanup |
|
|
82
|
+
|
|
83
|
+
## Traces Configuration
|
|
84
|
+
|
|
85
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
86
|
+
|---------------------|-------------|---------------|----------|
|
|
87
|
+
| `ATLAN_ENABLE_OTLP_TRACES` | Whether to enable OpenTelemetry traces export | `false` | Enables distributed tracing for performance monitoring |
|
|
88
|
+
| `ATLAN_TRACES_BATCH_SIZE` | Number of trace records to buffer before writing to parquet file | `100` | Optimizes I/O by batching trace writes |
|
|
89
|
+
| `ATLAN_TRACES_FLUSH_INTERVAL_SECONDS` | Time interval (in seconds) to flush traces to parquet file | `5` | Ensures timely trace persistence for debugging |
|
|
90
|
+
| `ATLAN_TRACES_RETENTION_DAYS` | Number of days to retain trace records before automatic cleanup | `30` | Manages storage usage for historical traces |
|
|
91
|
+
| `ATLAN_TRACES_CLEANUP_ENABLED` | Whether to enable automatic cleanup of old traces | `true` | Enables automatic trace file cleanup to prevent disk overflow |
|
|
92
|
+
|
|
93
|
+
## OpenTelemetry Configuration
|
|
94
|
+
|
|
95
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
96
|
+
|---------------------|-------------|---------------|----------|
|
|
97
|
+
| `OTEL_SERVICE_NAME` | Service name for OpenTelemetry | `atlan-application-sdk` | Identifies the service in telemetry data |
|
|
98
|
+
| `OTEL_SERVICE_VERSION` | Service version for OpenTelemetry | `0.1.0` | Tracks service version in telemetry data |
|
|
99
|
+
| `OTEL_RESOURCE_ATTRIBUTES` | Additional resource attributes for OpenTelemetry | `""` | Custom metadata for telemetry resources |
|
|
100
|
+
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Endpoint for the OpenTelemetry collector | `http://localhost:4317` | Target for telemetry data export |
|
|
101
|
+
| `ENABLE_OTLP_LOGS` | Whether to enable OpenTelemetry log export | `false` | Enables structured log export to OTLP |
|
|
102
|
+
| `OTEL_WF_NODE_NAME` | Node name for workflow telemetry | `""` | Identifies workflow execution node |
|
|
103
|
+
| `OTEL_EXPORTER_TIMEOUT_SECONDS` | Timeout for OpenTelemetry exporters in seconds | `30` | Prevents hanging export operations |
|
|
104
|
+
| `OTEL_BATCH_DELAY_MS` | Delay between batch exports in milliseconds | `5000` | Controls export frequency to reduce overhead |
|
|
105
|
+
| `OTEL_BATCH_SIZE` | Maximum size of export batches | `512` | Optimizes export performance |
|
|
106
|
+
| `OTEL_QUEUE_SIZE` | Maximum size of the export queue | `2048` | Prevents memory overflow from queued telemetry |
|
|
107
|
+
|
|
108
|
+
## AWS Configuration
|
|
109
|
+
|
|
110
|
+
| Environment Variable | Description | Default Value | Use Case |
|
|
111
|
+
|---------------------|-------------|---------------|----------|
|
|
112
|
+
| `AWS_SESSION_NAME` | AWS Session Name for temporary credentials | `temp-session` | Used when assuming AWS roles for object store access |
|
|
113
|
+
|
|
114
|
+
## Path Templates and Constants
|
|
115
|
+
|
|
116
|
+
| Constant | Description | Use Case |
|
|
117
|
+
|----------|-------------|----------|
|
|
118
|
+
| `WORKFLOW_OUTPUT_PATH_TEMPLATE` | Template for workflow output paths: `artifacts/apps/{application_name}/workflows/{workflow_id}/{run_id}` | Organizing workflow outputs in object storage |
|
|
119
|
+
| `STATE_STORE_PATH_TEMPLATE` | Template for state store paths: `persistent-artifacts/apps/{application_name}/{state_type}/{id}/config.json` | Organizing persistent state data |
|
|
120
|
+
| `OBSERVABILITY_DIR` | Directory for observability data: `artifacts/apps/{application_name}/observability` | Storing logs, metrics, and traces |
|
|
121
|
+
|
|
122
|
+
## Common Configuration Patterns
|
|
123
|
+
|
|
124
|
+
### Local Development
|
|
125
|
+
For local development, most defaults work out of the box. Key configurations to consider:
|
|
126
|
+
- `ATLAN_APPLICATION_NAME`: Set to a descriptive name for your application
|
|
127
|
+
- `ATLAN_TENANT_ID`: Set to identify your development environment
|
|
128
|
+
- `LOG_LEVEL`: Set to `DEBUG` for detailed logging during development
|
|
129
|
+
|
|
130
|
+
### Production Deployment
|
|
131
|
+
For production deployments, consider these essential configurations:
|
|
132
|
+
- `ATLAN_WORKFLOW_AUTH_ENABLED=true`: Enable authentication for Temporal
|
|
133
|
+
- `ENABLE_ATLAN_UPLOAD=true`: Enable data upload to Atlan platform
|
|
134
|
+
- `ATLAN_DEPLOYMENT_SECRETS`: Configure authentication secrets
|
|
135
|
+
- `ATLAN_WORKFLOW_HOST` and `ATLAN_WORKFLOW_PORT`: Point to production Temporal cluster
|
|
136
|
+
- Storage configuration: Set `DEPLOYMENT_OBJECT_STORE_NAME` and `UPSTREAM_OBJECT_STORE_NAME`
|
|
137
|
+
|
|
138
|
+
### Performance Tuning
|
|
139
|
+
- `ATLAN_MAX_CONCURRENT_ACTIVITIES`: Adjust based on target system capacity
|
|
140
|
+
- `DAPR_MAX_GRPC_MESSAGE_LENGTH`: Increase for large data processing
|
|
141
|
+
- Batch sizes: Adjust `*_BATCH_SIZE` variables based on memory and performance requirements
|
|
142
|
+
- Timeout values: Adjust `ATLAN_HEARTBEAT_TIMEOUT` and `ATLAN_START_TO_CLOSE_TIMEOUT` based on workload characteristics
|
|
143
|
+
|
|
144
|
+
### Observability Setup
|
|
145
|
+
- Enable telemetry: Set `ATLAN_ENABLE_OTLP_*` variables to `true`
|
|
146
|
+
- Configure retention: Adjust `*_RETENTION_DAYS` based on compliance requirements
|
|
147
|
+
- Set up cleanup: Enable `*_CLEANUP_ENABLED` to manage storage usage
|
|
148
|
+
|
|
149
|
+
## Note
|
|
150
|
+
|
|
151
|
+
Most configuration options have sensible defaults, but can be overridden by setting the corresponding environment variables. You can set these variables either in your environment or by creating a `.env` file in your project root.
|
|
152
|
+
|
|
153
|
+
Refer to the `.env.example` file in the repository for a complete example of environment variable configuration.
|
|
@@ -191,6 +191,116 @@ class TestObjectStore:
|
|
|
191
191
|
):
|
|
192
192
|
await ObjectStore.delete_prefix(prefix="prefix/")
|
|
193
193
|
|
|
194
|
+
@patch("application_sdk.services.objectstore.DaprClient")
|
|
195
|
+
async def test_get_content_success(self, mock_dapr_client: MagicMock) -> None:
|
|
196
|
+
"""Test successful file content retrieval."""
|
|
197
|
+
mock_client = MagicMock()
|
|
198
|
+
mock_response = MagicMock()
|
|
199
|
+
mock_response.data = b"test file content"
|
|
200
|
+
mock_client.invoke_binding.return_value = mock_response
|
|
201
|
+
mock_dapr_client.return_value.__enter__.return_value = mock_client
|
|
202
|
+
|
|
203
|
+
result = await ObjectStore.get_content(key="test/file.txt")
|
|
204
|
+
|
|
205
|
+
assert result == b"test file content"
|
|
206
|
+
mock_client.invoke_binding.assert_called_once_with(
|
|
207
|
+
binding_name="objectstore",
|
|
208
|
+
operation="get",
|
|
209
|
+
data=b'{"key": "test/file.txt"}',
|
|
210
|
+
binding_metadata={
|
|
211
|
+
"key": "test/file.txt",
|
|
212
|
+
"fileName": "test/file.txt",
|
|
213
|
+
"blobName": "test/file.txt",
|
|
214
|
+
},
|
|
215
|
+
)
|
|
216
|
+
|
|
217
|
+
@patch("application_sdk.services.objectstore.DaprClient")
|
|
218
|
+
async def test_get_content_file_not_found_with_suppress_error_false(
|
|
219
|
+
self, mock_dapr_client: MagicMock
|
|
220
|
+
) -> None:
|
|
221
|
+
"""Test get_content raises exception when file not found and suppress_error=False."""
|
|
222
|
+
mock_client = MagicMock()
|
|
223
|
+
mock_client.invoke_binding.side_effect = Exception("File not found")
|
|
224
|
+
mock_dapr_client.return_value.__enter__.return_value = mock_client
|
|
225
|
+
|
|
226
|
+
with pytest.raises(Exception, match="File not found"):
|
|
227
|
+
await ObjectStore.get_content(
|
|
228
|
+
key="nonexistent/file.txt", suppress_error=False
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
@patch("application_sdk.services.objectstore.DaprClient")
|
|
232
|
+
async def test_get_content_file_not_found_with_suppress_error_true(
|
|
233
|
+
self, mock_dapr_client: MagicMock
|
|
234
|
+
) -> None:
|
|
235
|
+
"""Test get_content returns None when file not found and suppress_error=True."""
|
|
236
|
+
mock_client = MagicMock()
|
|
237
|
+
mock_client.invoke_binding.side_effect = Exception("File not found")
|
|
238
|
+
mock_dapr_client.return_value.__enter__.return_value = mock_client
|
|
239
|
+
|
|
240
|
+
result = await ObjectStore.get_content(
|
|
241
|
+
key="nonexistent/file.txt", suppress_error=True
|
|
242
|
+
)
|
|
243
|
+
|
|
244
|
+
assert result is None
|
|
245
|
+
|
|
246
|
+
@patch("application_sdk.services.objectstore.DaprClient")
|
|
247
|
+
async def test_get_content_no_data_with_suppress_error_false(
|
|
248
|
+
self, mock_dapr_client: MagicMock
|
|
249
|
+
) -> None:
|
|
250
|
+
"""Test get_content raises exception when no data returned and suppress_error=False."""
|
|
251
|
+
mock_client = MagicMock()
|
|
252
|
+
mock_response = MagicMock()
|
|
253
|
+
mock_response.data = None
|
|
254
|
+
mock_client.invoke_binding.return_value = mock_response
|
|
255
|
+
mock_dapr_client.return_value.__enter__.return_value = mock_client
|
|
256
|
+
|
|
257
|
+
with pytest.raises(Exception, match="No data received for file: test/file.txt"):
|
|
258
|
+
await ObjectStore.get_content(key="test/file.txt", suppress_error=False)
|
|
259
|
+
|
|
260
|
+
@patch("application_sdk.services.objectstore.DaprClient")
|
|
261
|
+
async def test_get_content_no_data_with_suppress_error_true(
|
|
262
|
+
self, mock_dapr_client: MagicMock
|
|
263
|
+
) -> None:
|
|
264
|
+
"""Test get_content returns None when no data returned and suppress_error=True."""
|
|
265
|
+
mock_client = MagicMock()
|
|
266
|
+
mock_response = MagicMock()
|
|
267
|
+
mock_response.data = None
|
|
268
|
+
mock_client.invoke_binding.return_value = mock_response
|
|
269
|
+
mock_dapr_client.return_value.__enter__.return_value = mock_client
|
|
270
|
+
|
|
271
|
+
result = await ObjectStore.get_content(key="test/file.txt", suppress_error=True)
|
|
272
|
+
|
|
273
|
+
assert result is None
|
|
274
|
+
|
|
275
|
+
@patch("application_sdk.services.objectstore.DaprClient")
|
|
276
|
+
async def test_get_content_empty_data_with_suppress_error_false(
|
|
277
|
+
self, mock_dapr_client: MagicMock
|
|
278
|
+
) -> None:
|
|
279
|
+
"""Test get_content raises exception when empty data returned and suppress_error=False."""
|
|
280
|
+
mock_client = MagicMock()
|
|
281
|
+
mock_response = MagicMock()
|
|
282
|
+
mock_response.data = b""
|
|
283
|
+
mock_client.invoke_binding.return_value = mock_response
|
|
284
|
+
mock_dapr_client.return_value.__enter__.return_value = mock_client
|
|
285
|
+
|
|
286
|
+
with pytest.raises(Exception, match="No data received for file: test/file.txt"):
|
|
287
|
+
await ObjectStore.get_content(key="test/file.txt", suppress_error=False)
|
|
288
|
+
|
|
289
|
+
@patch("application_sdk.services.objectstore.DaprClient")
|
|
290
|
+
async def test_get_content_empty_data_with_suppress_error_true(
|
|
291
|
+
self, mock_dapr_client: MagicMock
|
|
292
|
+
) -> None:
|
|
293
|
+
"""Test get_content returns None when empty data returned and suppress_error=True."""
|
|
294
|
+
mock_client = MagicMock()
|
|
295
|
+
mock_response = MagicMock()
|
|
296
|
+
mock_response.data = b""
|
|
297
|
+
mock_client.invoke_binding.return_value = mock_response
|
|
298
|
+
mock_dapr_client.return_value.__enter__.return_value = mock_client
|
|
299
|
+
|
|
300
|
+
result = await ObjectStore.get_content(key="test/file.txt", suppress_error=True)
|
|
301
|
+
|
|
302
|
+
assert result is None
|
|
303
|
+
|
|
194
304
|
# @patch("application_sdk.services.objectstore.ObjectStore.list_files", new_callable=AsyncMock)
|
|
195
305
|
# @patch("application_sdk.services.objectstore.ObjectStore._download_file", new_callable=AsyncMock)
|
|
196
306
|
# async def test_download_directory_success(
|