atlan-application-sdk 1.0.4__tar.gz → 1.1.0__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-1.1.0/.cursor/rules/commits.mdc +124 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/pull_request_template.md +1 -4
- atlan_application_sdk-1.1.0/.github/release_notes.md +7 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/CHANGELOG.md +9 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/CODE_OF_CONDUCT.md +1 -1
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/PKG-INFO +2 -3
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/README.md +1 -2
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/__init__.py +6 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/temporal.py +4 -0
- atlan_application_sdk-1.1.0/application_sdk/interceptors/correlation_context.py +143 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/interceptors/events.py +0 -2
- atlan_application_sdk-1.1.0/application_sdk/observability/context.py +18 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/observability/logger_adaptor.py +61 -68
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/observability/utils.py +16 -1
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/fastapi/middleware/logmiddleware.py +2 -1
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/version.py +1 -1
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/guides/atlantis.md +1 -3
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/index.md +0 -1
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/pyproject.toml +1 -1
- atlan_application_sdk-1.1.0/tests/unit/interceptors/test_correlation_context.py +430 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/observability/test_logger_adaptor.py +240 -0
- atlan_application_sdk-1.1.0/tests/unit/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/uv.lock +1 -1
- atlan_application_sdk-1.0.4/.github/release_notes.md +0 -7
- atlan_application_sdk-1.0.4/docs/docs/guides/partners.md +0 -107
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.cursor/rules/documentation.mdc +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.cursor/rules/exception-handling.mdc +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.cursor/rules/guidelines.mdc +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.cursor/rules/logging.mdc +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.cursor/rules/performance.mdc +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.cursor/rules/setup.mdc +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.cursor/rules/standards.mdc +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.cursor/rules/testing.mdc +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.env.example +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/CODEOWNERS +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/docgen/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/doclint/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/docstring-coverage/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/e2e-apps/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/e2e-examples/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/setup-deps/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/sync-branches/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/trivy/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/trivy-container/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/actions/unit-tests/action.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/dependabot.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/scripts/extract_release_notes.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/scripts/release.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/scripts/trivy-to-markdown.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/scripts/update_changelog.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/AMPM.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Accessibility.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Acronyms.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Adverbs.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Auto.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Avoid.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Contractions.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Dashes.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/DateFormat.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/DateNumbers.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/DateOrder.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Ellipses.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/FirstPerson.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Foreign.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Gender.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/GenderBias.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/GeneralURL.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/HeadingColons.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Headings.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Hyphens.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Negative.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Ordinal.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/OxfordComma.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Passive.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Percentages.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Plurals.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Quotes.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/RangeTime.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Semicolon.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/SentenceLength.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Spacing.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Suspended.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Terms.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/URLFormat.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Units.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Vocab.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/We.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/Wordiness.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/Microsoft/meta.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/checks.properties.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/checks.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/codeql.properties.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/codeql.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/dependency-review.properties.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/dependency-review.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/stale.properties.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/stale.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/trivy-container.properties.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/trivy-container.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/trivy.properties.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflow-templates/trivy.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflows/codeql.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflows/pull_request.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflows/push.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflows/release.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflows/scale-tests.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflows/schedule.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflows/tag-and-publish.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflows/trivy-container.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/workflows/verify-snyk-status.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.gitignore +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.pre-commit-config.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.vscode/launch.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/CONTRIBUTING.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/LICENSE +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/NOTICE +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/SECURITY.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/common/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/common/models.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/common/utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/lock_management.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/metadata_extraction/base.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/metadata_extraction/rest.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/query_extraction/sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/application/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/application/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/atlan.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/atlan_auth.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/base.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/models.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/redis.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/workflow.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/common/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/common/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/common/aws_utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/common/dapr_utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/common/dataframe_utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/common/error_codes.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/common/file_converter.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/common/utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/constants.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/decorators/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/decorators/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/decorators/locks.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/decorators/mcp_tool.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/exporters/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/exporters/mkdocs.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/models/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/models/export/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/models/export/page.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/models/manifest/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/models/manifest/customer.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/models/manifest/internal.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/models/manifest/metadata.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/models/manifest/page.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/models/manifest/section.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/parsers/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/parsers/directory.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/docgen/parsers/manifest.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/events/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/events/models.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/handlers/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/handlers/base.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/handlers/sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/inputs/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/inputs/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/inputs/iceberg.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/inputs/json.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/inputs/parquet.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/inputs/sql_query.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/interceptors/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/interceptors/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/interceptors/cleanup.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/interceptors/lock.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/observability/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/observability/decorators/observability_decorator.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/observability/metrics_adaptor.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/observability/observability.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/observability/traces_adaptor.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/outputs/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/outputs/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/outputs/iceberg.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/outputs/json.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/outputs/parquet.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/fastapi/models.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/fastapi/utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/mcp/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/mcp/models.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/server/mcp/server.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/services/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/services/atlan_storage.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/services/eventstore.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/services/objectstore.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/services/secretstore.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/services/statestore.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/e2e/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/e2e/base.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/e2e/client.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/e2e/conftest.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/e2e/utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/test_utils/workflow_monitoring.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/atlas/sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/common/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/common/utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/query/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/query/templates/column.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/query/templates/database.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/query/templates/function.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/query/templates/schema.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/query/templates/table.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/worker.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/workflows/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/workflows/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/workflows/query_extraction/sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/components/README.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/components/atlan-storage.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/components/aws-secrets.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/components/configuration.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/components/deployment-secrets.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/components/eventstore.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/components/objectstore.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/components/secretstore.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/components/statestore.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/API.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/activities.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/application.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/application_sql.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/atlanupload.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/clients.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/common.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/handlers.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/inputs.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/mcp.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/output_paths.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/outputs.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/server.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/services.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/temporal_auth.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/worker.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/concepts/workflows.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/configuration.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/guides/architecture.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/guides/best-practices.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/guides/getting-started.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/guides/index.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/guides/secretstores.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/guides/sql-application-guide.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/guides/test-framework.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/setup/LINUX.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/setup/MAC.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/setup/WINDOWS.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/setup/troubleshooting.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/static/assets/logo.svg +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/static/javascripts/mathjax.js +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/docs/static/stylesheets/extra.css +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/docs/mkdocs.yml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/README.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/application_custom_fastapi.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/application_fastapi.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/application_hello_world.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/application_sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/application_sql_miner.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/application_sql_with_custom_transformer.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/run_examples.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/examples/sql_query_templates/database.yaml +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/conftest.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/activities/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/activities/common/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/activities/common/test_utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/activities/test_activities.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/activities/test_lock_management.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/application/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/application/test_application.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/clients/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/clients/test_async_sql_client.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/clients/test_atlan_auth.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/clients/test_atlan_client.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/clients/test_atlanauth.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/clients/test_base_client.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/clients/test_redis_client.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/clients/test_sql_client.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/clients/test_temporal_client.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/common/test_aws_utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/common/test_credential_utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/common/test_file_converter.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/common/test_utils.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/common/test_utils_file_discovery.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/decorators/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/decorators/test_mcp_tool.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/sql/test_auth.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/sql/test_metadata.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/sql/test_tables_check.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/handlers/test_base_handler.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/inputs/test_base_input.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/inputs/test_json.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/inputs/test_parquet.py +0 -0
- {atlan_application_sdk-1.0.4/tests/unit/observability → atlan_application_sdk-1.1.0/tests/unit/interceptors}/__init__.py +0 -0
- {atlan_application_sdk-1.0.4/tests/unit/server → atlan_application_sdk-1.1.0/tests/unit/observability}/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/observability/test_metrics_adaptor.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/observability/test_traces_adaptor.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/outputs/test_iceberg.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/outputs/test_json_output.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/outputs/test_output.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/outputs/test_parquet_output.py +0 -0
- {atlan_application_sdk-1.0.4/tests/unit/server/fastapi/routers → atlan_application_sdk-1.1.0/tests/unit/server}/__init__.py +0 -0
- {atlan_application_sdk-1.0.4/tests/unit/server/mcp → atlan_application_sdk-1.1.0/tests/unit/server/fastapi/routers}/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/server/fastapi/test_fastapi.py +0 -0
- {atlan_application_sdk-1.0.4/tests/unit/transformers → atlan_application_sdk-1.1.0/tests/unit/server/mcp}/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/server/mcp/test_mcp_server.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/services/test_atlan_storage.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/services/test_eventstore.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/services/test_objectstore.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/services/test_statestore.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/test_worker.py +0 -0
- {atlan_application_sdk-1.0.4/tests/unit/transformers/atlas → atlan_application_sdk-1.1.0/tests/unit/transformers}/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/test_column.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/test_database.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/test_function.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/test_procedure.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/test_schema.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/atlas/test_table.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/raw/column.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/raw/database.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/raw/function.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/raw/table.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/workflows/metadata_extraction/test_sql_workflow.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Conventional Commits Standards
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: true
|
|
5
|
+
---
|
|
6
|
+
# Conventional Commits
|
|
7
|
+
|
|
8
|
+
This project follows the [Conventional Commits](https://www.conventionalcommits.org/) specification for commit messages.
|
|
9
|
+
|
|
10
|
+
## Commit Message Format
|
|
11
|
+
|
|
12
|
+
Each commit message must follow this structure:
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
<type>[optional scope]: <description>
|
|
16
|
+
|
|
17
|
+
[optional body]
|
|
18
|
+
|
|
19
|
+
[optional footer(s)]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Types
|
|
23
|
+
|
|
24
|
+
- **feat**: A new feature for the user
|
|
25
|
+
- **fix**: A bug fix for the user
|
|
26
|
+
- **docs**: Documentation only changes
|
|
27
|
+
- **style**: Changes that do not affect the meaning of the code (formatting, missing semi-colons, etc.)
|
|
28
|
+
- **refactor**: A code change that neither fixes a bug nor adds a feature
|
|
29
|
+
- **perf**: A code change that improves performance
|
|
30
|
+
- **test**: Adding missing tests or correcting existing tests
|
|
31
|
+
- **build**: Changes that affect the build system or external dependencies
|
|
32
|
+
- **ci**: Changes to CI configuration files and scripts
|
|
33
|
+
- **chore**: Other changes that don't modify src or test files
|
|
34
|
+
- **revert**: Reverts a previous commit
|
|
35
|
+
|
|
36
|
+
## Scope
|
|
37
|
+
|
|
38
|
+
The scope is optional and should be a noun describing a section of the codebase surrounded by parentheses. Examples:
|
|
39
|
+
|
|
40
|
+
- `feat(clients)`: Add Redis client connection pooling
|
|
41
|
+
- `fix(workflow)`: Resolve metadata extraction timeout issue
|
|
42
|
+
- `docs(readme)`: Update installation instructions
|
|
43
|
+
|
|
44
|
+
## Description
|
|
45
|
+
|
|
46
|
+
- Use the imperative, present tense: "add" not "added" nor "adds"
|
|
47
|
+
- Don't capitalize the first letter
|
|
48
|
+
- No period (.) at the end
|
|
49
|
+
- Keep it concise (50 characters or less is ideal)
|
|
50
|
+
|
|
51
|
+
## Body
|
|
52
|
+
|
|
53
|
+
The body is optional and should provide additional context about the change:
|
|
54
|
+
|
|
55
|
+
- Use the imperative, present tense
|
|
56
|
+
- Explain the motivation for the change
|
|
57
|
+
- Contrast with previous behavior
|
|
58
|
+
- Wrap at 72 characters
|
|
59
|
+
|
|
60
|
+
## Footer
|
|
61
|
+
|
|
62
|
+
The footer is optional and is used for:
|
|
63
|
+
|
|
64
|
+
- **Breaking Changes**: Must begin with `BREAKING CHANGE:` followed by a description
|
|
65
|
+
- **Issue References**: Reference GitHub issues, e.g., `Closes #123`, `Fixes #456`
|
|
66
|
+
|
|
67
|
+
## Examples
|
|
68
|
+
|
|
69
|
+
### Simple commit
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
feat: add user authentication
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Commit with scope
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
fix(sql): resolve connection pool exhaustion
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Commit with body
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
feat(observability): add distributed tracing support
|
|
85
|
+
|
|
86
|
+
Implement OpenTelemetry integration for end-to-end request tracing.
|
|
87
|
+
This enables better debugging and performance analysis across services.
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Breaking change
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
feat(clients)!: change authentication method
|
|
94
|
+
|
|
95
|
+
BREAKING CHANGE: The client authentication now requires OAuth2 tokens
|
|
96
|
+
instead of API keys. Update your configuration to use the new auth flow.
|
|
97
|
+
|
|
98
|
+
Closes #789
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Revert commit
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
revert: feat(workflow): add automatic retry logic
|
|
105
|
+
|
|
106
|
+
This reverts commit abc123def456.
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Guidelines
|
|
110
|
+
|
|
111
|
+
- **Be atomic**: Each commit should represent a single logical change
|
|
112
|
+
- **Be descriptive**: The description should clearly explain what changed and why
|
|
113
|
+
- **Be consistent**: Follow the same patterns across all commits
|
|
114
|
+
- **Reference issues**: Link commits to relevant GitHub issues when applicable
|
|
115
|
+
- **Test before committing**: Ensure all tests pass before creating a commit
|
|
116
|
+
- **Review the diff**: Always review your changes before committing
|
|
117
|
+
|
|
118
|
+
## Tools
|
|
119
|
+
|
|
120
|
+
Consider using tools to help enforce conventional commits:
|
|
121
|
+
|
|
122
|
+
- [commitizen](https://github.com/commitizen/cz-cli) - Interactive commit message wizard
|
|
123
|
+
- [commitlint](https://commitlint.js.org/) - Lint commit messages
|
|
124
|
+
- Git hooks to validate commit messages before accepting them
|
{atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/.github/pull_request_template.md
RENAMED
|
@@ -22,7 +22,4 @@
|
|
|
22
22
|
### Copyleft License Compliance
|
|
23
23
|
|
|
24
24
|
- [ ] Have you used any code that is subject to a Copyleft license (e.g., GPL, AGPL, LGPL)?
|
|
25
|
-
- [ ] If yes, have you modified the code in the context of this project? please share additional details.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<!-- for any questions, reach out to us at connect@atlan.com -->
|
|
25
|
+
- [ ] If yes, have you modified the code in the context of this project? please share additional details.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## v1.1.0 (December 12, 2025)
|
|
2
|
+
|
|
3
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v1.0.4...v1.1.0
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Add Atlan Attributes to Temporal Runs (#880) (by @saig214 in [8a85a24](https://github.com/atlanhq/application-sdk/commit/8a85a24))
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.1.0 (December 12, 2025)
|
|
4
|
+
|
|
5
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v1.0.4...v1.1.0
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- Add Atlan Attributes to Temporal Runs (#880) (by @saig214 in [8a85a24](https://github.com/atlanhq/application-sdk/commit/8a85a24))
|
|
10
|
+
|
|
11
|
+
|
|
3
12
|
## v1.0.4 (December 11, 2025)
|
|
4
13
|
|
|
5
14
|
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v1.0.3...v1.0.4
|
|
@@ -55,7 +55,7 @@ a project may be further defined and clarified by project maintainers.
|
|
|
55
55
|
## Enforcement
|
|
56
56
|
|
|
57
57
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
58
|
-
reported by contacting the project team at
|
|
58
|
+
reported by contacting the project team at appframework@atlan.com. All
|
|
59
59
|
complaints will be reviewed and investigated and will result in a response that
|
|
60
60
|
is deemed necessary and appropriate to the circumstances. The project team is
|
|
61
61
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atlan-application-sdk
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
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
|
|
@@ -100,12 +100,11 @@ poetry add atlan-application-sdk
|
|
|
100
100
|
|
|
101
101
|
## Partner Collaboration
|
|
102
102
|
|
|
103
|
-
- For information on how to collaborate with Atlan on app development and integrations, please see our [Partner
|
|
103
|
+
- For information on how to collaborate with Atlan on app development and integrations, please see our [Partner Journey Guide](https://docs.atlan.com/product/capabilities/build-apps/partner-with-us/concepts/partner-journey).
|
|
104
104
|
|
|
105
105
|
## Need help?
|
|
106
106
|
We’re here whenever you need us:
|
|
107
107
|
|
|
108
|
-
- Email: **connect@atlan.com**
|
|
109
108
|
- Issues: [GitHub Issues](https://github.com/atlanhq/application-sdk/issues)
|
|
110
109
|
|
|
111
110
|
|
|
@@ -38,12 +38,11 @@ poetry add atlan-application-sdk
|
|
|
38
38
|
|
|
39
39
|
## Partner Collaboration
|
|
40
40
|
|
|
41
|
-
- For information on how to collaborate with Atlan on app development and integrations, please see our [Partner
|
|
41
|
+
- For information on how to collaborate with Atlan on app development and integrations, please see our [Partner Journey Guide](https://docs.atlan.com/product/capabilities/build-apps/partner-with-us/concepts/partner-journey).
|
|
42
42
|
|
|
43
43
|
## Need help?
|
|
44
44
|
We’re here whenever you need us:
|
|
45
45
|
|
|
46
|
-
- Email: **connect@atlan.com**
|
|
47
46
|
- Issues: [GitHub Issues](https://github.com/atlanhq/application-sdk/issues)
|
|
48
47
|
|
|
49
48
|
|
{atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/activities/__init__.py
RENAMED
|
@@ -206,6 +206,12 @@ class ActivitiesInterface(ABC, Generic[ActivitiesStateType]):
|
|
|
206
206
|
)
|
|
207
207
|
workflow_args["workflow_id"] = workflow_id
|
|
208
208
|
workflow_args["workflow_run_id"] = get_workflow_run_id()
|
|
209
|
+
|
|
210
|
+
# Preserve atlan- prefixed keys from workflow_config for logging context
|
|
211
|
+
for key, value in workflow_config.items():
|
|
212
|
+
if key.startswith("atlan-") and value:
|
|
213
|
+
workflow_args[key] = str(value)
|
|
214
|
+
|
|
209
215
|
return workflow_args
|
|
210
216
|
|
|
211
217
|
except Exception as e:
|
{atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/clients/temporal.py
RENAMED
|
@@ -33,6 +33,9 @@ from application_sdk.events.models import (
|
|
|
33
33
|
WorkerTokenRefreshEventData,
|
|
34
34
|
)
|
|
35
35
|
from application_sdk.interceptors.cleanup import CleanupInterceptor, cleanup
|
|
36
|
+
from application_sdk.interceptors.correlation_context import (
|
|
37
|
+
CorrelationContextInterceptor,
|
|
38
|
+
)
|
|
36
39
|
from application_sdk.interceptors.events import EventInterceptor, publish_event
|
|
37
40
|
from application_sdk.interceptors.lock import RedisLockInterceptor
|
|
38
41
|
from application_sdk.observability.logger_adaptor import get_logger
|
|
@@ -430,6 +433,7 @@ class TemporalWorkflowClient(WorkflowClient):
|
|
|
430
433
|
max_concurrent_activities=max_concurrent_activities,
|
|
431
434
|
activity_executor=activity_executor,
|
|
432
435
|
interceptors=[
|
|
436
|
+
CorrelationContextInterceptor(),
|
|
433
437
|
EventInterceptor(),
|
|
434
438
|
CleanupInterceptor(),
|
|
435
439
|
RedisLockInterceptor(activities_dict),
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"""Correlation context interceptor for Temporal workflows.
|
|
2
|
+
|
|
3
|
+
Propagates atlan-* correlation context fields from workflow arguments to activities
|
|
4
|
+
via Temporal headers, ensuring all activity logs include correlation identifiers
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from dataclasses import replace
|
|
8
|
+
from typing import Any, Dict, Optional, Type
|
|
9
|
+
|
|
10
|
+
from temporalio import workflow
|
|
11
|
+
from temporalio.api.common.v1 import Payload
|
|
12
|
+
from temporalio.converter import default as default_converter
|
|
13
|
+
from temporalio.worker import (
|
|
14
|
+
ActivityInboundInterceptor,
|
|
15
|
+
ExecuteActivityInput,
|
|
16
|
+
ExecuteWorkflowInput,
|
|
17
|
+
Interceptor,
|
|
18
|
+
StartActivityInput,
|
|
19
|
+
WorkflowInboundInterceptor,
|
|
20
|
+
WorkflowInterceptorClassInput,
|
|
21
|
+
WorkflowOutboundInterceptor,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
from application_sdk.observability.context import correlation_context
|
|
25
|
+
from application_sdk.observability.logger_adaptor import get_logger
|
|
26
|
+
|
|
27
|
+
logger = get_logger(__name__)
|
|
28
|
+
|
|
29
|
+
ATLAN_HEADER_PREFIX = "atlan-"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class CorrelationContextOutboundInterceptor(WorkflowOutboundInterceptor):
|
|
33
|
+
"""Outbound interceptor that injects atlan-* context into activity headers."""
|
|
34
|
+
|
|
35
|
+
def __init__(
|
|
36
|
+
self,
|
|
37
|
+
next: WorkflowOutboundInterceptor,
|
|
38
|
+
inbound: "CorrelationContextWorkflowInboundInterceptor",
|
|
39
|
+
):
|
|
40
|
+
"""Initialize the outbound interceptor."""
|
|
41
|
+
super().__init__(next)
|
|
42
|
+
self.inbound = inbound
|
|
43
|
+
|
|
44
|
+
def start_activity(self, input: StartActivityInput) -> workflow.ActivityHandle[Any]:
|
|
45
|
+
"""Inject atlan-* headers and trace_id into activity calls."""
|
|
46
|
+
try:
|
|
47
|
+
if self.inbound.correlation_data:
|
|
48
|
+
new_headers: Dict[str, Payload] = dict(input.headers)
|
|
49
|
+
payload_converter = default_converter().payload_converter
|
|
50
|
+
|
|
51
|
+
for key, value in self.inbound.correlation_data.items():
|
|
52
|
+
# Include atlan-* prefixed headers and trace_id
|
|
53
|
+
if (
|
|
54
|
+
key.startswith(ATLAN_HEADER_PREFIX) or key == "trace_id"
|
|
55
|
+
) and value:
|
|
56
|
+
payload = payload_converter.to_payload(value)
|
|
57
|
+
new_headers[key] = payload
|
|
58
|
+
|
|
59
|
+
input = replace(input, headers=new_headers)
|
|
60
|
+
except Exception as e:
|
|
61
|
+
logger.warning(f"Failed to inject correlation context headers: {e}")
|
|
62
|
+
|
|
63
|
+
return self.next.start_activity(input)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class CorrelationContextWorkflowInboundInterceptor(WorkflowInboundInterceptor):
|
|
67
|
+
"""Inbound workflow interceptor that extracts atlan-* context from workflow args."""
|
|
68
|
+
|
|
69
|
+
def __init__(self, next: WorkflowInboundInterceptor):
|
|
70
|
+
"""Initialize the inbound interceptor."""
|
|
71
|
+
super().__init__(next)
|
|
72
|
+
self.correlation_data: Dict[str, str] = {}
|
|
73
|
+
|
|
74
|
+
def init(self, outbound: WorkflowOutboundInterceptor) -> None:
|
|
75
|
+
"""Initialize with correlation context outbound interceptor."""
|
|
76
|
+
context_outbound = CorrelationContextOutboundInterceptor(outbound, self)
|
|
77
|
+
super().init(context_outbound)
|
|
78
|
+
|
|
79
|
+
async def execute_workflow(self, input: ExecuteWorkflowInput) -> Any:
|
|
80
|
+
"""Execute workflow and extract atlan-* fields and trace_id from arguments."""
|
|
81
|
+
try:
|
|
82
|
+
if input.args and len(input.args) > 0:
|
|
83
|
+
workflow_config = input.args[0]
|
|
84
|
+
if isinstance(workflow_config, dict):
|
|
85
|
+
# Extract atlan-* prefixed fields
|
|
86
|
+
self.correlation_data = {
|
|
87
|
+
k: str(v)
|
|
88
|
+
for k, v in workflow_config.items()
|
|
89
|
+
if k.startswith(ATLAN_HEADER_PREFIX) and v
|
|
90
|
+
}
|
|
91
|
+
# Extract trace_id separately (not atlan- prefixed)
|
|
92
|
+
trace_id = workflow_config.get("trace_id", "")
|
|
93
|
+
if trace_id:
|
|
94
|
+
self.correlation_data["trace_id"] = str(trace_id)
|
|
95
|
+
if self.correlation_data:
|
|
96
|
+
correlation_context.set(self.correlation_data)
|
|
97
|
+
except Exception as e:
|
|
98
|
+
logger.warning(f"Failed to extract correlation context from args: {e}")
|
|
99
|
+
|
|
100
|
+
return await super().execute_workflow(input)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class CorrelationContextActivityInboundInterceptor(ActivityInboundInterceptor):
|
|
104
|
+
"""Activity interceptor that reads atlan-* headers and trace_id, sets correlation_context."""
|
|
105
|
+
|
|
106
|
+
async def execute_activity(self, input: ExecuteActivityInput) -> Any:
|
|
107
|
+
"""Execute activity after extracting atlan-* headers and trace_id."""
|
|
108
|
+
try:
|
|
109
|
+
atlan_fields: Dict[str, str] = {}
|
|
110
|
+
payload_converter = default_converter().payload_converter
|
|
111
|
+
|
|
112
|
+
for key, payload in input.headers.items():
|
|
113
|
+
# Extract atlan-* prefixed headers and trace_id
|
|
114
|
+
if key.startswith(ATLAN_HEADER_PREFIX) or key == "trace_id":
|
|
115
|
+
value = payload_converter.from_payload(payload, type_hint=str)
|
|
116
|
+
atlan_fields[key] = value
|
|
117
|
+
|
|
118
|
+
if atlan_fields:
|
|
119
|
+
correlation_context.set(atlan_fields)
|
|
120
|
+
|
|
121
|
+
except Exception as e:
|
|
122
|
+
logger.warning(f"Failed to extract correlation context from headers: {e}")
|
|
123
|
+
|
|
124
|
+
return await super().execute_activity(input)
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class CorrelationContextInterceptor(Interceptor):
|
|
128
|
+
"""Main interceptor for propagating atlan-* correlation context.
|
|
129
|
+
|
|
130
|
+
Ensures atlan-* fields are propagated from workflow arguments to all activities via Temporal headers.
|
|
131
|
+
"""
|
|
132
|
+
|
|
133
|
+
def workflow_interceptor_class(
|
|
134
|
+
self, input: WorkflowInterceptorClassInput
|
|
135
|
+
) -> Optional[Type[WorkflowInboundInterceptor]]:
|
|
136
|
+
"""Get the workflow interceptor class."""
|
|
137
|
+
return CorrelationContextWorkflowInboundInterceptor
|
|
138
|
+
|
|
139
|
+
def intercept_activity(
|
|
140
|
+
self, next: ActivityInboundInterceptor
|
|
141
|
+
) -> ActivityInboundInterceptor:
|
|
142
|
+
"""Intercept activity executions to read correlation context."""
|
|
143
|
+
return CorrelationContextActivityInboundInterceptor(next)
|
{atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/interceptors/events.py
RENAMED
|
@@ -66,8 +66,6 @@ class EventActivityInboundInterceptor(ActivityInboundInterceptor):
|
|
|
66
66
|
Returns:
|
|
67
67
|
Any: The result of the activity execution.
|
|
68
68
|
"""
|
|
69
|
-
# Extract activity information for tracking
|
|
70
|
-
|
|
71
69
|
start_event = Event(
|
|
72
70
|
event_type=EventTypes.APPLICATION_EVENT.value,
|
|
73
71
|
event_name=ApplicationEventNames.ACTIVITY_START.value,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""Shared context variables for observability.
|
|
2
|
+
|
|
3
|
+
This module contains ContextVar definitions that are shared across
|
|
4
|
+
multiple observability modules to avoid circular imports.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from contextvars import ContextVar
|
|
8
|
+
from typing import Any, Dict
|
|
9
|
+
|
|
10
|
+
# Context variable for request-scoped data (e.g., request_id from HTTP middleware)
|
|
11
|
+
request_context: ContextVar[Dict[str, Any] | None] = ContextVar(
|
|
12
|
+
"request_context", default=None
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
# Context variable for correlation context (atlan- prefixed headers for distributed tracing)
|
|
16
|
+
correlation_context: ContextVar[Dict[str, Any] | None] = ContextVar(
|
|
17
|
+
"correlation_context", default=None
|
|
18
|
+
)
|
|
@@ -2,7 +2,6 @@ import asyncio
|
|
|
2
2
|
import logging
|
|
3
3
|
import sys
|
|
4
4
|
import threading
|
|
5
|
-
from contextvars import ContextVar
|
|
6
5
|
from time import time_ns
|
|
7
6
|
from typing import Any, Dict, Optional, Tuple
|
|
8
7
|
|
|
@@ -34,6 +33,7 @@ from application_sdk.constants import (
|
|
|
34
33
|
SERVICE_NAME,
|
|
35
34
|
SERVICE_VERSION,
|
|
36
35
|
)
|
|
36
|
+
from application_sdk.observability.context import correlation_context, request_context
|
|
37
37
|
from application_sdk.observability.observability import AtlanObservability
|
|
38
38
|
from application_sdk.observability.utils import (
|
|
39
39
|
get_observability_dir,
|
|
@@ -42,7 +42,13 @@ from application_sdk.observability.utils import (
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
class LogExtraModel(BaseModel):
|
|
45
|
-
"""Pydantic model for log extra fields.
|
|
45
|
+
"""Pydantic model for log extra fields.
|
|
46
|
+
|
|
47
|
+
This model allows arbitrary extra fields (prefixed with atlan-) to be included
|
|
48
|
+
for correlation context propagation to OTEL.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
model_config = {"extra": "allow"}
|
|
46
52
|
|
|
47
53
|
client_host: Optional[str] = None
|
|
48
54
|
duration_ms: Optional[int] = None
|
|
@@ -67,52 +73,8 @@ class LogExtraModel(BaseModel):
|
|
|
67
73
|
heartbeat_timeout: Optional[str] = None
|
|
68
74
|
# Other fields
|
|
69
75
|
log_type: Optional[str] = None
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
"""Pydantic model configuration for LogExtraModel.
|
|
73
|
-
|
|
74
|
-
Provides custom parsing logic for converting dictionary values to appropriate types.
|
|
75
|
-
Handles type conversion for various fields like integers, strings, and other data types.
|
|
76
|
-
"""
|
|
77
|
-
|
|
78
|
-
@classmethod
|
|
79
|
-
def parse_obj(cls, obj):
|
|
80
|
-
if isinstance(obj, dict):
|
|
81
|
-
# Define type mappings for each field
|
|
82
|
-
type_mappings = {
|
|
83
|
-
# Integer fields
|
|
84
|
-
"attempt": int,
|
|
85
|
-
"duration_ms": int,
|
|
86
|
-
"status_code": int,
|
|
87
|
-
# String fields
|
|
88
|
-
"client_host": str,
|
|
89
|
-
"method": str,
|
|
90
|
-
"path": str,
|
|
91
|
-
"request_id": str,
|
|
92
|
-
"url": str,
|
|
93
|
-
"workflow_id": str,
|
|
94
|
-
"run_id": str,
|
|
95
|
-
"workflow_type": str,
|
|
96
|
-
"namespace": str,
|
|
97
|
-
"task_queue": str,
|
|
98
|
-
"activity_id": str,
|
|
99
|
-
"activity_type": str,
|
|
100
|
-
"schedule_to_close_timeout": str,
|
|
101
|
-
"start_to_close_timeout": str,
|
|
102
|
-
"schedule_to_start_timeout": str,
|
|
103
|
-
"heartbeat_timeout": str,
|
|
104
|
-
"log_type": str,
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
# Process each field with its type conversion
|
|
108
|
-
for field, type_func in type_mappings.items():
|
|
109
|
-
if field in obj and obj[field] is not None:
|
|
110
|
-
try:
|
|
111
|
-
obj[field] = type_func(obj[field])
|
|
112
|
-
except (ValueError, TypeError):
|
|
113
|
-
obj[field] = None
|
|
114
|
-
|
|
115
|
-
return super().parse_obj(obj)
|
|
76
|
+
# Trace context
|
|
77
|
+
trace_id: Optional[str] = None
|
|
116
78
|
|
|
117
79
|
|
|
118
80
|
class LogRecordModel(BaseModel):
|
|
@@ -142,6 +104,9 @@ class LogRecordModel(BaseModel):
|
|
|
142
104
|
for k, v in message.record["extra"].items():
|
|
143
105
|
if k != "logger_name" and hasattr(extra, k):
|
|
144
106
|
setattr(extra, k, v)
|
|
107
|
+
# Include atlan- prefixed fields as extra attributes (correlation context)
|
|
108
|
+
elif k.startswith("atlan-") and v is not None:
|
|
109
|
+
setattr(extra, k, str(v))
|
|
145
110
|
|
|
146
111
|
return cls(
|
|
147
112
|
timestamp=message.record["time"].timestamp(),
|
|
@@ -160,8 +125,9 @@ class LogRecordModel(BaseModel):
|
|
|
160
125
|
arbitrary_types_allowed = True
|
|
161
126
|
|
|
162
127
|
|
|
163
|
-
#
|
|
164
|
-
request_context: ContextVar
|
|
128
|
+
# Re-exported from context.py for backward compatibility:
|
|
129
|
+
# - request_context: ContextVar for request-scoped data (e.g., request_id)
|
|
130
|
+
# - correlation_context: ContextVar for atlan- prefixed headers
|
|
165
131
|
|
|
166
132
|
|
|
167
133
|
# Add a Loguru handler for the Python logging system
|
|
@@ -286,23 +252,41 @@ class AtlanLoggerAdapter(AtlanObservability[LogRecordModel]):
|
|
|
286
252
|
"TRACING", no=SEVERITY_MAPPING["TRACING"], color="<magenta>", icon="🔍"
|
|
287
253
|
)
|
|
288
254
|
|
|
289
|
-
#
|
|
290
|
-
|
|
291
|
-
atlan_format_str_plain = (
|
|
292
|
-
"{time:YYYY-MM-DD HH:mm:ss} [{level}] {extra[logger_name]} - {message}"
|
|
293
|
-
)
|
|
255
|
+
# Colorize the logs only if the log level is DEBUG
|
|
256
|
+
colorize = LOG_LEVEL == "DEBUG"
|
|
294
257
|
|
|
295
|
-
|
|
296
|
-
|
|
258
|
+
def get_log_format(record: Any) -> str:
|
|
259
|
+
"""Generate log format string with trace_id for correlation.
|
|
297
260
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
261
|
+
Args:
|
|
262
|
+
record: Loguru record dictionary containing log information.
|
|
263
|
+
|
|
264
|
+
Returns:
|
|
265
|
+
Format string for the log message.
|
|
266
|
+
"""
|
|
267
|
+
# Build trace_id display string (only trace_id is printed, atlan-* go to OTEL)
|
|
268
|
+
trace_id = record["extra"].get("trace_id", "")
|
|
269
|
+
record["extra"]["_trace_id_str"] = (
|
|
270
|
+
f" trace_id={trace_id}" if trace_id else ""
|
|
271
|
+
)
|
|
272
|
+
|
|
273
|
+
if colorize:
|
|
274
|
+
return (
|
|
275
|
+
"<green>{time:YYYY-MM-DD HH:mm:ss}</green> "
|
|
276
|
+
"<blue>[{level}]</blue>"
|
|
277
|
+
"<magenta>{extra[_trace_id_str]}</magenta> "
|
|
278
|
+
"<cyan>{extra[logger_name]}</cyan>"
|
|
279
|
+
" - <level>{message}</level>\n"
|
|
280
|
+
)
|
|
281
|
+
return (
|
|
282
|
+
"{time:YYYY-MM-DD HH:mm:ss} [{level}]"
|
|
283
|
+
"{extra[_trace_id_str]} {extra[logger_name]}"
|
|
284
|
+
" - {message}\n"
|
|
285
|
+
)
|
|
302
286
|
|
|
303
287
|
self.logger.add(
|
|
304
288
|
sys.stderr,
|
|
305
|
-
format=
|
|
289
|
+
format=get_log_format,
|
|
306
290
|
level=SEVERITY_MAPPING[LOG_LEVEL],
|
|
307
291
|
colorize=colorize,
|
|
308
292
|
)
|
|
@@ -538,16 +522,14 @@ class AtlanLoggerAdapter(AtlanObservability[LogRecordModel]):
|
|
|
538
522
|
- Adds request context if available
|
|
539
523
|
- Adds workflow context if in a workflow
|
|
540
524
|
- Adds activity context if in an activity
|
|
525
|
+
- Adds correlation context if available
|
|
541
526
|
"""
|
|
542
527
|
kwargs["logger_name"] = self.logger_name
|
|
543
528
|
|
|
544
529
|
# Get request context
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
kwargs["request_id"] = ctx["request_id"]
|
|
549
|
-
except Exception:
|
|
550
|
-
pass
|
|
530
|
+
ctx = request_context.get()
|
|
531
|
+
if ctx and "request_id" in ctx:
|
|
532
|
+
kwargs["request_id"] = ctx["request_id"]
|
|
551
533
|
|
|
552
534
|
workflow_context = get_workflow_context()
|
|
553
535
|
|
|
@@ -569,6 +551,17 @@ class AtlanLoggerAdapter(AtlanObservability[LogRecordModel]):
|
|
|
569
551
|
except Exception:
|
|
570
552
|
pass
|
|
571
553
|
|
|
554
|
+
# Add correlation context (atlan- prefixed keys and trace_id) to kwargs
|
|
555
|
+
corr_ctx = correlation_context.get()
|
|
556
|
+
if corr_ctx:
|
|
557
|
+
# Add trace_id if present (for log format display)
|
|
558
|
+
if "trace_id" in corr_ctx and corr_ctx["trace_id"]:
|
|
559
|
+
kwargs["trace_id"] = str(corr_ctx["trace_id"])
|
|
560
|
+
# Add atlan-* headers for OTEL
|
|
561
|
+
for key, value in corr_ctx.items():
|
|
562
|
+
if key.startswith("atlan-") and value:
|
|
563
|
+
kwargs[key] = str(value)
|
|
564
|
+
|
|
572
565
|
return msg, kwargs
|
|
573
566
|
|
|
574
567
|
def debug(self, msg: str, *args: Any, **kwargs: Any):
|
{atlan_application_sdk-1.0.4 → atlan_application_sdk-1.1.0}/application_sdk/observability/utils.py
RENAMED
|
@@ -9,10 +9,17 @@ from application_sdk.constants import (
|
|
|
9
9
|
OBSERVABILITY_DIR,
|
|
10
10
|
TEMPORARY_PATH,
|
|
11
11
|
)
|
|
12
|
+
from application_sdk.observability.context import correlation_context
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
class WorkflowContext(BaseModel):
|
|
15
|
-
"""Workflow context.
|
|
16
|
+
"""Workflow context.
|
|
17
|
+
|
|
18
|
+
This model supports dynamic correlation context fields (atlan- prefixed)
|
|
19
|
+
through Pydantic's extra="allow" configuration.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
model_config = {"extra": "allow"}
|
|
16
23
|
|
|
17
24
|
in_workflow: str = Field(default="false")
|
|
18
25
|
in_activity: str = Field(default="false")
|
|
@@ -75,4 +82,12 @@ def get_workflow_context() -> WorkflowContext:
|
|
|
75
82
|
except Exception:
|
|
76
83
|
pass
|
|
77
84
|
|
|
85
|
+
# Get correlation context from context variable (atlan- prefixed headers)
|
|
86
|
+
corr_ctx = correlation_context.get()
|
|
87
|
+
if corr_ctx:
|
|
88
|
+
# Add all correlation context fields as extra attributes
|
|
89
|
+
for key, value in corr_ctx.items():
|
|
90
|
+
if key.startswith("atlan-") and value:
|
|
91
|
+
setattr(context, key, str(value))
|
|
92
|
+
|
|
78
93
|
return context
|
|
@@ -6,7 +6,8 @@ from starlette.requests import Request
|
|
|
6
6
|
from starlette.responses import Response
|
|
7
7
|
from starlette.types import ASGIApp
|
|
8
8
|
|
|
9
|
-
from application_sdk.observability.
|
|
9
|
+
from application_sdk.observability.context import request_context
|
|
10
|
+
from application_sdk.observability.logger_adaptor import get_logger
|
|
10
11
|
|
|
11
12
|
logger = get_logger(__name__)
|
|
12
13
|
|
|
@@ -4,6 +4,4 @@ The `frontend` directory in the app is designated to be used to add frontends fo
|
|
|
4
4
|
|
|
5
5
|
As of today, you can build this frontend using any frontend framework.
|
|
6
6
|
|
|
7
|
-
More information about Atlantis will be available soon.
|
|
8
|
-
|
|
9
|
-
If you have any questions please reach out us at connect@atlan.com.
|
|
7
|
+
More information about Atlantis will be available soon.
|