atlan-application-sdk 0.1.1rc32__tar.gz → 0.1.1rc33__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.1rc33/.github/release_notes.md +3 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/CHANGELOG.md +5 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/PKG-INFO +3 -3
- atlan_application_sdk-0.1.1rc33/application_sdk/clients/async_atlan.py +70 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/version.py +1 -1
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/pyproject.toml +3 -3
- atlan_application_sdk-0.1.1rc33/tests/unit/clients/test_async_atlan.py +309 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/uv.lock +98 -98
- atlan_application_sdk-0.1.1rc32/.github/release_notes.md +0 -9
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.cursor/rules/documentation.mdc +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.cursor/rules/exception-handling.mdc +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.cursor/rules/guidelines.mdc +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.cursor/rules/logging.mdc +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.cursor/rules/performance.mdc +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.cursor/rules/setup.mdc +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.cursor/rules/standards.mdc +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.cursor/rules/testing.mdc +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.env.example +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/CODEOWNERS +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/docgen/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/doclint/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/docstring-coverage/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/e2e-apps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/e2e-examples/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/setup-deps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/sync-branches/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/trivy/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/trivy-container/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/actions/unit-tests/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/dependabot.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/pull_request_template.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/scripts/extract_release_notes.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/scripts/pre_release.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/scripts/release.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/scripts/trivy-to-markdown.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/scripts/update_changelog.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/AMPM.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Accessibility.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Acronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Adverbs.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Auto.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Avoid.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Contractions.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Dashes.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/DateFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/DateNumbers.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/DateOrder.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Ellipses.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/FirstPerson.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Foreign.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Gender.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/GenderBias.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/GeneralURL.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/HeadingColons.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Headings.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Hyphens.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Negative.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Ordinal.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/OxfordComma.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Passive.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Percentages.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Plurals.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Quotes.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/RangeTime.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Semicolon.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/SentenceLength.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Spacing.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Suspended.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Terms.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/URLFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Units.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Vocab.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/We.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/Wordiness.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/Microsoft/meta.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/checks.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/checks.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/codeql.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/dependency-review.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/dependency-review.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/stale.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/stale.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/trivy-container.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/trivy.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflow-templates/trivy.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflows/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflows/pre-release.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflows/pull_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflows/push.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflows/release.yaml.disabled +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflows/scale-tests.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflows/schedule.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflows/tag-and-publish.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.github/workflows/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.gitignore +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.pre-commit-config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/.vscode/launch.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/CODE_OF_CONDUCT.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/CONTRIBUTING.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/LICENSE +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/NOTICE +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/README.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/SECURITY.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/activities/common/models.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/activities/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/activities/metadata_extraction/rest.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/activities/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/activities/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/application/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/clients/atlan.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/clients/atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/clients/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/clients/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/clients/workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/common/aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/common/credential_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/common/dapr_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/common/dataframe_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/common/error_codes.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/constants.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/exporters/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/exporters/mkdocs.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/models/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/models/export/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/models/export/page.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/models/manifest/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/models/manifest/customer.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/models/manifest/internal.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/models/manifest/metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/models/manifest/page.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/models/manifest/section.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/parsers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/parsers/directory.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/docgen/parsers/manifest.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/events/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/events/models.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/handlers/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/inputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/inputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/inputs/objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/inputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/inputs/secretstore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/inputs/sql_query.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/inputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/observability/decorators/observability_decorator.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/observability/logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/observability/metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/observability/observability.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/observability/traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/observability/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/outputs/atlan_storage.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/outputs/eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/outputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/outputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/outputs/objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/outputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/outputs/secretstore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/server/fastapi/models.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/server/fastapi/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/e2e/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/e2e/base.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/e2e/client.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/e2e/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/e2e/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/test_utils/workflow_monitoring.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/atlas/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/query/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/query/templates/column.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/query/templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/query/templates/function.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/query/templates/schema.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/query/templates/table.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/worker.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/workflows/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/application_sdk/workflows/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/components/README.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/components/atlan-storage.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/components/aws-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/components/deployment-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/components/eventstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/components/objectstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/components/secretstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/components/statestore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/activities.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/application.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/application_sql.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/atlanupload.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/clients.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/common.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/handlers.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/inputs.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/output_paths.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/outputs.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/server.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/temporal_auth.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/worker.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/concepts/workflows.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/configuration.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/guides/architecture.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/guides/atlantis.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/guides/best-practices.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/guides/getting-started.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/guides/index.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/guides/partners.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/guides/secretstores.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/guides/sql-application-guide.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/guides/test-framework.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/index.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/setup/LINUX.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/setup/MAC.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/setup/WINDOWS.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/setup/troubleshooting.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/static/assets/logo.svg +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/static/javascripts/mathjax.js +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/docs/static/stylesheets/extra.css +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/docs/mkdocs.yml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/README.md +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/application_custom_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/application_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/application_hello_world.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/application_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/application_sql_miner.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/application_sql_with_custom_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/run_examples.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/examples/sql_query_templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/activities/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/activities/test_activities.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/application/test_application.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/clients/test_async_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/clients/test_atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/clients/test_atlan_client.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/clients/test_atlanauth.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/clients/test_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/clients/test_temporal_client.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/common/test_aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/common/test_credential_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/handlers/sql/test_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/handlers/sql/test_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/handlers/sql/test_tables_check.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/inputs/test_json.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/inputs/test_parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/observability/test_logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/observability/test_metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/observability/test_traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/outputs/test_atlanstorage.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/outputs/test_eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/outputs/test_iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/outputs/test_json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/outputs/test_objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/outputs/test_output.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/outputs/test_statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/server/fastapi/test_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/test_worker.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/test_column.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/test_database.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/test_function.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/test_procedure.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/test_schema.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/atlas/test_table.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/raw/column.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/raw/database.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/raw/function.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/raw/table.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/workflows/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc32 → atlan_application_sdk-0.1.1rc33}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atlan-application-sdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1rc33
|
|
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,12 @@ 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>=
|
|
29
|
+
Requires-Dist: pyatlan>=8.0.0
|
|
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
|
-
Requires-Dist: daft
|
|
34
|
+
Requires-Dist: daft>=0.4.12; extra == 'daft'
|
|
35
35
|
Provides-Extra: iam-auth
|
|
36
36
|
Requires-Dist: boto3>=1.38.6; extra == 'iam-auth'
|
|
37
37
|
Provides-Extra: iceberg
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from pyatlan.client.aio.client import AsyncAtlanClient
|
|
4
|
+
|
|
5
|
+
from application_sdk.common.error_codes import ClientError
|
|
6
|
+
from application_sdk.constants import (
|
|
7
|
+
ATLAN_API_KEY,
|
|
8
|
+
ATLAN_API_TOKEN_GUID,
|
|
9
|
+
ATLAN_BASE_URL,
|
|
10
|
+
ATLAN_CLIENT_ID,
|
|
11
|
+
ATLAN_CLIENT_SECRET,
|
|
12
|
+
)
|
|
13
|
+
from application_sdk.observability.logger_adaptor import get_logger
|
|
14
|
+
|
|
15
|
+
logger = get_logger(__name__)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
async def get_client(
|
|
19
|
+
base_url: Optional[str] = None,
|
|
20
|
+
api_key: Optional[str] = None,
|
|
21
|
+
api_token_guid: Optional[str] = None,
|
|
22
|
+
) -> AsyncAtlanClient:
|
|
23
|
+
"""
|
|
24
|
+
Returns an authenticated AsyncAtlanClient instance using provided parameters or environment variables.
|
|
25
|
+
|
|
26
|
+
Selects authentication method based on the presence of parameters or environment variables and validates the required configuration.
|
|
27
|
+
In general, the use of environment variables is recommended. Any parameters specified will override the environment variables.
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
base_url: Atlan base URL (overrides ATLAN_BASE_URL)
|
|
31
|
+
api_key: Atlan API key (overrides ATLAN_API_KEY)
|
|
32
|
+
api_token_guid: API token GUID (overrides API_TOKEN_GUID)
|
|
33
|
+
"""
|
|
34
|
+
# Resolve final values (parameters override env vars)
|
|
35
|
+
final_token_guid = api_token_guid or ATLAN_API_TOKEN_GUID
|
|
36
|
+
final_base_url = base_url or ATLAN_BASE_URL
|
|
37
|
+
final_api_key = api_key or ATLAN_API_KEY
|
|
38
|
+
|
|
39
|
+
# Priority 1: Token-based auth (recommended for production)
|
|
40
|
+
if final_token_guid:
|
|
41
|
+
if final_base_url or final_api_key:
|
|
42
|
+
logger.warning(
|
|
43
|
+
"Token auth takes precedence - ignoring base_url/api_key parameters as well as ATLAN_BASE_URL and ATLAN_API_KEY environment variables."
|
|
44
|
+
)
|
|
45
|
+
return await _get_client_from_token(final_token_guid)
|
|
46
|
+
|
|
47
|
+
# Priority 2: API key + base URL auth
|
|
48
|
+
if not final_base_url:
|
|
49
|
+
raise ClientError(
|
|
50
|
+
"ATLAN_BASE_URL is required (via parameter or environment variable)"
|
|
51
|
+
)
|
|
52
|
+
if not final_api_key:
|
|
53
|
+
raise ClientError(
|
|
54
|
+
"ATLAN_API_KEY is required (via parameter or environment variable)"
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
logger.info("Using API key-based authentication")
|
|
58
|
+
return AsyncAtlanClient(base_url=final_base_url, api_key=final_api_key)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
async def _get_client_from_token(api_token_guid: str):
|
|
62
|
+
if not ATLAN_CLIENT_ID:
|
|
63
|
+
raise ClientError(
|
|
64
|
+
f"{ClientError.AUTH_CONFIG_ERROR}: Environment variable CLIENT_ID is required when API_TOKEN_GUID is set."
|
|
65
|
+
)
|
|
66
|
+
if not ATLAN_CLIENT_SECRET:
|
|
67
|
+
raise ClientError(
|
|
68
|
+
f"{ClientError.AUTH_CONFIG_ERROR}: Environment variable CLIENT_SECRET is required when API_TOKEN_GUID is set."
|
|
69
|
+
)
|
|
70
|
+
return await AsyncAtlanClient.from_token_guid(guid=api_token_guid)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "atlan-application-sdk"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.1rc33"
|
|
4
4
|
description = "Atlan Application SDK is a Python library for developing applications on the Atlan Platform"
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -24,7 +24,7 @@ dependencies = [
|
|
|
24
24
|
"opentelemetry-exporter-otlp>=1.27.0",
|
|
25
25
|
"psutil>=7.0.0",
|
|
26
26
|
"fastapi[standard]>=0.115.0",
|
|
27
|
-
"pyatlan>=
|
|
27
|
+
"pyatlan>=8.0.0",
|
|
28
28
|
"pydantic>=2.10.6",
|
|
29
29
|
"loguru>=0.7.3",
|
|
30
30
|
"uvloop>=0.21.0; sys_platform != 'win32'",
|
|
@@ -49,7 +49,7 @@ pandas = [
|
|
|
49
49
|
"pandas>=2.2.3"
|
|
50
50
|
]
|
|
51
51
|
daft = [
|
|
52
|
-
"daft
|
|
52
|
+
"daft>=0.4.12",
|
|
53
53
|
]
|
|
54
54
|
iceberg = [
|
|
55
55
|
"pyiceberg>=0.8.1",
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
from unittest.mock import MagicMock, patch
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
|
|
5
|
+
from application_sdk.clients.async_atlan import get_client
|
|
6
|
+
from application_sdk.common.error_codes import ClientError
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@pytest.mark.asyncio
|
|
10
|
+
@pytest.mark.parametrize(
|
|
11
|
+
"params,constants,msg",
|
|
12
|
+
[
|
|
13
|
+
# Error: missing base_url
|
|
14
|
+
(
|
|
15
|
+
{"base_url": None, "api_key": "api_key_789", "api_token_guid": None},
|
|
16
|
+
{
|
|
17
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
18
|
+
"ATLAN_BASE_URL": None,
|
|
19
|
+
"ATLAN_API_KEY": None,
|
|
20
|
+
"ATLAN_CLIENT_ID": None,
|
|
21
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
22
|
+
},
|
|
23
|
+
"ATLAN_BASE_URL is required",
|
|
24
|
+
),
|
|
25
|
+
# Error: missing api_key
|
|
26
|
+
(
|
|
27
|
+
{"base_url": "https://atlan.com", "api_key": None, "api_token_guid": None},
|
|
28
|
+
{
|
|
29
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
30
|
+
"ATLAN_BASE_URL": None,
|
|
31
|
+
"ATLAN_API_KEY": None,
|
|
32
|
+
"ATLAN_CLIENT_ID": None,
|
|
33
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
34
|
+
},
|
|
35
|
+
"ATLAN_API_KEY is required",
|
|
36
|
+
),
|
|
37
|
+
# Error: missing both base_url and api_key
|
|
38
|
+
(
|
|
39
|
+
{"base_url": None, "api_key": None, "api_token_guid": None},
|
|
40
|
+
{
|
|
41
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
42
|
+
"ATLAN_BASE_URL": None,
|
|
43
|
+
"ATLAN_API_KEY": None,
|
|
44
|
+
"ATLAN_CLIENT_ID": None,
|
|
45
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
46
|
+
},
|
|
47
|
+
"ATLAN_BASE_URL is required",
|
|
48
|
+
),
|
|
49
|
+
# Error: missing client_id
|
|
50
|
+
(
|
|
51
|
+
{"base_url": None, "api_key": None, "api_token_guid": "guid_param"},
|
|
52
|
+
{
|
|
53
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
54
|
+
"ATLAN_BASE_URL": None,
|
|
55
|
+
"ATLAN_API_KEY": None,
|
|
56
|
+
"ATLAN_CLIENT_ID": None,
|
|
57
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
58
|
+
},
|
|
59
|
+
"Environment variable CLIENT_ID is required when API_TOKEN_GUID is set",
|
|
60
|
+
),
|
|
61
|
+
# Error: missing client_secret
|
|
62
|
+
(
|
|
63
|
+
{"base_url": None, "api_key": None, "api_token_guid": "guid_param"},
|
|
64
|
+
{
|
|
65
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
66
|
+
"ATLAN_BASE_URL": None,
|
|
67
|
+
"ATLAN_API_KEY": None,
|
|
68
|
+
"ATLAN_CLIENT_ID": "CLIENT_ID_789",
|
|
69
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
70
|
+
},
|
|
71
|
+
"Environment variable CLIENT_SECRET is required when API_TOKEN_GUID is set",
|
|
72
|
+
),
|
|
73
|
+
],
|
|
74
|
+
ids=[
|
|
75
|
+
"missing_base_url",
|
|
76
|
+
"missing_api_key",
|
|
77
|
+
"missing_both_base_url_and_api_key",
|
|
78
|
+
"missing_client_id",
|
|
79
|
+
"missing_client_secret",
|
|
80
|
+
],
|
|
81
|
+
)
|
|
82
|
+
async def test_get_client_bad_params(params, constants, msg):
|
|
83
|
+
# Arrange
|
|
84
|
+
with patch(
|
|
85
|
+
"application_sdk.clients.async_atlan.ATLAN_API_TOKEN_GUID",
|
|
86
|
+
constants["ATLAN_API_TOKEN_GUID"],
|
|
87
|
+
), patch(
|
|
88
|
+
"application_sdk.clients.async_atlan.ATLAN_BASE_URL",
|
|
89
|
+
constants["ATLAN_BASE_URL"],
|
|
90
|
+
), patch(
|
|
91
|
+
"application_sdk.clients.async_atlan.ATLAN_API_KEY",
|
|
92
|
+
constants["ATLAN_API_KEY"],
|
|
93
|
+
), patch(
|
|
94
|
+
"application_sdk.clients.async_atlan.ATLAN_CLIENT_ID",
|
|
95
|
+
constants["ATLAN_CLIENT_ID"],
|
|
96
|
+
), patch(
|
|
97
|
+
"application_sdk.clients.async_atlan.ATLAN_CLIENT_SECRET",
|
|
98
|
+
constants["ATLAN_CLIENT_SECRET"],
|
|
99
|
+
):
|
|
100
|
+
# Act / Assert
|
|
101
|
+
with pytest.raises(ClientError) as excinfo:
|
|
102
|
+
await get_client(**params)
|
|
103
|
+
# Assert
|
|
104
|
+
assert msg in str(excinfo.value)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
@pytest.mark.asyncio
|
|
108
|
+
@pytest.mark.parametrize(
|
|
109
|
+
"params,constants,expected_call,expected_args,expected_log,raises",
|
|
110
|
+
[
|
|
111
|
+
# Happy path: token auth via param
|
|
112
|
+
(
|
|
113
|
+
{"base_url": None, "api_key": None, "api_token_guid": "guid_param"},
|
|
114
|
+
{
|
|
115
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
116
|
+
"ATLAN_BASE_URL": None,
|
|
117
|
+
"ATLAN_API_KEY": None,
|
|
118
|
+
"ATLAN_CLIENT_ID": "cid",
|
|
119
|
+
"ATLAN_CLIENT_SECRET": "csecret",
|
|
120
|
+
},
|
|
121
|
+
"_get_client_from_token",
|
|
122
|
+
("guid_param",),
|
|
123
|
+
None,
|
|
124
|
+
None,
|
|
125
|
+
),
|
|
126
|
+
# Happy path: token auth via env
|
|
127
|
+
(
|
|
128
|
+
{"base_url": None, "api_key": None, "api_token_guid": None},
|
|
129
|
+
{
|
|
130
|
+
"ATLAN_API_TOKEN_GUID": "guid_const",
|
|
131
|
+
"ATLAN_BASE_URL": None,
|
|
132
|
+
"ATLAN_API_KEY": None,
|
|
133
|
+
"ATLAN_CLIENT_ID": "cid",
|
|
134
|
+
"ATLAN_CLIENT_SECRET": "csecret",
|
|
135
|
+
},
|
|
136
|
+
"_get_client_from_token",
|
|
137
|
+
("guid_const",),
|
|
138
|
+
None,
|
|
139
|
+
None,
|
|
140
|
+
),
|
|
141
|
+
# Happy path: token auth, base_url/api_key params present (should log warning)
|
|
142
|
+
(
|
|
143
|
+
{
|
|
144
|
+
"base_url": "https://atlan.com",
|
|
145
|
+
"api_key": "api_key_123",
|
|
146
|
+
"api_token_guid": "guid_param",
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
150
|
+
"ATLAN_BASE_URL": None,
|
|
151
|
+
"ATLAN_API_KEY": None,
|
|
152
|
+
"ATLAN_CLIENT_ID": "cid",
|
|
153
|
+
"ATLAN_CLIENT_SECRET": "csecret",
|
|
154
|
+
},
|
|
155
|
+
"_get_client_from_token",
|
|
156
|
+
("guid_param",),
|
|
157
|
+
"warning",
|
|
158
|
+
None,
|
|
159
|
+
),
|
|
160
|
+
],
|
|
161
|
+
ids=[
|
|
162
|
+
"param_token_guid",
|
|
163
|
+
"env_token_guid",
|
|
164
|
+
"token_guid_with_base_url_api_key",
|
|
165
|
+
],
|
|
166
|
+
)
|
|
167
|
+
async def test_get_client_with_token_guid(
|
|
168
|
+
params, constants, expected_call, expected_args, expected_log, raises
|
|
169
|
+
):
|
|
170
|
+
# Arrange
|
|
171
|
+
|
|
172
|
+
with patch(
|
|
173
|
+
"application_sdk.clients.async_atlan.ATLAN_API_TOKEN_GUID",
|
|
174
|
+
constants["ATLAN_API_TOKEN_GUID"],
|
|
175
|
+
), patch(
|
|
176
|
+
"application_sdk.clients.async_atlan.ATLAN_BASE_URL",
|
|
177
|
+
constants["ATLAN_BASE_URL"],
|
|
178
|
+
), patch(
|
|
179
|
+
"application_sdk.clients.async_atlan.ATLAN_API_KEY",
|
|
180
|
+
constants["ATLAN_API_KEY"],
|
|
181
|
+
), patch(
|
|
182
|
+
"application_sdk.clients.async_atlan.ATLAN_CLIENT_ID",
|
|
183
|
+
constants["ATLAN_CLIENT_ID"],
|
|
184
|
+
), patch(
|
|
185
|
+
"application_sdk.clients.async_atlan.ATLAN_CLIENT_SECRET",
|
|
186
|
+
constants["ATLAN_CLIENT_SECRET"],
|
|
187
|
+
), patch(
|
|
188
|
+
"application_sdk.clients.async_atlan._get_client_from_token"
|
|
189
|
+
) as mock_get_client_from_token, patch(
|
|
190
|
+
"application_sdk.clients.async_atlan.AsyncAtlanClient"
|
|
191
|
+
) as mock_atlan_client, patch(
|
|
192
|
+
"application_sdk.clients.async_atlan.logger"
|
|
193
|
+
) as mock_logger:
|
|
194
|
+
mock_client_instance = MagicMock()
|
|
195
|
+
mock_get_client_from_token.return_value = mock_client_instance
|
|
196
|
+
mock_atlan_client.return_value = mock_client_instance
|
|
197
|
+
|
|
198
|
+
# Act & Assert
|
|
199
|
+
# Act
|
|
200
|
+
result = await get_client(**params)
|
|
201
|
+
# Assert
|
|
202
|
+
mock_get_client_from_token.assert_awaited_once_with(*expected_args)
|
|
203
|
+
assert result == mock_client_instance
|
|
204
|
+
if expected_log == "warning":
|
|
205
|
+
mock_logger.warning.assert_called_once()
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
@pytest.mark.asyncio
|
|
209
|
+
@pytest.mark.parametrize(
|
|
210
|
+
"params,constants,expected_call,expected_args,expected_log,raises",
|
|
211
|
+
[
|
|
212
|
+
# Happy path: API key auth via params
|
|
213
|
+
(
|
|
214
|
+
{
|
|
215
|
+
"base_url": "https://atlan.com",
|
|
216
|
+
"api_key": "api_key_123",
|
|
217
|
+
"api_token_guid": None,
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
221
|
+
"ATLAN_BASE_URL": None,
|
|
222
|
+
"ATLAN_API_KEY": None,
|
|
223
|
+
"ATLAN_CLIENT_ID": "cid",
|
|
224
|
+
"ATLAN_CLIENT_SECRET": "csecret",
|
|
225
|
+
},
|
|
226
|
+
"AsyncAtlanClient",
|
|
227
|
+
{"base_url": "https://atlan.com", "api_key": "api_key_123"},
|
|
228
|
+
"info",
|
|
229
|
+
None,
|
|
230
|
+
),
|
|
231
|
+
# Happy path: API key auth via constants
|
|
232
|
+
(
|
|
233
|
+
{"base_url": None, "api_key": None, "api_token_guid": None},
|
|
234
|
+
{
|
|
235
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
236
|
+
"ATLAN_BASE_URL": "https://const.atlan.com",
|
|
237
|
+
"ATLAN_API_KEY": "const_api_key",
|
|
238
|
+
"ATLAN_CLIENT_ID": None,
|
|
239
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
240
|
+
},
|
|
241
|
+
"AsyncAtlanClient",
|
|
242
|
+
{"base_url": "https://const.atlan.com", "api_key": "const_api_key"},
|
|
243
|
+
"info",
|
|
244
|
+
None,
|
|
245
|
+
),
|
|
246
|
+
# Edge case: param overrides env
|
|
247
|
+
(
|
|
248
|
+
{
|
|
249
|
+
"base_url": "https://param.atlan.com",
|
|
250
|
+
"api_key": "param_api_key",
|
|
251
|
+
"api_token_guid": None,
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
255
|
+
"ATLAN_BASE_URL": "https://const.atlan.com",
|
|
256
|
+
"ATLAN_API_KEY": "const_api_key",
|
|
257
|
+
"ATLAN_CLIENT_ID": None,
|
|
258
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
259
|
+
},
|
|
260
|
+
"AsyncAtlanClient",
|
|
261
|
+
{"base_url": "https://param.atlan.com", "api_key": "param_api_key"},
|
|
262
|
+
"info",
|
|
263
|
+
None,
|
|
264
|
+
),
|
|
265
|
+
],
|
|
266
|
+
ids=[
|
|
267
|
+
"param_base_url_and_api_key",
|
|
268
|
+
"env_base_url_and_api_key",
|
|
269
|
+
"param_precedence_over_env",
|
|
270
|
+
],
|
|
271
|
+
)
|
|
272
|
+
async def test_get_client_with_api_key(
|
|
273
|
+
params, constants, expected_call, expected_args, expected_log, raises
|
|
274
|
+
):
|
|
275
|
+
# Arrange
|
|
276
|
+
with patch(
|
|
277
|
+
"application_sdk.clients.async_atlan.ATLAN_API_TOKEN_GUID",
|
|
278
|
+
constants["ATLAN_API_TOKEN_GUID"],
|
|
279
|
+
), patch(
|
|
280
|
+
"application_sdk.clients.async_atlan.ATLAN_BASE_URL",
|
|
281
|
+
constants["ATLAN_BASE_URL"],
|
|
282
|
+
), patch(
|
|
283
|
+
"application_sdk.clients.async_atlan.ATLAN_API_KEY",
|
|
284
|
+
constants["ATLAN_API_KEY"],
|
|
285
|
+
), patch(
|
|
286
|
+
"application_sdk.clients.async_atlan.ATLAN_CLIENT_ID",
|
|
287
|
+
constants["ATLAN_CLIENT_ID"],
|
|
288
|
+
), patch(
|
|
289
|
+
"application_sdk.clients.async_atlan.ATLAN_CLIENT_SECRET",
|
|
290
|
+
constants["ATLAN_CLIENT_SECRET"],
|
|
291
|
+
), patch(
|
|
292
|
+
"application_sdk.clients.async_atlan._get_client_from_token"
|
|
293
|
+
) as mock_get_client_from_token, patch(
|
|
294
|
+
"application_sdk.clients.async_atlan.AsyncAtlanClient"
|
|
295
|
+
) as mock_atlan_client, patch(
|
|
296
|
+
"application_sdk.clients.async_atlan.logger"
|
|
297
|
+
) as mock_logger:
|
|
298
|
+
mock_client_instance = MagicMock()
|
|
299
|
+
mock_get_client_from_token.return_value = mock_client_instance
|
|
300
|
+
mock_atlan_client.return_value = mock_client_instance
|
|
301
|
+
|
|
302
|
+
# Act & Assert
|
|
303
|
+
# Act
|
|
304
|
+
result = await get_client(**params)
|
|
305
|
+
# Assert
|
|
306
|
+
mock_atlan_client.assert_called_once_with(**expected_args)
|
|
307
|
+
assert result == mock_client_instance
|
|
308
|
+
if expected_log == "info":
|
|
309
|
+
mock_logger.info.assert_called_once()
|