atlan-application-sdk 0.1.1rc34__tar.gz → 0.1.1rc36__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.1rc36/.github/release_notes.md +9 -0
- atlan_application_sdk-0.1.1rc36/.github/workflows/verify-snyk-status.yml +17 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/CHANGELOG.md +20 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/PKG-INFO +4 -2
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/__init__.py +3 -2
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/common/utils.py +21 -1
- atlan_application_sdk-0.1.1rc36/application_sdk/activities/lock_management.py +110 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/metadata_extraction/base.py +4 -2
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/metadata_extraction/sql.py +13 -12
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/query_extraction/sql.py +24 -20
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/clients/atlan_auth.py +2 -2
- atlan_application_sdk-0.1.1rc36/application_sdk/clients/redis.py +443 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/clients/temporal.py +36 -196
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/common/error_codes.py +24 -3
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/constants.py +18 -1
- atlan_application_sdk-0.1.1rc36/application_sdk/decorators/locks.py +42 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/handlers/base.py +18 -1
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/inputs/json.py +6 -4
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/inputs/parquet.py +16 -13
- atlan_application_sdk-0.1.1rc36/application_sdk/interceptors/events.py +193 -0
- atlan_application_sdk-0.1.1rc36/application_sdk/interceptors/lock.py +139 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/outputs/__init__.py +6 -3
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/outputs/json.py +9 -6
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/outputs/parquet.py +10 -36
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/server/fastapi/__init__.py +4 -5
- atlan_application_sdk-0.1.1rc36/application_sdk/services/__init__.py +18 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/outputs → atlan_application_sdk-0.1.1rc36/application_sdk/services}/atlan_storage.py +64 -16
- {atlan_application_sdk-0.1.1rc34/application_sdk/outputs → atlan_application_sdk-0.1.1rc36/application_sdk/services}/eventstore.py +68 -6
- atlan_application_sdk-0.1.1rc36/application_sdk/services/objectstore.py +407 -0
- atlan_application_sdk-0.1.1rc36/application_sdk/services/secretstore.py +344 -0
- atlan_application_sdk-0.1.1rc36/application_sdk/services/statestore.py +267 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/version.py +1 -1
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/worker.py +1 -1
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/common.md +2 -2
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/inputs.md +2 -55
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/output_paths.md +3 -4
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/outputs.md +4 -11
- atlan_application_sdk-0.1.1rc36/docs/docs/concepts/services.md +582 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/temporal_auth.md +9 -23
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/workflows.md +5 -5
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/mkdocs.yml +1 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/pyproject.toml +6 -2
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/conftest.py +3 -3
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/activities/test_activities.py +3 -4
- atlan_application_sdk-0.1.1rc36/tests/unit/activities/test_lock_management.py +132 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/clients/test_atlan_auth.py +2 -2
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/clients/test_atlanauth.py +2 -2
- atlan_application_sdk-0.1.1rc36/tests/unit/clients/test_redis_client.py +343 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/clients/test_temporal_client.py +10 -9
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/common/test_credential_utils.py +17 -21
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/inputs/test_json.py +15 -6
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/inputs/test_parquet.py +42 -41
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/outputs/test_json_output.py +2 -2
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/outputs/test_output.py +10 -5
- atlan_application_sdk-0.1.1rc34/tests/unit/outputs/test_atlanstorage.py → atlan_application_sdk-0.1.1rc36/tests/unit/services/test_atlan_storage.py +54 -68
- {atlan_application_sdk-0.1.1rc34/tests/unit/outputs → atlan_application_sdk-0.1.1rc36/tests/unit/services}/test_eventstore.py +12 -12
- atlan_application_sdk-0.1.1rc36/tests/unit/services/test_objectstore.py +79 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/outputs → atlan_application_sdk-0.1.1rc36/tests/unit/services}/test_statestore.py +13 -7
- atlan_application_sdk-0.1.1rc36/tests/unit/transformers/__init__.py +0 -0
- atlan_application_sdk-0.1.1rc36/tests/unit/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/uv.lock +89 -6
- atlan_application_sdk-0.1.1rc34/.github/release_notes.md +0 -7
- atlan_application_sdk-0.1.1rc34/application_sdk/common/credential_utils.py +0 -85
- atlan_application_sdk-0.1.1rc34/application_sdk/inputs/objectstore.py +0 -238
- atlan_application_sdk-0.1.1rc34/application_sdk/inputs/secretstore.py +0 -130
- atlan_application_sdk-0.1.1rc34/application_sdk/inputs/statestore.py +0 -101
- atlan_application_sdk-0.1.1rc34/application_sdk/outputs/objectstore.py +0 -125
- atlan_application_sdk-0.1.1rc34/application_sdk/outputs/secretstore.py +0 -38
- atlan_application_sdk-0.1.1rc34/application_sdk/outputs/statestore.py +0 -113
- atlan_application_sdk-0.1.1rc34/tests/unit/outputs/test_objectstore.py +0 -153
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.cursor/rules/documentation.mdc +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.cursor/rules/exception-handling.mdc +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.cursor/rules/guidelines.mdc +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.cursor/rules/logging.mdc +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.cursor/rules/performance.mdc +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.cursor/rules/setup.mdc +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.cursor/rules/standards.mdc +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.cursor/rules/testing.mdc +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.env.example +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/CODEOWNERS +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/docgen/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/doclint/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/docstring-coverage/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/e2e-apps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/e2e-examples/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/setup-deps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/sync-branches/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/trivy/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/trivy-container/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/actions/unit-tests/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/dependabot.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/pull_request_template.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/scripts/extract_release_notes.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/scripts/pre_release.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/scripts/release.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/scripts/trivy-to-markdown.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/scripts/update_changelog.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/AMPM.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Accessibility.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Acronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Adverbs.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Auto.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Avoid.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Contractions.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Dashes.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/DateFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/DateNumbers.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/DateOrder.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Ellipses.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/FirstPerson.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Foreign.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Gender.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/GenderBias.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/GeneralURL.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/HeadingColons.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Headings.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Hyphens.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Negative.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Ordinal.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/OxfordComma.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Passive.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Percentages.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Plurals.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Quotes.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/RangeTime.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Semicolon.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/SentenceLength.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Spacing.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Suspended.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Terms.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/URLFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Units.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Vocab.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/We.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/Wordiness.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/Microsoft/meta.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/checks.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/checks.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/codeql.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/dependency-review.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/dependency-review.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/stale.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/stale.yml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/trivy-container.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/trivy.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflow-templates/trivy.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflows/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflows/pre-release.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflows/pull_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflows/push.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflows/release.yaml.disabled +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflows/scale-tests.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflows/schedule.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflows/tag-and-publish.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.github/workflows/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.gitignore +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.pre-commit-config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/.vscode/launch.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/CODE_OF_CONDUCT.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/CONTRIBUTING.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/LICENSE +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/NOTICE +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/README.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/SECURITY.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/common/models.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/metadata_extraction/rest.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/application/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/clients/async_atlan.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/clients/atlan.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/clients/base.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/clients/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/clients/workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/common/aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/common/dapr_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/common/dataframe_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/docgen/exporters → atlan_application_sdk-0.1.1rc36/application_sdk/decorators}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/docgen/models → atlan_application_sdk-0.1.1rc36/application_sdk/docgen/exporters}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/exporters/mkdocs.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/docgen/models/export → atlan_application_sdk-0.1.1rc36/application_sdk/docgen/models}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/docgen/parsers → atlan_application_sdk-0.1.1rc36/application_sdk/docgen/models/export}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/models/export/page.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/models/manifest/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/models/manifest/customer.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/models/manifest/internal.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/models/manifest/metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/models/manifest/page.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/models/manifest/section.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/observability → atlan_application_sdk-0.1.1rc36/application_sdk/docgen/parsers}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/parsers/directory.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/docgen/parsers/manifest.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/events/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/events/models.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/handlers/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/inputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/inputs/sql_query.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/server/fastapi/routers → atlan_application_sdk-0.1.1rc36/application_sdk/interceptors}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils → atlan_application_sdk-0.1.1rc36/application_sdk/observability}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/observability/decorators/observability_decorator.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/observability/logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/observability/metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/observability/observability.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/observability/traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/observability/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/outputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/server/fastapi/models.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/hypothesis → atlan_application_sdk-0.1.1rc36/application_sdk/server/fastapi/routers}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/server/fastapi/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/hypothesis/strategies → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/e2e/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/e2e/base.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/e2e/client.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/e2e/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/e2e/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/hypothesis/strategies/clients → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/hypothesis}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/hypothesis/strategies/common → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/hypothesis/strategies}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/hypothesis/strategies/handlers → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/hypothesis/strategies/clients}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/hypothesis/strategies/handlers/sql → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/hypothesis/strategies/common}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/hypothesis/strategies/inputs → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/hypothesis/strategies/handlers}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/hypothesis/strategies/outputs → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/hypothesis/strategies/handlers/sql}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/hypothesis/strategies/server → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/hypothesis/strategies/inputs}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/scale_data_generator → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/hypothesis/strategies/outputs}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/test_utils/scale_data_generator/output_handler → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/hypothesis/strategies/server}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
- {atlan_application_sdk-0.1.1rc34/application_sdk/transformers/common → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/scale_data_generator}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34/tests → atlan_application_sdk-0.1.1rc36/application_sdk/test_utils/scale_data_generator/output_handler}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/test_utils/workflow_monitoring.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/atlas/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit → atlan_application_sdk-0.1.1rc36/application_sdk/transformers/common}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/query/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/query/templates/column.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/query/templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/query/templates/function.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/query/templates/schema.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/query/templates/table.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/workflows/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/application_sdk/workflows/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/components/README.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/components/atlan-storage.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/components/aws-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/components/deployment-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/components/eventstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/components/objectstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/components/secretstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/components/statestore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/activities.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/application.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/application_sql.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/atlanupload.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/clients.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/handlers.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/server.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/concepts/worker.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/configuration.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/guides/architecture.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/guides/atlantis.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/guides/best-practices.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/guides/getting-started.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/guides/index.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/guides/partners.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/guides/secretstores.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/guides/sql-application-guide.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/guides/test-framework.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/index.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/setup/LINUX.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/setup/MAC.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/setup/WINDOWS.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/setup/troubleshooting.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/static/assets/logo.svg +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/static/javascripts/mathjax.js +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/docs/docs/static/stylesheets/extra.css +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/README.md +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/application_custom_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/application_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/application_hello_world.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/application_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/application_sql_miner.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/application_sql_with_custom_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/run_examples.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/examples/sql_query_templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/activities → atlan_application_sdk-0.1.1rc36/tests}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/activities/common → atlan_application_sdk-0.1.1rc36/tests/unit}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/activities/metadata_extraction → atlan_application_sdk-0.1.1rc36/tests/unit/activities}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/activities/query_extraction → atlan_application_sdk-0.1.1rc36/tests/unit/activities/common}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/activities/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/application → atlan_application_sdk-0.1.1rc36/tests/unit/activities/metadata_extraction}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/clients → atlan_application_sdk-0.1.1rc36/tests/unit/activities/query_extraction}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/handlers → atlan_application_sdk-0.1.1rc36/tests/unit/application}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/application/test_application.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/observability → atlan_application_sdk-0.1.1rc36/tests/unit/clients}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/clients/test_async_atlan.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/clients/test_async_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/clients/test_atlan_client.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/clients/test_base_client.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/clients/test_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/common/test_aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/server → atlan_application_sdk-0.1.1rc36/tests/unit/handlers}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/handlers/sql/test_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/handlers/sql/test_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/handlers/sql/test_tables_check.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/handlers/test_base_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/server/fastapi/routers → atlan_application_sdk-0.1.1rc36/tests/unit/observability}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/observability/test_logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/observability/test_metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/observability/test_traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/outputs/test_iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/transformers → atlan_application_sdk-0.1.1rc36/tests/unit/server}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34/tests/unit/transformers/atlas → atlan_application_sdk-0.1.1rc36/tests/unit/server/fastapi/routers}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/server/fastapi/test_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/test_worker.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/test_column.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/test_database.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/test_function.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/test_procedure.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/test_schema.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/atlas/test_table.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/raw/column.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/raw/database.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/raw/function.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/raw/table.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
- /atlan_application_sdk-0.1.1rc34/tests/unit/workflows/metadata_extraction/test_sql.py → /atlan_application_sdk-0.1.1rc36/tests/unit/workflows/metadata_extraction/test_sql_workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc34 → atlan_application_sdk-0.1.1rc36}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
## v0.1.1rc36 (September 01, 2025)
|
|
2
|
+
|
|
3
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc35...v0.1.1rc36
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Update to pyatlan 8.0.2 to get fix for AsyncWorkflowSearchResponse async iterator (#680) (by @Ernest Hill in [a33bc4c](https://github.com/atlanhq/application-sdk/commit/a33bc4c))
|
|
8
|
+
- implement Redis client with sync/async support and distributed locking (#621) (by @Mustafa in [e384ceb](https://github.com/atlanhq/application-sdk/commit/e384ceb))
|
|
9
|
+
- implement abstract methods in BaseHandler (by @Mustafa in [c7c1937](https://github.com/atlanhq/application-sdk/commit/c7c1937))
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: 'Verify Snyk PR Checks'
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, synchronize, reopened]
|
|
6
|
+
branches:
|
|
7
|
+
- 'main'
|
|
8
|
+
- 'master'
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
snyk_scan_results:
|
|
12
|
+
# This 'name' is what appears in the pull request's check list.
|
|
13
|
+
name: Snyk Scan Results
|
|
14
|
+
# Calls the reusable workflow from your central .github repository.
|
|
15
|
+
uses: atlanhq/.github/.github/workflows/reusable-verify-snyk-scans.yml@main
|
|
16
|
+
# Allows the reusable workflow to use the GITHUB_TOKEN from this repository.
|
|
17
|
+
secrets: inherit
|
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## v0.1.1rc36 (September 01, 2025)
|
|
5
|
+
|
|
6
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc35...v0.1.1rc36
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- Update to pyatlan 8.0.2 to get fix for AsyncWorkflowSearchResponse async iterator (#680) (by @Ernest Hill in [a33bc4c](https://github.com/atlanhq/application-sdk/commit/a33bc4c))
|
|
11
|
+
- implement Redis client with sync/async support and distributed locking (#621) (by @Mustafa in [e384ceb](https://github.com/atlanhq/application-sdk/commit/e384ceb))
|
|
12
|
+
- implement abstract methods in BaseHandler (by @Mustafa in [c7c1937](https://github.com/atlanhq/application-sdk/commit/c7c1937))
|
|
13
|
+
|
|
14
|
+
## v0.1.1rc35 (August 28, 2025)
|
|
15
|
+
|
|
16
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc34...v0.1.1rc35
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
- improve services abstraction (#658) (by @Nishchith Shetty in [f5a4c4e](https://github.com/atlanhq/application-sdk/commit/f5a4c4e))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
4
24
|
## v0.1.1rc34 (August 27, 2025)
|
|
5
25
|
|
|
6
26
|
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc33...v0.1.1rc34
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atlan-application-sdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1rc36
|
|
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
|
|
@@ -26,12 +26,14 @@ Requires-Dist: fastapi[standard]>=0.115.0
|
|
|
26
26
|
Requires-Dist: loguru>=0.7.3
|
|
27
27
|
Requires-Dist: opentelemetry-exporter-otlp>=1.27.0
|
|
28
28
|
Requires-Dist: psutil>=7.0.0
|
|
29
|
-
Requires-Dist: pyatlan>=8.0.
|
|
29
|
+
Requires-Dist: pyatlan>=8.0.2
|
|
30
30
|
Requires-Dist: pydantic>=2.10.6
|
|
31
31
|
Requires-Dist: python-dotenv>=1.1.0
|
|
32
32
|
Requires-Dist: uvloop>=0.21.0; sys_platform != 'win32'
|
|
33
33
|
Provides-Extra: daft
|
|
34
34
|
Requires-Dist: daft>=0.4.12; extra == 'daft'
|
|
35
|
+
Provides-Extra: distributed-lock
|
|
36
|
+
Requires-Dist: redis[hiredis]>=5.2.0; extra == 'distributed-lock'
|
|
35
37
|
Provides-Extra: iam-auth
|
|
36
38
|
Requires-Dist: boto3>=1.38.6; extra == 'iam-auth'
|
|
37
39
|
Provides-Extra: iceberg
|
|
@@ -29,7 +29,6 @@ from application_sdk.activities.common.utils import (
|
|
|
29
29
|
from application_sdk.common.error_codes import OrchestratorError
|
|
30
30
|
from application_sdk.constants import TEMPORARY_PATH
|
|
31
31
|
from application_sdk.handlers import HandlerInterface
|
|
32
|
-
from application_sdk.inputs.statestore import StateStoreInput, StateType
|
|
33
32
|
from application_sdk.observability.logger_adaptor import get_logger
|
|
34
33
|
|
|
35
34
|
logger = get_logger(__name__)
|
|
@@ -190,7 +189,9 @@ class ActivitiesInterface(ABC, Generic[ActivitiesStateType]):
|
|
|
190
189
|
|
|
191
190
|
try:
|
|
192
191
|
# This already handles the Dapr call internally
|
|
193
|
-
|
|
192
|
+
from application_sdk.services.statestore import StateStore, StateType
|
|
193
|
+
|
|
194
|
+
workflow_args = await StateStore.get_state(workflow_id, StateType.WORKFLOWS)
|
|
194
195
|
workflow_args["output_prefix"] = workflow_args.get(
|
|
195
196
|
"output_prefix", TEMPORARY_PATH
|
|
196
197
|
)
|
|
@@ -5,13 +5,18 @@ including workflow ID retrieval, automatic heartbeating, and periodic heartbeat
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
import asyncio
|
|
8
|
+
import os
|
|
8
9
|
from datetime import timedelta
|
|
9
10
|
from functools import wraps
|
|
10
11
|
from typing import Any, Awaitable, Callable, Optional, TypeVar, cast
|
|
11
12
|
|
|
12
13
|
from temporalio import activity
|
|
13
14
|
|
|
14
|
-
from application_sdk.constants import
|
|
15
|
+
from application_sdk.constants import (
|
|
16
|
+
APPLICATION_NAME,
|
|
17
|
+
TEMPORARY_PATH,
|
|
18
|
+
WORKFLOW_OUTPUT_PATH_TEMPLATE,
|
|
19
|
+
)
|
|
15
20
|
from application_sdk.observability.logger_adaptor import get_logger
|
|
16
21
|
|
|
17
22
|
logger = get_logger(__name__)
|
|
@@ -72,6 +77,21 @@ def build_output_path() -> str:
|
|
|
72
77
|
)
|
|
73
78
|
|
|
74
79
|
|
|
80
|
+
def get_object_store_prefix(path: str) -> str:
|
|
81
|
+
"""Get the object store prefix for the path.
|
|
82
|
+
Args:
|
|
83
|
+
path: The path to the output directory.
|
|
84
|
+
|
|
85
|
+
Returns:
|
|
86
|
+
The object store prefix for the path.
|
|
87
|
+
|
|
88
|
+
Example:
|
|
89
|
+
>>> get_object_store_prefix("./local/tmp/artifacts/apps/appName/workflows/wf-123/run-456")
|
|
90
|
+
"artifacts/apps/appName/workflows/wf-123/run-456"
|
|
91
|
+
"""
|
|
92
|
+
return os.path.relpath(path, TEMPORARY_PATH)
|
|
93
|
+
|
|
94
|
+
|
|
75
95
|
def auto_heartbeater(fn: F) -> F:
|
|
76
96
|
"""Decorator that automatically sends heartbeats during activity execution.
|
|
77
97
|
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"""Lock management activities for distributed locking.
|
|
2
|
+
|
|
3
|
+
These activities handle the actual Redis lock acquisition and release,
|
|
4
|
+
allowing the workflow to orchestrate locking without hitting Temporal's
|
|
5
|
+
deadlock timeout.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import asyncio
|
|
9
|
+
import random
|
|
10
|
+
from typing import Any, Dict
|
|
11
|
+
|
|
12
|
+
from temporalio import activity
|
|
13
|
+
|
|
14
|
+
from application_sdk.clients.redis import RedisClientAsync
|
|
15
|
+
from application_sdk.common.error_codes import ActivityError
|
|
16
|
+
from application_sdk.constants import APPLICATION_NAME, LOCK_RETRY_INTERVAL
|
|
17
|
+
from application_sdk.observability.logger_adaptor import get_logger
|
|
18
|
+
|
|
19
|
+
logger = get_logger(__name__)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@activity.defn
|
|
23
|
+
async def acquire_distributed_lock(
|
|
24
|
+
lock_name: str,
|
|
25
|
+
max_locks: int,
|
|
26
|
+
ttl_seconds: int = 100,
|
|
27
|
+
owner_id: str = "default_owner",
|
|
28
|
+
) -> Dict[str, Any]:
|
|
29
|
+
"""Acquire a distributed lock with retry logic.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
lock_name (str): Name of the resource to lock.
|
|
33
|
+
max_locks (int): Maximum number of concurrent locks allowed; must be > 0.
|
|
34
|
+
ttl_seconds (int): Time-to-live for the lock in seconds.
|
|
35
|
+
owner_id (str): Unique identifier for the lock owner.
|
|
36
|
+
|
|
37
|
+
Returns:
|
|
38
|
+
dict[str, Any]: Lock information with the following keys:
|
|
39
|
+
- slot_id (int): Allocated lock slot.
|
|
40
|
+
- resource_id (str): Fully qualified lock resource ID.
|
|
41
|
+
- owner_id (str): Owner identifier.
|
|
42
|
+
|
|
43
|
+
Raises:
|
|
44
|
+
ActivityError: If lock acquisition fails due to Redis errors or invalid parameters.
|
|
45
|
+
"""
|
|
46
|
+
# Input validation
|
|
47
|
+
if max_locks <= 0:
|
|
48
|
+
raise ActivityError(
|
|
49
|
+
f"{ActivityError.LOCK_ACQUISITION_ERROR}: max_locks must be greater than 0, got {max_locks}"
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
async with RedisClientAsync() as redis_client:
|
|
53
|
+
while True:
|
|
54
|
+
slot = random.randint(0, max_locks - 1)
|
|
55
|
+
resource_id = f"{APPLICATION_NAME}:{lock_name}:{slot}"
|
|
56
|
+
|
|
57
|
+
try:
|
|
58
|
+
# Acquire lock - connection will stay open until context exits
|
|
59
|
+
acquired = await redis_client._acquire_lock(
|
|
60
|
+
resource_id, owner_id, ttl_seconds
|
|
61
|
+
)
|
|
62
|
+
if acquired:
|
|
63
|
+
logger.info(
|
|
64
|
+
f"Lock acquired for slot {slot}, resource: {resource_id}"
|
|
65
|
+
)
|
|
66
|
+
return {
|
|
67
|
+
"slot_id": slot,
|
|
68
|
+
"resource_id": resource_id,
|
|
69
|
+
"owner_id": owner_id,
|
|
70
|
+
}
|
|
71
|
+
# If not acquired, continue retrying (lock held by another owner)
|
|
72
|
+
|
|
73
|
+
except Exception as e:
|
|
74
|
+
# Redis connection or operation failed - propagate as activity error
|
|
75
|
+
logger.error(f"Redis error during lock acquisition: {e}")
|
|
76
|
+
raise ActivityError(
|
|
77
|
+
f"{ActivityError.LOCK_ACQUISITION_ERROR}: Redis error during lock acquisition for {resource_id}"
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
# Wait before retrying
|
|
81
|
+
await asyncio.sleep(LOCK_RETRY_INTERVAL)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
@activity.defn
|
|
85
|
+
async def release_distributed_lock(
|
|
86
|
+
resource_id: str, owner_id: str = "default_owner"
|
|
87
|
+
) -> bool:
|
|
88
|
+
"""Release a distributed lock.
|
|
89
|
+
|
|
90
|
+
Args:
|
|
91
|
+
resource_id: Full resource identifier for the lock
|
|
92
|
+
owner_id: Unique identifier for the lock owner
|
|
93
|
+
|
|
94
|
+
Returns:
|
|
95
|
+
True if lock was released successfully, False otherwise
|
|
96
|
+
"""
|
|
97
|
+
async with RedisClientAsync() as redis_client:
|
|
98
|
+
try:
|
|
99
|
+
released, result = await redis_client._release_lock(resource_id, owner_id)
|
|
100
|
+
if released:
|
|
101
|
+
logger.info(
|
|
102
|
+
f"Lock released successfully: {resource_id}, result: {result.value}"
|
|
103
|
+
)
|
|
104
|
+
return released
|
|
105
|
+
|
|
106
|
+
except Exception as e:
|
|
107
|
+
logger.error(f"Redis error during lock release for {resource_id}: {e}")
|
|
108
|
+
# Don't raise exception for lock release failures - log and return False
|
|
109
|
+
# Lock release is best-effort and shouldn't fail the workflow
|
|
110
|
+
return False
|
|
@@ -5,10 +5,10 @@ from temporalio import activity
|
|
|
5
5
|
from application_sdk.activities import ActivitiesInterface, ActivitiesState
|
|
6
6
|
from application_sdk.activities.common.utils import get_workflow_id
|
|
7
7
|
from application_sdk.clients.base import BaseClient
|
|
8
|
-
from application_sdk.common.credential_utils import get_credentials
|
|
9
8
|
from application_sdk.constants import APP_TENANT_ID, APPLICATION_NAME
|
|
10
9
|
from application_sdk.handlers.base import BaseHandler
|
|
11
10
|
from application_sdk.observability.logger_adaptor import get_logger
|
|
11
|
+
from application_sdk.services.secretstore import SecretStore
|
|
12
12
|
from application_sdk.transformers import TransformerInterface
|
|
13
13
|
|
|
14
14
|
logger = get_logger(__name__)
|
|
@@ -76,7 +76,9 @@ class BaseMetadataExtractionActivities(ActivitiesInterface):
|
|
|
76
76
|
f"Retrieving credentials for credential_guid: {workflow_args['credential_guid']}"
|
|
77
77
|
)
|
|
78
78
|
try:
|
|
79
|
-
credentials = await get_credentials(
|
|
79
|
+
credentials = await SecretStore.get_credentials(
|
|
80
|
+
workflow_args["credential_guid"]
|
|
81
|
+
)
|
|
80
82
|
logger.info(
|
|
81
83
|
f"Successfully retrieved credentials with keys: {list(credentials.keys())}"
|
|
82
84
|
)
|
|
@@ -5,25 +5,24 @@ from temporalio import activity
|
|
|
5
5
|
|
|
6
6
|
from application_sdk.activities import ActivitiesInterface, ActivitiesState
|
|
7
7
|
from application_sdk.activities.common.models import ActivityStatistics
|
|
8
|
-
from application_sdk.activities.common.utils import
|
|
8
|
+
from application_sdk.activities.common.utils import (
|
|
9
|
+
auto_heartbeater,
|
|
10
|
+
get_object_store_prefix,
|
|
11
|
+
get_workflow_id,
|
|
12
|
+
)
|
|
9
13
|
from application_sdk.clients.sql import BaseSQLClient
|
|
10
|
-
from application_sdk.common.credential_utils import get_credentials
|
|
11
14
|
from application_sdk.common.dataframe_utils import is_empty_dataframe
|
|
12
15
|
from application_sdk.common.error_codes import ActivityError
|
|
13
16
|
from application_sdk.common.utils import prepare_query, read_sql_files
|
|
14
|
-
from application_sdk.constants import
|
|
15
|
-
APP_TENANT_ID,
|
|
16
|
-
APPLICATION_NAME,
|
|
17
|
-
SQL_QUERIES_PATH,
|
|
18
|
-
TEMPORARY_PATH,
|
|
19
|
-
)
|
|
17
|
+
from application_sdk.constants import APP_TENANT_ID, APPLICATION_NAME, SQL_QUERIES_PATH
|
|
20
18
|
from application_sdk.handlers.sql import BaseSQLHandler
|
|
21
19
|
from application_sdk.inputs.parquet import ParquetInput
|
|
22
20
|
from application_sdk.inputs.sql_query import SQLQueryInput
|
|
23
21
|
from application_sdk.observability.logger_adaptor import get_logger
|
|
24
|
-
from application_sdk.outputs.atlan_storage import AtlanStorageOutput
|
|
25
22
|
from application_sdk.outputs.json import JsonOutput
|
|
26
23
|
from application_sdk.outputs.parquet import ParquetOutput
|
|
24
|
+
from application_sdk.services.atlan_storage import AtlanStorage
|
|
25
|
+
from application_sdk.services.secretstore import SecretStore
|
|
27
26
|
from application_sdk.transformers import TransformerInterface
|
|
28
27
|
from application_sdk.transformers.query import QueryBasedTransformer
|
|
29
28
|
|
|
@@ -144,7 +143,9 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
|
|
|
144
143
|
self._state[workflow_id].handler = handler
|
|
145
144
|
|
|
146
145
|
if "credential_guid" in workflow_args:
|
|
147
|
-
credentials = await get_credentials(
|
|
146
|
+
credentials = await SecretStore.get_credentials(
|
|
147
|
+
workflow_args["credential_guid"]
|
|
148
|
+
)
|
|
148
149
|
await sql_client.load(credentials)
|
|
149
150
|
|
|
150
151
|
self._state[workflow_id].sql_client = sql_client
|
|
@@ -536,11 +537,11 @@ class BaseSQLMetadataExtractionActivities(ActivitiesInterface):
|
|
|
536
537
|
|
|
537
538
|
# Upload data from object store to Atlan storage
|
|
538
539
|
# Use workflow_id/workflow_run_id as the prefix to migrate specific data
|
|
539
|
-
migration_prefix =
|
|
540
|
+
migration_prefix = get_object_store_prefix(workflow_args["output_path"])
|
|
540
541
|
logger.info(
|
|
541
542
|
f"Starting migration from object store with prefix: {migration_prefix}"
|
|
542
543
|
)
|
|
543
|
-
upload_stats = await
|
|
544
|
+
upload_stats = await AtlanStorage.migrate_from_objectstore_to_atlan(
|
|
544
545
|
prefix=migration_prefix
|
|
545
546
|
)
|
|
546
547
|
|
|
@@ -7,17 +7,20 @@ from pydantic import BaseModel, Field
|
|
|
7
7
|
from temporalio import activity
|
|
8
8
|
|
|
9
9
|
from application_sdk.activities import ActivitiesInterface, ActivitiesState
|
|
10
|
-
from application_sdk.activities.common.utils import
|
|
10
|
+
from application_sdk.activities.common.utils import (
|
|
11
|
+
auto_heartbeater,
|
|
12
|
+
get_object_store_prefix,
|
|
13
|
+
get_workflow_id,
|
|
14
|
+
)
|
|
11
15
|
from application_sdk.clients.sql import BaseSQLClient
|
|
12
|
-
from application_sdk.common.credential_utils import get_credentials
|
|
13
16
|
from application_sdk.constants import UPSTREAM_OBJECT_STORE_NAME
|
|
14
17
|
from application_sdk.handlers import HandlerInterface
|
|
15
18
|
from application_sdk.handlers.sql import BaseSQLHandler
|
|
16
|
-
from application_sdk.inputs.objectstore import ObjectStoreInput
|
|
17
19
|
from application_sdk.inputs.sql_query import SQLQueryInput
|
|
18
20
|
from application_sdk.observability.logger_adaptor import get_logger
|
|
19
|
-
from application_sdk.outputs.objectstore import ObjectStoreOutput
|
|
20
21
|
from application_sdk.outputs.parquet import ParquetOutput
|
|
22
|
+
from application_sdk.services.objectstore import ObjectStore
|
|
23
|
+
from application_sdk.services.secretstore import SecretStore
|
|
21
24
|
from application_sdk.transformers import TransformerInterface
|
|
22
25
|
from application_sdk.transformers.atlas import AtlasTransformer
|
|
23
26
|
|
|
@@ -129,7 +132,9 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
129
132
|
workflow_id = get_workflow_id()
|
|
130
133
|
sql_client = self.sql_client_class()
|
|
131
134
|
if "credential_guid" in workflow_args:
|
|
132
|
-
credentials = await get_credentials(
|
|
135
|
+
credentials = await SecretStore.get_credentials(
|
|
136
|
+
workflow_args["credential_guid"]
|
|
137
|
+
)
|
|
133
138
|
await sql_client.load(credentials)
|
|
134
139
|
|
|
135
140
|
handler = self.handler_class(sql_client)
|
|
@@ -412,14 +417,14 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
412
417
|
f.write(last_marker)
|
|
413
418
|
|
|
414
419
|
logger.info(f"Last marker: {last_marker}")
|
|
415
|
-
await
|
|
416
|
-
|
|
417
|
-
marker_file_path,
|
|
418
|
-
|
|
420
|
+
await ObjectStore.upload_file(
|
|
421
|
+
source=marker_file_path,
|
|
422
|
+
destination=get_object_store_prefix(marker_file_path),
|
|
423
|
+
store_name=UPSTREAM_OBJECT_STORE_NAME,
|
|
419
424
|
)
|
|
420
425
|
logger.info(f"Marker file written to {marker_file_path}")
|
|
421
426
|
|
|
422
|
-
def read_marker(self, workflow_args: Dict[str, Any]) -> Optional[int]:
|
|
427
|
+
async def read_marker(self, workflow_args: Dict[str, Any]) -> Optional[int]:
|
|
423
428
|
"""Read the marker from the output path.
|
|
424
429
|
|
|
425
430
|
This method reads the current marker value from a marker file to determine the
|
|
@@ -442,15 +447,12 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
442
447
|
marker_file_path = os.path.join(output_path, "markerfile")
|
|
443
448
|
logger.info(f"Downloading marker file from {marker_file_path}")
|
|
444
449
|
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
marker_file_path,
|
|
450
|
-
object_store_name=UPSTREAM_OBJECT_STORE_NAME,
|
|
450
|
+
await ObjectStore.download_file(
|
|
451
|
+
source=get_object_store_prefix(marker_file_path),
|
|
452
|
+
destination=marker_file_path,
|
|
453
|
+
store_name=UPSTREAM_OBJECT_STORE_NAME,
|
|
451
454
|
)
|
|
452
455
|
|
|
453
|
-
logger.info(f"Output prefix: {workflow_args['output_prefix']}")
|
|
454
456
|
logger.info(f"Marker file downloaded to {marker_file_path}")
|
|
455
457
|
if not os.path.exists(marker_file_path):
|
|
456
458
|
logger.warning(f"Marker file does not exist at {marker_file_path}")
|
|
@@ -487,7 +489,7 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
487
489
|
|
|
488
490
|
miner_args = MinerArgs(**workflow_args.get("miner_args", {}))
|
|
489
491
|
|
|
490
|
-
current_marker = self.read_marker(workflow_args)
|
|
492
|
+
current_marker = await self.read_marker(workflow_args)
|
|
491
493
|
if current_marker:
|
|
492
494
|
miner_args.current_marker = current_marker
|
|
493
495
|
|
|
@@ -522,8 +524,10 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
522
524
|
with open(metadata_file_path, "w") as f:
|
|
523
525
|
f.write(json.dumps(parallel_markers))
|
|
524
526
|
|
|
525
|
-
await
|
|
526
|
-
|
|
527
|
+
await ObjectStore.upload_file(
|
|
528
|
+
source=metadata_file_path,
|
|
529
|
+
destination=get_object_store_prefix(metadata_file_path),
|
|
530
|
+
store_name=UPSTREAM_OBJECT_STORE_NAME,
|
|
527
531
|
)
|
|
528
532
|
|
|
529
533
|
try:
|
|
@@ -13,8 +13,8 @@ from application_sdk.constants import (
|
|
|
13
13
|
WORKFLOW_AUTH_ENABLED,
|
|
14
14
|
WORKFLOW_AUTH_URL_KEY,
|
|
15
15
|
)
|
|
16
|
-
from application_sdk.inputs.secretstore import SecretStoreInput
|
|
17
16
|
from application_sdk.observability.logger_adaptor import get_logger
|
|
17
|
+
from application_sdk.services.secretstore import SecretStore
|
|
18
18
|
|
|
19
19
|
logger = get_logger(__name__)
|
|
20
20
|
|
|
@@ -39,7 +39,7 @@ class AtlanAuthClient:
|
|
|
39
39
|
(environment variables, AWS Secrets Manager, Azure Key Vault, etc.)
|
|
40
40
|
"""
|
|
41
41
|
self.application_name = APPLICATION_NAME
|
|
42
|
-
self.auth_config: Dict[str, Any] =
|
|
42
|
+
self.auth_config: Dict[str, Any] = SecretStore.get_deployment_secret()
|
|
43
43
|
self.auth_enabled: bool = WORKFLOW_AUTH_ENABLED
|
|
44
44
|
self.auth_url: Optional[str] = None
|
|
45
45
|
|