atlan-application-sdk 0.1.1rc27__tar.gz → 0.1.1rc28__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.1rc28/.github/release_notes.md +7 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/codeql.yaml +2 -2
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/pre-release.yaml +1 -1
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/pull_request.yaml +8 -8
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/push.yaml +4 -4
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/scale-tests.yaml +1 -1
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/schedule.yaml +1 -1
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/tag-and-publish.yaml +1 -1
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/trivy-container.yaml +1 -1
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/CHANGELOG.md +9 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/PKG-INFO +2 -2
- atlan_application_sdk-0.1.1rc28/application_sdk/clients/atlan_client.py +70 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/constants.py +7 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/version.py +1 -1
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/pyproject.toml +2 -2
- atlan_application_sdk-0.1.1rc28/tests/unit/clients/test_atlan_client.py +303 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/uv.lock +6 -6
- atlan_application_sdk-0.1.1rc27/.github/release_notes.md +0 -9
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.cursor/rules/documentation.mdc +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.cursor/rules/exception-handling.mdc +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.cursor/rules/guidelines.mdc +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.cursor/rules/logging.mdc +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.cursor/rules/performance.mdc +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.cursor/rules/setup.mdc +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.cursor/rules/standards.mdc +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.cursor/rules/testing.mdc +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.env.example +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/CODEOWNERS +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/docgen/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/doclint/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/docstring-coverage/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/e2e-apps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/e2e-examples/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/setup-deps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/sync-branches/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/trivy/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/trivy-container/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/actions/unit-tests/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/dependabot.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/pull_request_template.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/scripts/extract_release_notes.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/scripts/pre_release.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/scripts/release.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/scripts/trivy-to-markdown.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/scripts/update_changelog.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/AMPM.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Accessibility.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Acronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Adverbs.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Auto.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Avoid.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Contractions.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Dashes.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/DateFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/DateNumbers.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/DateOrder.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Ellipses.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/FirstPerson.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Foreign.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Gender.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/GenderBias.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/GeneralURL.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/HeadingColons.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Headings.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Hyphens.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Negative.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Ordinal.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/OxfordComma.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Passive.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Percentages.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Plurals.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Quotes.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/RangeTime.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Semicolon.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/SentenceLength.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Spacing.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Suspended.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Terms.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/URLFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Units.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Vocab.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/We.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/Wordiness.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/Microsoft/meta.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/checks.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/checks.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/codeql.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/dependency-review.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/dependency-review.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/stale.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/stale.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/trivy-container.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/trivy.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflow-templates/trivy.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/release.yaml.disabled +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.gitignore +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.pre-commit-config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.vscode/launch.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/CODE_OF_CONDUCT.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/CONTRIBUTING.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/LICENSE +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/NOTICE +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/README.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/SECURITY.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/activities/common/models.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/activities/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/activities/metadata_extraction/rest.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/activities/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/activities/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/application/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/clients/atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/clients/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/clients/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/clients/workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/common/aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/common/credential_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/common/dataframe_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/common/error_codes.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/exporters/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/exporters/mkdocs.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/models/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/models/export/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/models/export/page.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/models/manifest/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/models/manifest/customer.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/models/manifest/internal.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/models/manifest/metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/models/manifest/page.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/models/manifest/section.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/parsers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/parsers/directory.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/docgen/parsers/manifest.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/handlers/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/inputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/inputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/inputs/objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/inputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/inputs/secretstore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/inputs/sql_query.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/inputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/observability/decorators/observability_decorator.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/observability/logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/observability/metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/observability/observability.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/observability/traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/observability/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/outputs/atlan_storage.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/outputs/eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/outputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/outputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/outputs/objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/outputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/outputs/secretstore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/server/fastapi/models.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/server/fastapi/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/e2e/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/e2e/base.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/e2e/client.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/e2e/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/e2e/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/test_utils/workflow_monitoring.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/atlas/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/query/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/query/templates/column.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/query/templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/query/templates/function.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/query/templates/schema.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/query/templates/table.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/worker.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/workflows/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/workflows/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/components/README.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/components/atlan-storage.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/components/aws-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/components/deployment-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/components/eventstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/components/objectstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/components/secretstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/components/statestore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/activities.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/application.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/application_sql.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/atlanupload.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/clients.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/common.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/handlers.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/inputs.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/output_paths.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/outputs.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/server.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/temporal_auth.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/worker.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/concepts/workflows.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/configuration.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/guides/architecture.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/guides/atlantis.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/guides/best-practices.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/guides/getting-started.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/guides/index.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/guides/partners.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/guides/secretstores.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/guides/sql-application-guide.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/guides/test-framework.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/index.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/setup/LINUX.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/setup/MAC.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/setup/WINDOWS.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/setup/troubleshooting.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/static/assets/logo.svg +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/static/javascripts/mathjax.js +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/docs/static/stylesheets/extra.css +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/docs/mkdocs.yml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/README.md +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/application_custom_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/application_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/application_hello_world.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/application_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/application_sql_miner.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/application_sql_with_custom_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/run_examples.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/examples/sql_query_templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/activities/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/activities/test_activities.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/application/test_application.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/clients/test_async_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/clients/test_atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/clients/test_atlanauth.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/clients/test_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/clients/test_temporal_client.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/common/test_aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/common/test_credential_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/handlers/sql/test_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/handlers/sql/test_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/handlers/sql/test_tables_check.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/inputs/test_json.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/observability/test_logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/observability/test_metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/observability/test_traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/outputs/test_atlanstorage.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/outputs/test_iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/outputs/test_json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/outputs/test_objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/outputs/test_output.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/outputs/test_statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/server/fastapi/test_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/test_worker.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/test_column.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/test_database.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/test_function.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/test_procedure.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/test_schema.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/atlas/test_table.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/raw/column.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/raw/database.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/raw/function.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/raw/table.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/workflows/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## v0.1.1rc28 (August 12, 2025)
|
|
2
|
+
|
|
3
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc27...v0.1.1rc28
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- add pyatlan Client to Application SDK (#642) (by @Ernest Hill in [c00d682](https://github.com/atlanhq/application-sdk/commit/c00d682))
|
{atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/codeql.yaml
RENAMED
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
language: ["python"]
|
|
26
26
|
steps:
|
|
27
27
|
- name: Checkout repository
|
|
28
|
-
uses: actions/checkout@
|
|
28
|
+
uses: actions/checkout@v5
|
|
29
29
|
- name: Initialize CodeQL
|
|
30
30
|
uses: github/codeql-action/init@v3
|
|
31
31
|
with:
|
|
@@ -43,6 +43,6 @@ jobs:
|
|
|
43
43
|
name: Pre-commit Checks
|
|
44
44
|
runs-on: ubuntu-latest
|
|
45
45
|
steps:
|
|
46
|
-
- uses: actions/checkout@
|
|
46
|
+
- uses: actions/checkout@v5
|
|
47
47
|
- uses: "./.github/actions/setup-deps"
|
|
48
48
|
- uses: pre-commit/action@v3.0.1
|
|
@@ -19,7 +19,7 @@ jobs:
|
|
|
19
19
|
name: Conventional Commits
|
|
20
20
|
runs-on: ubuntu-latest
|
|
21
21
|
steps:
|
|
22
|
-
- uses: actions/checkout@
|
|
22
|
+
- uses: actions/checkout@v5
|
|
23
23
|
with:
|
|
24
24
|
fetch-depth: 0
|
|
25
25
|
- uses: webiny/action-conventional-commits@v1.3.0
|
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
name: Docstring Coverage
|
|
31
31
|
runs-on: ubuntu-latest
|
|
32
32
|
steps:
|
|
33
|
-
- uses: actions/checkout@
|
|
33
|
+
- uses: actions/checkout@v5
|
|
34
34
|
- uses: "./.github/actions/docstring-coverage"
|
|
35
35
|
with:
|
|
36
36
|
module-name: application_sdk
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
name: Trivy Code Scan
|
|
42
42
|
runs-on: ubuntu-latest
|
|
43
43
|
steps:
|
|
44
|
-
- uses: actions/checkout@
|
|
44
|
+
- uses: actions/checkout@v5
|
|
45
45
|
- uses: "./.github/actions/trivy"
|
|
46
46
|
with:
|
|
47
47
|
add-report-comment-to-pr: "true"
|
|
@@ -57,7 +57,7 @@ jobs:
|
|
|
57
57
|
python-version: ["3.11", "3.12", "3.13"]
|
|
58
58
|
os: [ubuntu-22.04, macOS-latest, windows-latest]
|
|
59
59
|
steps:
|
|
60
|
-
- uses: actions/checkout@
|
|
60
|
+
- uses: actions/checkout@v5
|
|
61
61
|
- uses: "./.github/actions/unit-tests"
|
|
62
62
|
with:
|
|
63
63
|
github-token: ${{ secrets.ORG_PAT_GITHUB }}
|
|
@@ -71,7 +71,7 @@ jobs:
|
|
|
71
71
|
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
|
72
72
|
steps:
|
|
73
73
|
- name: Checkout repository
|
|
74
|
-
uses: actions/checkout@
|
|
74
|
+
uses: actions/checkout@v5
|
|
75
75
|
|
|
76
76
|
- name: Get PR Labels
|
|
77
77
|
id: get-labels
|
|
@@ -150,7 +150,7 @@ jobs:
|
|
|
150
150
|
matrix:
|
|
151
151
|
os: [ubuntu-22.04, macOS-latest, windows-latest]
|
|
152
152
|
steps:
|
|
153
|
-
- uses: actions/checkout@
|
|
153
|
+
- uses: actions/checkout@v5
|
|
154
154
|
- uses: "./.github/actions/e2e-examples"
|
|
155
155
|
with:
|
|
156
156
|
operating-system: ${{ matrix.os }}
|
|
@@ -170,7 +170,7 @@ jobs:
|
|
|
170
170
|
fail-fast: false
|
|
171
171
|
matrix: ${{ fromJson(needs.matrix-builder.outputs.matrix) }}
|
|
172
172
|
steps:
|
|
173
|
-
- uses: actions/checkout@
|
|
173
|
+
- uses: actions/checkout@v5
|
|
174
174
|
- uses: "./.github/actions/e2e-apps"
|
|
175
175
|
with:
|
|
176
176
|
github-token: ${{ secrets.ORG_PAT_GITHUB }}
|
|
@@ -182,7 +182,7 @@ jobs:
|
|
|
182
182
|
name: Docs
|
|
183
183
|
runs-on: ubuntu-latest
|
|
184
184
|
steps:
|
|
185
|
-
- uses: actions/checkout@
|
|
185
|
+
- uses: actions/checkout@v5
|
|
186
186
|
- uses: "./.github/actions/setup-deps"
|
|
187
187
|
- name: Install graphviz
|
|
188
188
|
run: |
|
{atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/.github/workflows/push.yaml
RENAMED
|
@@ -20,7 +20,7 @@ jobs:
|
|
|
20
20
|
name: Unit Tests
|
|
21
21
|
runs-on: ubuntu-latest
|
|
22
22
|
steps:
|
|
23
|
-
- uses: actions/checkout@
|
|
23
|
+
- uses: actions/checkout@v5
|
|
24
24
|
- uses: "./.github/actions/unit-tests"
|
|
25
25
|
with:
|
|
26
26
|
github-token: ${{ secrets.ORG_PAT_GITHUB }}
|
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
name: E2E (Examples)
|
|
31
31
|
runs-on: ubuntu-latest
|
|
32
32
|
steps:
|
|
33
|
-
- uses: actions/checkout@
|
|
33
|
+
- uses: actions/checkout@v5
|
|
34
34
|
- uses: "./.github/actions/e2e-examples"
|
|
35
35
|
with:
|
|
36
36
|
operating-system: ubuntu-latest
|
|
@@ -48,7 +48,7 @@ jobs:
|
|
|
48
48
|
matrix:
|
|
49
49
|
repo_name: ["atlan-postgres-app"]
|
|
50
50
|
steps:
|
|
51
|
-
- uses: actions/checkout@
|
|
51
|
+
- uses: actions/checkout@v5
|
|
52
52
|
- uses: "./.github/actions/e2e-apps"
|
|
53
53
|
with:
|
|
54
54
|
github-token: ${{ secrets.ORG_PAT_GITHUB }}
|
|
@@ -60,7 +60,7 @@ jobs:
|
|
|
60
60
|
name: Docs
|
|
61
61
|
runs-on: ubuntu-latest
|
|
62
62
|
steps:
|
|
63
|
-
- uses: actions/checkout@
|
|
63
|
+
- uses: actions/checkout@v5
|
|
64
64
|
- uses: "./.github/actions/setup-deps"
|
|
65
65
|
- name: Install graphviz
|
|
66
66
|
run: |
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
|
|
4
|
+
## v0.1.1rc28 (August 12, 2025)
|
|
5
|
+
|
|
6
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc27...v0.1.1rc28
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- add pyatlan Client to Application SDK (#642) (by @Ernest Hill in [c00d682](https://github.com/atlanhq/application-sdk/commit/c00d682))
|
|
11
|
+
|
|
3
12
|
## v0.1.1rc27 (August 12, 2025)
|
|
4
13
|
|
|
5
14
|
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc26...v0.1.1rc27
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atlan-application-sdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1rc28
|
|
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,7 +26,7 @@ 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>=7.1.
|
|
29
|
+
Requires-Dist: pyatlan>=7.1.6
|
|
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'
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from pyatlan.client.atlan import AtlanClient
|
|
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
|
+
def get_client(
|
|
19
|
+
base_url: Optional[str] = None,
|
|
20
|
+
api_key: Optional[str] = None,
|
|
21
|
+
api_token_guid: Optional[str] = None,
|
|
22
|
+
) -> AtlanClient:
|
|
23
|
+
"""
|
|
24
|
+
Returns an authenticated AtlanClient 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: # Check original params, not env vars
|
|
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 _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 AtlanClient(base_url=final_base_url, api_key=final_api_key)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
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 AtlanClient.from_token_guid(guid=api_token_guid)
|
{atlan_application_sdk-0.1.1rc27 → atlan_application_sdk-0.1.1rc28}/application_sdk/constants.py
RENAMED
|
@@ -217,3 +217,10 @@ TRACES_FILE_NAME = "traces.parquet"
|
|
|
217
217
|
ENABLE_OBSERVABILITY_DAPR_SINK = (
|
|
218
218
|
os.getenv("ATLAN_ENABLE_OBSERVABILITY_DAPR_SINK", "false").lower() == "true"
|
|
219
219
|
)
|
|
220
|
+
|
|
221
|
+
# atlan_client configuration (non ATLAN_ prefix are rooted in pyatlan SDK, to be revisited)
|
|
222
|
+
ATLAN_API_TOKEN_GUID = os.getenv("API_TOKEN_GUID")
|
|
223
|
+
ATLAN_BASE_URL = os.getenv("ATLAN_BASE_URL")
|
|
224
|
+
ATLAN_API_KEY = os.getenv("ATLAN_API_KEY")
|
|
225
|
+
ATLAN_CLIENT_ID = os.getenv("CLIENT_ID")
|
|
226
|
+
ATLAN_CLIENT_SECRET = os.getenv("CLIENT_SECRET")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "atlan-application-sdk"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.1rc28"
|
|
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>=7.1.
|
|
27
|
+
"pyatlan>=7.1.6",
|
|
28
28
|
"pydantic>=2.10.6",
|
|
29
29
|
"loguru>=0.7.3",
|
|
30
30
|
"uvloop>=0.21.0; sys_platform != 'win32'",
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
from unittest.mock import MagicMock, patch
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
|
|
5
|
+
from application_sdk.clients.atlan_client import get_client
|
|
6
|
+
from application_sdk.common.error_codes import ClientError
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@pytest.mark.parametrize(
|
|
10
|
+
"params,constants,msg",
|
|
11
|
+
[
|
|
12
|
+
# Error: missing base_url
|
|
13
|
+
(
|
|
14
|
+
{"base_url": None, "api_key": "api_key_789", "api_token_guid": None},
|
|
15
|
+
{
|
|
16
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
17
|
+
"ATLAN_BASE_URL": None,
|
|
18
|
+
"ATLAN_API_KEY": None,
|
|
19
|
+
"ATLAN_CLIENT_ID": None,
|
|
20
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
21
|
+
},
|
|
22
|
+
"ATLAN_BASE_URL is required",
|
|
23
|
+
),
|
|
24
|
+
# Error: missing api_key
|
|
25
|
+
(
|
|
26
|
+
{"base_url": "https://atlan.com", "api_key": None, "api_token_guid": None},
|
|
27
|
+
{
|
|
28
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
29
|
+
"ATLAN_BASE_URL": None,
|
|
30
|
+
"ATLAN_API_KEY": None,
|
|
31
|
+
"ATLAN_CLIENT_ID": None,
|
|
32
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
33
|
+
},
|
|
34
|
+
"ATLAN_API_KEY is required",
|
|
35
|
+
),
|
|
36
|
+
# Error: missing both base_url and api_key
|
|
37
|
+
(
|
|
38
|
+
{"base_url": None, "api_key": None, "api_token_guid": None},
|
|
39
|
+
{
|
|
40
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
41
|
+
"ATLAN_BASE_URL": None,
|
|
42
|
+
"ATLAN_API_KEY": None,
|
|
43
|
+
"ATLAN_CLIENT_ID": None,
|
|
44
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
45
|
+
},
|
|
46
|
+
"ATLAN_BASE_URL is required",
|
|
47
|
+
),
|
|
48
|
+
# Error: missing client_id
|
|
49
|
+
(
|
|
50
|
+
{"base_url": None, "api_key": None, "api_token_guid": "guid_param"},
|
|
51
|
+
{
|
|
52
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
53
|
+
"ATLAN_BASE_URL": None,
|
|
54
|
+
"ATLAN_API_KEY": None,
|
|
55
|
+
"ATLAN_CLIENT_ID": None,
|
|
56
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
57
|
+
},
|
|
58
|
+
"Environment variable CLIENT_ID is required when API_TOKEN_GUID is set",
|
|
59
|
+
),
|
|
60
|
+
# Error: missing client_secret
|
|
61
|
+
(
|
|
62
|
+
{"base_url": None, "api_key": None, "api_token_guid": "guid_param"},
|
|
63
|
+
{
|
|
64
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
65
|
+
"ATLAN_BASE_URL": None,
|
|
66
|
+
"ATLAN_API_KEY": None,
|
|
67
|
+
"ATLAN_CLIENT_ID": "CLIENT_ID_789",
|
|
68
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
69
|
+
},
|
|
70
|
+
"Environment variable CLIENT_SECRET is required when API_TOKEN_GUID is set",
|
|
71
|
+
),
|
|
72
|
+
],
|
|
73
|
+
ids=[
|
|
74
|
+
"missing_base_url",
|
|
75
|
+
"missing_api_key",
|
|
76
|
+
"missing_both_base_url_and_api_key",
|
|
77
|
+
"missing_client_id",
|
|
78
|
+
"missing_client_secret",
|
|
79
|
+
],
|
|
80
|
+
)
|
|
81
|
+
def test_get_client_bad_params(params, constants, msg):
|
|
82
|
+
# Arrange
|
|
83
|
+
with patch(
|
|
84
|
+
"application_sdk.clients.atlan_client.ATLAN_API_TOKEN_GUID",
|
|
85
|
+
constants["ATLAN_API_TOKEN_GUID"],
|
|
86
|
+
), patch(
|
|
87
|
+
"application_sdk.clients.atlan_client.ATLAN_BASE_URL",
|
|
88
|
+
constants["ATLAN_BASE_URL"],
|
|
89
|
+
), patch(
|
|
90
|
+
"application_sdk.clients.atlan_client.ATLAN_API_KEY", constants["ATLAN_API_KEY"]
|
|
91
|
+
), patch(
|
|
92
|
+
"application_sdk.clients.atlan_client.ATLAN_CLIENT_ID",
|
|
93
|
+
constants["ATLAN_CLIENT_ID"],
|
|
94
|
+
), patch(
|
|
95
|
+
"application_sdk.clients.atlan_client.ATLAN_CLIENT_SECRET",
|
|
96
|
+
constants["ATLAN_CLIENT_SECRET"],
|
|
97
|
+
):
|
|
98
|
+
# Act / Assert
|
|
99
|
+
with pytest.raises(ClientError) as excinfo:
|
|
100
|
+
get_client(**params)
|
|
101
|
+
# Assert
|
|
102
|
+
assert msg in str(excinfo.value)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@pytest.mark.parametrize(
|
|
106
|
+
"params,constants,expected_call,expected_args,expected_log,raises",
|
|
107
|
+
[
|
|
108
|
+
# Happy path: token auth via param
|
|
109
|
+
(
|
|
110
|
+
{"base_url": None, "api_key": None, "api_token_guid": "guid_param"},
|
|
111
|
+
{
|
|
112
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
113
|
+
"ATLAN_BASE_URL": None,
|
|
114
|
+
"ATLAN_API_KEY": None,
|
|
115
|
+
"ATLAN_CLIENT_ID": "cid",
|
|
116
|
+
"ATLAN_CLIENT_SECRET": "csecret",
|
|
117
|
+
},
|
|
118
|
+
"_get_client_from_token",
|
|
119
|
+
("guid_param",),
|
|
120
|
+
None,
|
|
121
|
+
None,
|
|
122
|
+
),
|
|
123
|
+
# Happy path: token auth via env
|
|
124
|
+
(
|
|
125
|
+
{"base_url": None, "api_key": None, "api_token_guid": None},
|
|
126
|
+
{
|
|
127
|
+
"ATLAN_API_TOKEN_GUID": "guid_const",
|
|
128
|
+
"ATLAN_BASE_URL": None,
|
|
129
|
+
"ATLAN_API_KEY": None,
|
|
130
|
+
"ATLAN_CLIENT_ID": "cid",
|
|
131
|
+
"ATLAN_CLIENT_SECRET": "csecret",
|
|
132
|
+
},
|
|
133
|
+
"_get_client_from_token",
|
|
134
|
+
("guid_const",),
|
|
135
|
+
None,
|
|
136
|
+
None,
|
|
137
|
+
),
|
|
138
|
+
# Happy path: token auth, base_url/api_key params present (should log warning)
|
|
139
|
+
(
|
|
140
|
+
{
|
|
141
|
+
"base_url": "https://atlan.com",
|
|
142
|
+
"api_key": "api_key_123",
|
|
143
|
+
"api_token_guid": "guid_param",
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
147
|
+
"ATLAN_BASE_URL": None,
|
|
148
|
+
"ATLAN_API_KEY": None,
|
|
149
|
+
"ATLAN_CLIENT_ID": "cid",
|
|
150
|
+
"ATLAN_CLIENT_SECRET": "csecret",
|
|
151
|
+
},
|
|
152
|
+
"_get_client_from_token",
|
|
153
|
+
("guid_param",),
|
|
154
|
+
"warning",
|
|
155
|
+
None,
|
|
156
|
+
),
|
|
157
|
+
],
|
|
158
|
+
ids=[
|
|
159
|
+
"param_token_guid",
|
|
160
|
+
"env_token_guid",
|
|
161
|
+
"token_guid_with_base_url_api_key",
|
|
162
|
+
],
|
|
163
|
+
)
|
|
164
|
+
def test_get_client_with_token_guid(
|
|
165
|
+
params, constants, expected_call, expected_args, expected_log, raises
|
|
166
|
+
):
|
|
167
|
+
# Arrange
|
|
168
|
+
|
|
169
|
+
with patch(
|
|
170
|
+
"application_sdk.clients.atlan_client.ATLAN_API_TOKEN_GUID",
|
|
171
|
+
constants["ATLAN_API_TOKEN_GUID"],
|
|
172
|
+
), patch(
|
|
173
|
+
"application_sdk.clients.atlan_client.ATLAN_BASE_URL",
|
|
174
|
+
constants["ATLAN_BASE_URL"],
|
|
175
|
+
), patch(
|
|
176
|
+
"application_sdk.clients.atlan_client.ATLAN_API_KEY", constants["ATLAN_API_KEY"]
|
|
177
|
+
), patch(
|
|
178
|
+
"application_sdk.clients.atlan_client.ATLAN_CLIENT_ID",
|
|
179
|
+
constants["ATLAN_CLIENT_ID"],
|
|
180
|
+
), patch(
|
|
181
|
+
"application_sdk.clients.atlan_client.ATLAN_CLIENT_SECRET",
|
|
182
|
+
constants["ATLAN_CLIENT_SECRET"],
|
|
183
|
+
), patch(
|
|
184
|
+
"application_sdk.clients.atlan_client._get_client_from_token"
|
|
185
|
+
) as mock_get_client_from_token, patch(
|
|
186
|
+
"application_sdk.clients.atlan_client.AtlanClient"
|
|
187
|
+
) as mock_atlan_client, patch(
|
|
188
|
+
"application_sdk.clients.atlan_client.logger"
|
|
189
|
+
) as mock_logger:
|
|
190
|
+
mock_client_instance = MagicMock()
|
|
191
|
+
mock_get_client_from_token.return_value = mock_client_instance
|
|
192
|
+
mock_atlan_client.return_value = mock_client_instance
|
|
193
|
+
|
|
194
|
+
# Act & Assert
|
|
195
|
+
# Act
|
|
196
|
+
result = get_client(**params)
|
|
197
|
+
# Assert
|
|
198
|
+
mock_get_client_from_token.assert_called_once_with(*expected_args)
|
|
199
|
+
assert result == mock_client_instance
|
|
200
|
+
if expected_log == "warning":
|
|
201
|
+
mock_logger.warning.assert_called_once()
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
@pytest.mark.parametrize(
|
|
205
|
+
"params,constants,expected_call,expected_args,expected_log,raises",
|
|
206
|
+
[
|
|
207
|
+
# Happy path: API key auth via params
|
|
208
|
+
(
|
|
209
|
+
{
|
|
210
|
+
"base_url": "https://atlan.com",
|
|
211
|
+
"api_key": "api_key_123",
|
|
212
|
+
"api_token_guid": None,
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
216
|
+
"ATLAN_BASE_URL": None,
|
|
217
|
+
"ATLAN_API_KEY": None,
|
|
218
|
+
"ATLAN_CLIENT_ID": "cid",
|
|
219
|
+
"ATLAN_CLIENT_SECRET": "csecret",
|
|
220
|
+
},
|
|
221
|
+
"AtlanClient",
|
|
222
|
+
{"base_url": "https://atlan.com", "api_key": "api_key_123"},
|
|
223
|
+
"info",
|
|
224
|
+
None,
|
|
225
|
+
),
|
|
226
|
+
# Happy path: API key auth via constants
|
|
227
|
+
(
|
|
228
|
+
{"base_url": None, "api_key": None, "api_token_guid": None},
|
|
229
|
+
{
|
|
230
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
231
|
+
"ATLAN_BASE_URL": "https://const.atlan.com",
|
|
232
|
+
"ATLAN_API_KEY": "const_api_key",
|
|
233
|
+
"ATLAN_CLIENT_ID": None,
|
|
234
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
235
|
+
},
|
|
236
|
+
"AtlanClient",
|
|
237
|
+
{"base_url": "https://const.atlan.com", "api_key": "const_api_key"},
|
|
238
|
+
"info",
|
|
239
|
+
None,
|
|
240
|
+
),
|
|
241
|
+
# Edge case: param overrides env
|
|
242
|
+
(
|
|
243
|
+
{
|
|
244
|
+
"base_url": "https://param.atlan.com",
|
|
245
|
+
"api_key": "param_api_key",
|
|
246
|
+
"api_token_guid": None,
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"ATLAN_API_TOKEN_GUID": None,
|
|
250
|
+
"ATLAN_BASE_URL": "https://const.atlan.com",
|
|
251
|
+
"ATLAN_API_KEY": "const_api_key",
|
|
252
|
+
"ATLAN_CLIENT_ID": None,
|
|
253
|
+
"ATLAN_CLIENT_SECRET": None,
|
|
254
|
+
},
|
|
255
|
+
"AtlanClient",
|
|
256
|
+
{"base_url": "https://param.atlan.com", "api_key": "param_api_key"},
|
|
257
|
+
"info",
|
|
258
|
+
None,
|
|
259
|
+
),
|
|
260
|
+
],
|
|
261
|
+
ids=[
|
|
262
|
+
"param_base_url_and_api_key",
|
|
263
|
+
"env_base_url_and_api_key",
|
|
264
|
+
"param_precedence_over_env",
|
|
265
|
+
],
|
|
266
|
+
)
|
|
267
|
+
def test_get_client_with_api_key(
|
|
268
|
+
params, constants, expected_call, expected_args, expected_log, raises
|
|
269
|
+
):
|
|
270
|
+
# Arrange
|
|
271
|
+
with patch(
|
|
272
|
+
"application_sdk.clients.atlan_client.ATLAN_API_TOKEN_GUID",
|
|
273
|
+
constants["ATLAN_API_TOKEN_GUID"],
|
|
274
|
+
), patch(
|
|
275
|
+
"application_sdk.clients.atlan_client.ATLAN_BASE_URL",
|
|
276
|
+
constants["ATLAN_BASE_URL"],
|
|
277
|
+
), patch(
|
|
278
|
+
"application_sdk.clients.atlan_client.ATLAN_API_KEY", constants["ATLAN_API_KEY"]
|
|
279
|
+
), patch(
|
|
280
|
+
"application_sdk.clients.atlan_client.ATLAN_CLIENT_ID",
|
|
281
|
+
constants["ATLAN_CLIENT_ID"],
|
|
282
|
+
), patch(
|
|
283
|
+
"application_sdk.clients.atlan_client.ATLAN_CLIENT_SECRET",
|
|
284
|
+
constants["ATLAN_CLIENT_SECRET"],
|
|
285
|
+
), patch(
|
|
286
|
+
"application_sdk.clients.atlan_client._get_client_from_token"
|
|
287
|
+
) as mock_get_client_from_token, patch(
|
|
288
|
+
"application_sdk.clients.atlan_client.AtlanClient"
|
|
289
|
+
) as mock_atlan_client, patch(
|
|
290
|
+
"application_sdk.clients.atlan_client.logger"
|
|
291
|
+
) as mock_logger:
|
|
292
|
+
mock_client_instance = MagicMock()
|
|
293
|
+
mock_get_client_from_token.return_value = mock_client_instance
|
|
294
|
+
mock_atlan_client.return_value = mock_client_instance
|
|
295
|
+
|
|
296
|
+
# Act & Assert
|
|
297
|
+
# Act
|
|
298
|
+
result = get_client(**params)
|
|
299
|
+
# Assert
|
|
300
|
+
mock_atlan_client.assert_called_once_with(**expected_args)
|
|
301
|
+
assert result == mock_client_instance
|
|
302
|
+
if expected_log == "info":
|
|
303
|
+
mock_logger.info.assert_called_once()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
version = 1
|
|
2
|
-
revision =
|
|
2
|
+
revision = 2
|
|
3
3
|
requires-python = ">=3.11"
|
|
4
4
|
resolution-markers = [
|
|
5
5
|
"python_full_version >= '3.13'",
|
|
@@ -131,7 +131,7 @@ wheels = [
|
|
|
131
131
|
|
|
132
132
|
[[package]]
|
|
133
133
|
name = "atlan-application-sdk"
|
|
134
|
-
version = "0.1.
|
|
134
|
+
version = "0.1.1rc28"
|
|
135
135
|
source = { editable = "." }
|
|
136
136
|
dependencies = [
|
|
137
137
|
{ name = "aiohttp" },
|
|
@@ -224,7 +224,7 @@ requires-dist = [
|
|
|
224
224
|
{ name = "pandera", extras = ["io"], marker = "extra == 'tests'", specifier = ">=0.23.1" },
|
|
225
225
|
{ name = "psutil", specifier = ">=7.0.0" },
|
|
226
226
|
{ name = "pyarrow", marker = "extra == 'scale-data-generator'", specifier = ">=20.0.0" },
|
|
227
|
-
{ name = "pyatlan", specifier = ">=7.1.
|
|
227
|
+
{ name = "pyatlan", specifier = ">=7.1.6" },
|
|
228
228
|
{ name = "pydantic", specifier = ">=2.10.6" },
|
|
229
229
|
{ name = "pyiceberg", marker = "extra == 'iceberg'", specifier = ">=0.8.1" },
|
|
230
230
|
{ name = "pytest-order", marker = "extra == 'tests'", specifier = ">=1.3.0" },
|
|
@@ -2360,7 +2360,7 @@ wheels = [
|
|
|
2360
2360
|
|
|
2361
2361
|
[[package]]
|
|
2362
2362
|
name = "pyatlan"
|
|
2363
|
-
version = "7.1.
|
|
2363
|
+
version = "7.1.6"
|
|
2364
2364
|
source = { registry = "https://pypi.org/simple" }
|
|
2365
2365
|
dependencies = [
|
|
2366
2366
|
{ name = "jinja2" },
|
|
@@ -2374,9 +2374,9 @@ dependencies = [
|
|
|
2374
2374
|
{ name = "tenacity" },
|
|
2375
2375
|
{ name = "urllib3" },
|
|
2376
2376
|
]
|
|
2377
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2377
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f6/a9/c34bff8f3f0b7b745ac399e1f5ff4470d4af23327531832b4e85b3a96bb2/pyatlan-7.1.6.tar.gz", hash = "sha256:1f0cce31f37206191fb909f63877a9db6f86d7c76085b7c1549a62fe69f86fef", size = 655078, upload-time = "2025-08-07T11:34:01.307Z" }
|
|
2378
2378
|
wheels = [
|
|
2379
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2379
|
+
{ url = "https://files.pythonhosted.org/packages/3d/ca/72624efdfe9dcd9930304ea6827915ea4137005a84489c7f916d936f649b/pyatlan-7.1.6-py3-none-any.whl", hash = "sha256:0a82e283c36024b56788f195d3fa6138754626778eca14af6c22e9bbabd6f988", size = 1178356, upload-time = "2025-08-07T11:33:59.621Z" },
|
|
2380
2380
|
]
|
|
2381
2381
|
|
|
2382
2382
|
[[package]]
|