atlan-application-sdk 0.1.1rc44__tar.gz → 0.1.1rc45__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.1rc45/.github/release_notes.md +9 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/CHANGELOG.md +11 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/PKG-INFO +1 -1
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/application/__init__.py +55 -15
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/constants.py +6 -0
- atlan_application_sdk-0.1.1rc45/application_sdk/decorators/mcp_tool.py +63 -0
- atlan_application_sdk-0.1.1rc45/application_sdk/server/mcp/__init__.py +4 -0
- atlan_application_sdk-0.1.1rc45/application_sdk/server/mcp/models.py +11 -0
- atlan_application_sdk-0.1.1rc45/application_sdk/server/mcp/server.py +96 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/version.py +1 -1
- atlan_application_sdk-0.1.1rc45/docs/docs/concepts/API.md +563 -0
- atlan_application_sdk-0.1.1rc45/docs/docs/concepts/mcp.md +206 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/pyproject.toml +4 -1
- atlan_application_sdk-0.1.1rc45/tests/unit/decorators/test_mcp_tool.py +442 -0
- atlan_application_sdk-0.1.1rc45/tests/unit/server/mcp/test_mcp_server.py +218 -0
- atlan_application_sdk-0.1.1rc45/tests/unit/transformers/__init__.py +0 -0
- atlan_application_sdk-0.1.1rc45/tests/unit/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/uv.lock +336 -1
- atlan_application_sdk-0.1.1rc44/.github/release_notes.md +0 -7
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.cursor/rules/documentation.mdc +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.cursor/rules/exception-handling.mdc +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.cursor/rules/guidelines.mdc +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.cursor/rules/logging.mdc +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.cursor/rules/performance.mdc +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.cursor/rules/setup.mdc +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.cursor/rules/standards.mdc +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.cursor/rules/testing.mdc +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.env.example +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/CODEOWNERS +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/docgen/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/doclint/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/docstring-coverage/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/e2e-apps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/e2e-examples/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/setup-deps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/sync-branches/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/trivy/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/trivy-container/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/actions/unit-tests/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/dependabot.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/pull_request_template.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/scripts/extract_release_notes.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/scripts/pre_release.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/scripts/release.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/scripts/trivy-to-markdown.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/scripts/update_changelog.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/AMPM.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Accessibility.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Acronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Adverbs.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Auto.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Avoid.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Contractions.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Dashes.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/DateFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/DateNumbers.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/DateOrder.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Ellipses.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/FirstPerson.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Foreign.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Gender.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/GenderBias.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/GeneralURL.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/HeadingColons.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Headings.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Hyphens.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Negative.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Ordinal.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/OxfordComma.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Passive.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Percentages.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Plurals.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Quotes.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/RangeTime.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Semicolon.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/SentenceLength.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Spacing.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Suspended.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Terms.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/URLFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Units.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Vocab.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/We.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/Wordiness.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/Microsoft/meta.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/checks.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/checks.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/codeql.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/dependency-review.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/dependency-review.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/stale.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/stale.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/trivy-container.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/trivy.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflow-templates/trivy.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/pre-release.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/pull_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/push.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/release.yaml.disabled +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/scale-tests.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/schedule.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/tag-and-publish.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.github/workflows/verify-snyk-status.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.gitignore +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.pre-commit-config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/.vscode/launch.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/CODE_OF_CONDUCT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/CONTRIBUTING.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/LICENSE +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/NOTICE +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/README.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/SECURITY.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/common/models.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/lock_management.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/metadata_extraction/base.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/metadata_extraction/rest.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/activities/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/application/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/atlan.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/base.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/models.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/redis.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/clients/workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/common/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/common/aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/common/dapr_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/common/dataframe_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/common/error_codes.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/decorators/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/decorators/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/decorators/locks.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/exporters/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/exporters/mkdocs.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/models/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/models/export/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/models/export/page.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/models/manifest/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/models/manifest/customer.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/models/manifest/internal.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/models/manifest/metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/models/manifest/page.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/models/manifest/section.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/parsers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/parsers/directory.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/docgen/parsers/manifest.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/events/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/events/models.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/handlers/base.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/handlers/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/inputs/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/inputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/inputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/inputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/inputs/sql_query.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/interceptors/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/interceptors/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/interceptors/cleanup.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/interceptors/events.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/interceptors/lock.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/observability/decorators/observability_decorator.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/observability/logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/observability/metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/observability/observability.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/observability/traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/observability/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/outputs/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/outputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/outputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/outputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/server/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/server/fastapi/models.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/server/fastapi/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/services/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/services/atlan_storage.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/services/eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/services/objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/services/secretstore.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/services/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/e2e/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/e2e/base.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/e2e/client.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/e2e/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/e2e/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/inputs/parquet_input.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/test_utils/workflow_monitoring.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/atlas/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/query/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/query/templates/column.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/query/templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/query/templates/function.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/query/templates/schema.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/query/templates/table.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/worker.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/workflows/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/workflows/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/workflows/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/workflows/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/components/README.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/components/atlan-storage.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/components/aws-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/components/deployment-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/components/eventstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/components/objectstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/components/secretstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/components/statestore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/activities.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/application.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/application_sql.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/atlanupload.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/clients.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/common.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/handlers.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/inputs.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/output_paths.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/outputs.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/server.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/services.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/temporal_auth.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/worker.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/concepts/workflows.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/configuration.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/guides/architecture.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/guides/atlantis.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/guides/best-practices.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/guides/getting-started.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/guides/index.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/guides/partners.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/guides/secretstores.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/guides/sql-application-guide.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/guides/test-framework.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/index.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/setup/LINUX.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/setup/MAC.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/setup/WINDOWS.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/setup/troubleshooting.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/static/assets/logo.svg +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/static/javascripts/mathjax.js +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/docs/static/stylesheets/extra.css +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/docs/mkdocs.yml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/README.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/application_custom_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/application_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/application_hello_world.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/application_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/application_sql_miner.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/application_sql_with_custom_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/run_examples.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/examples/sql_query_templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/.cursor/BUGBOT.md +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/activities/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/activities/test_activities.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/activities/test_lock_management.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/application/test_application.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/clients/test_async_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/clients/test_atlan_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/clients/test_atlan_client.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/clients/test_atlanauth.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/clients/test_base_client.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/clients/test_redis_client.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/clients/test_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/clients/test_temporal_client.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/common/test_aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/common/test_credential_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/common/test_utils_file_discovery.py +0 -0
- {atlan_application_sdk-0.1.1rc44/tests/unit/handlers → atlan_application_sdk-0.1.1rc45/tests/unit/decorators}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc44/tests/unit/observability → atlan_application_sdk-0.1.1rc45/tests/unit/handlers}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/handlers/sql/test_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/handlers/sql/test_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/handlers/sql/test_tables_check.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/handlers/test_base_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/inputs/test_base_input.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/inputs/test_json.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/inputs/test_parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc44/tests/unit/server → atlan_application_sdk-0.1.1rc45/tests/unit/observability}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/observability/test_logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/observability/test_metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/observability/test_traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/outputs/test_iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/outputs/test_json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/outputs/test_output.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/outputs/test_parquet_output.py +0 -0
- {atlan_application_sdk-0.1.1rc44/tests/unit/server/fastapi/routers → atlan_application_sdk-0.1.1rc45/tests/unit/server}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44/tests/unit/transformers → atlan_application_sdk-0.1.1rc45/tests/unit/server/fastapi/routers}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/server/fastapi/test_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc44/tests/unit/transformers/atlas → atlan_application_sdk-0.1.1rc45/tests/unit/server/mcp}/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/services/test_atlan_storage.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/services/test_eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/services/test_objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/services/test_statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/test_worker.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/test_column.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/test_database.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/test_function.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/test_procedure.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/test_schema.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/atlas/test_table.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/raw/column.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/raw/database.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/raw/function.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/raw/table.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/workflows/metadata_extraction/test_sql_workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
## v0.1.1rc45 (September 18, 2025)
|
|
2
|
+
|
|
3
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc44...v0.1.1rc45
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- add MCP (Model Context Protocol) integration to application-sdk (#698) (by @AdvitXAtlan in [a5d496e](https://github.com/atlanhq/application-sdk/commit/a5d496e))
|
|
8
|
+
- fix credentials and extra field information in docs (#724) (by @Nishchith Shetty in [a0808db](https://github.com/atlanhq/application-sdk/commit/a0808db))
|
|
9
|
+
- add minimal API docs for endpoints exposed (#721) (by @Nishchith Shetty in [3301b61](https://github.com/atlanhq/application-sdk/commit/3301b61))
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.1.1rc45 (September 18, 2025)
|
|
4
|
+
|
|
5
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc44...v0.1.1rc45
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- add MCP (Model Context Protocol) integration to application-sdk (#698) (by @AdvitXAtlan in [a5d496e](https://github.com/atlanhq/application-sdk/commit/a5d496e))
|
|
10
|
+
- fix credentials and extra field information in docs (#724) (by @Nishchith Shetty in [a0808db](https://github.com/atlanhq/application-sdk/commit/a0808db))
|
|
11
|
+
- add minimal API docs for endpoints exposed (#721) (by @Nishchith Shetty in [3301b61](https://github.com/atlanhq/application-sdk/commit/3301b61))
|
|
12
|
+
|
|
13
|
+
|
|
3
14
|
|
|
4
15
|
## v0.1.1rc44 (September 17, 2025)
|
|
5
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atlan-application-sdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1rc45
|
|
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
|
|
@@ -4,6 +4,7 @@ from typing import Any, Dict, List, Optional, Tuple, Type
|
|
|
4
4
|
from application_sdk.activities import ActivitiesInterface
|
|
5
5
|
from application_sdk.clients.base import BaseClient
|
|
6
6
|
from application_sdk.clients.utils import get_workflow_client
|
|
7
|
+
from application_sdk.constants import ENABLE_MCP
|
|
7
8
|
from application_sdk.events.models import EventRegistration
|
|
8
9
|
from application_sdk.handlers.base import BaseHandler
|
|
9
10
|
from application_sdk.observability.logger_adaptor import get_logger
|
|
@@ -29,7 +30,7 @@ class BaseApplication:
|
|
|
29
30
|
self,
|
|
30
31
|
name: str,
|
|
31
32
|
server: Optional[ServerInterface] = None,
|
|
32
|
-
application_manifest: Optional[
|
|
33
|
+
application_manifest: Optional[Dict[str, Any]] = None,
|
|
33
34
|
client_class: Optional[Type[BaseClient]] = None,
|
|
34
35
|
handler_class: Optional[Type[BaseHandler]] = None,
|
|
35
36
|
):
|
|
@@ -39,6 +40,9 @@ class BaseApplication:
|
|
|
39
40
|
Args:
|
|
40
41
|
name (str): The name of the application.
|
|
41
42
|
server (ServerInterface): The server class for the application.
|
|
43
|
+
application_manifest (Optional[Dict[str, Any]]): Application manifest configuration.
|
|
44
|
+
client_class (Optional[Type[BaseClient]]): Client class for the application.
|
|
45
|
+
handler_class (Optional[Type[BaseHandler]]): Handler class for the application.
|
|
42
46
|
"""
|
|
43
47
|
self.application_name = name
|
|
44
48
|
|
|
@@ -49,14 +53,21 @@ class BaseApplication:
|
|
|
49
53
|
|
|
50
54
|
self.workflow_client = get_workflow_client(application_name=name)
|
|
51
55
|
|
|
52
|
-
self.application_manifest: Dict[str, Any] = application_manifest
|
|
56
|
+
self.application_manifest: Optional[Dict[str, Any]] = application_manifest
|
|
53
57
|
self.bootstrap_event_registration()
|
|
54
58
|
|
|
55
59
|
self.client_class = client_class or BaseClient
|
|
56
60
|
self.handler_class = handler_class or BaseHandler
|
|
57
61
|
|
|
62
|
+
# MCP configuration
|
|
63
|
+
self.mcp_server: Optional["MCPServer"] = None
|
|
64
|
+
if ENABLE_MCP:
|
|
65
|
+
from application_sdk.server.mcp import MCPServer
|
|
66
|
+
|
|
67
|
+
self.mcp_server = MCPServer(application_name=name)
|
|
68
|
+
|
|
58
69
|
def bootstrap_event_registration(self):
|
|
59
|
-
self.event_subscriptions = {}
|
|
70
|
+
self.event_subscriptions: Dict[str, EventWorkflowTrigger] = {}
|
|
60
71
|
if self.application_manifest is None:
|
|
61
72
|
logger.warning("No application manifest found, skipping event registration")
|
|
62
73
|
return
|
|
@@ -122,8 +133,8 @@ class BaseApplication:
|
|
|
122
133
|
]
|
|
123
134
|
workflow_activities = []
|
|
124
135
|
for workflow_class, activities_class in workflow_and_activities_classes:
|
|
125
|
-
workflow_activities.extend(
|
|
126
|
-
workflow_class.get_activities(activities_class())
|
|
136
|
+
workflow_activities.extend( # type: ignore
|
|
137
|
+
workflow_class.get_activities(activities_class()) # type: ignore
|
|
127
138
|
)
|
|
128
139
|
|
|
129
140
|
self.worker = Worker(
|
|
@@ -134,6 +145,13 @@ class BaseApplication:
|
|
|
134
145
|
activity_executor=activity_executor,
|
|
135
146
|
)
|
|
136
147
|
|
|
148
|
+
# Register MCP tools if ENABLED_MCP is True and an MCP server is initialized
|
|
149
|
+
if self.mcp_server:
|
|
150
|
+
logger.info("Registering MCP tools from workflow and activities classes")
|
|
151
|
+
await self.mcp_server.register_tools( # type: ignore
|
|
152
|
+
workflow_and_activities_classes=workflow_and_activities_classes
|
|
153
|
+
)
|
|
154
|
+
|
|
137
155
|
async def start_workflow(self, workflow_args, workflow_class) -> Any:
|
|
138
156
|
"""
|
|
139
157
|
Start a new workflow execution.
|
|
@@ -147,7 +165,7 @@ class BaseApplication:
|
|
|
147
165
|
"""
|
|
148
166
|
if self.workflow_client is None:
|
|
149
167
|
raise ValueError("Workflow client not initialized")
|
|
150
|
-
return await self.workflow_client.start_workflow(workflow_args, workflow_class)
|
|
168
|
+
return await self.workflow_client.start_workflow(workflow_args, workflow_class) # type: ignore
|
|
151
169
|
|
|
152
170
|
async def start_worker(self, daemon: bool = True):
|
|
153
171
|
"""
|
|
@@ -162,39 +180,61 @@ class BaseApplication:
|
|
|
162
180
|
|
|
163
181
|
async def setup_server(
|
|
164
182
|
self,
|
|
165
|
-
workflow_class,
|
|
183
|
+
workflow_class: Type[WorkflowInterface],
|
|
166
184
|
ui_enabled: bool = True,
|
|
167
185
|
has_configmap: bool = False,
|
|
168
186
|
):
|
|
169
187
|
"""
|
|
170
|
-
|
|
188
|
+
Set up FastAPI server and automatically mount MCP if enabled.
|
|
189
|
+
|
|
190
|
+
Args:
|
|
191
|
+
workflow_class (WorkflowInterface): The workflow class for the application.
|
|
192
|
+
ui_enabled (bool): Whether to enable the UI.
|
|
193
|
+
has_configmap (bool): Whether to enable the configmap.
|
|
171
194
|
"""
|
|
172
195
|
if self.workflow_client is None:
|
|
173
196
|
await self.workflow_client.load()
|
|
174
197
|
|
|
175
|
-
|
|
198
|
+
mcp_http_app: Optional[Any] = None
|
|
199
|
+
lifespan: Optional[Any] = None
|
|
200
|
+
|
|
201
|
+
if self.mcp_server:
|
|
202
|
+
try:
|
|
203
|
+
mcp_http_app = await self.mcp_server.get_http_app()
|
|
204
|
+
lifespan = mcp_http_app.lifespan
|
|
205
|
+
except Exception as e:
|
|
206
|
+
logger.warning(f"Failed to get MCP HTTP app: {e}")
|
|
207
|
+
|
|
176
208
|
self.server = APIServer(
|
|
209
|
+
lifespan=lifespan,
|
|
177
210
|
workflow_client=self.workflow_client,
|
|
178
211
|
ui_enabled=ui_enabled,
|
|
179
212
|
handler=self.handler_class(client=self.client_class()),
|
|
180
213
|
has_configmap=has_configmap,
|
|
181
214
|
)
|
|
182
215
|
|
|
216
|
+
# Mount MCP at root
|
|
217
|
+
if mcp_http_app:
|
|
218
|
+
try:
|
|
219
|
+
self.server.app.mount("", mcp_http_app) # Mount at root
|
|
220
|
+
except Exception as e:
|
|
221
|
+
logger.warning(f"Failed to mount MCP HTTP app: {e}")
|
|
222
|
+
|
|
223
|
+
# Register event-based workflows if any
|
|
183
224
|
if self.event_subscriptions:
|
|
184
225
|
for event_trigger in self.event_subscriptions.values():
|
|
185
|
-
if event_trigger.workflow_class is None:
|
|
226
|
+
if event_trigger.workflow_class is None: # type: ignore
|
|
186
227
|
raise ValueError(
|
|
187
228
|
f"Workflow class not set for event trigger {event_trigger.event_id}"
|
|
188
229
|
)
|
|
189
230
|
|
|
190
|
-
self.server.register_workflow(
|
|
191
|
-
workflow_class=event_trigger.workflow_class,
|
|
231
|
+
self.server.register_workflow( # type: ignore
|
|
232
|
+
workflow_class=event_trigger.workflow_class, # type: ignore
|
|
192
233
|
triggers=[event_trigger],
|
|
193
234
|
)
|
|
194
235
|
|
|
195
|
-
#
|
|
196
|
-
#
|
|
197
|
-
self.server.register_workflow(
|
|
236
|
+
# Register the main workflow (HTTP POST /start endpoint)
|
|
237
|
+
self.server.register_workflow( # type: ignore
|
|
198
238
|
workflow_class=workflow_class,
|
|
199
239
|
triggers=[HttpWorkflowTrigger()],
|
|
200
240
|
)
|
{atlan_application_sdk-0.1.1rc44 → atlan_application_sdk-0.1.1rc45}/application_sdk/constants.py
RENAMED
|
@@ -255,3 +255,9 @@ REDIS_SENTINEL_HOSTS = os.getenv("REDIS_SENTINEL_HOSTS", "")
|
|
|
255
255
|
IS_LOCKING_DISABLED = os.getenv("IS_LOCKING_DISABLED", "true").lower() == "true"
|
|
256
256
|
#: Retry interval for lock acquisition
|
|
257
257
|
LOCK_RETRY_INTERVAL = int(os.getenv("LOCK_RETRY_INTERVAL", "5"))
|
|
258
|
+
|
|
259
|
+
# MCP Configuration
|
|
260
|
+
#: Flag to indicate if MCP should be enabled or not. Turning this to true will setup an MCP server along
|
|
261
|
+
#: with the application.
|
|
262
|
+
ENABLE_MCP = os.getenv("ENABLE_MCP", "false").lower() == "true"
|
|
263
|
+
MCP_METADATA_KEY = "__atlan_application_sdk_mcp_metadata"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"""
|
|
2
|
+
MCP tool decorator for marking activities as MCP tools.
|
|
3
|
+
|
|
4
|
+
This module provides the @mcp_tool decorator that developers use to mark
|
|
5
|
+
activities for automatic exposure via Model Context Protocol.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from typing import Any, Callable, Optional
|
|
9
|
+
|
|
10
|
+
from application_sdk.constants import MCP_METADATA_KEY
|
|
11
|
+
from application_sdk.server.mcp import MCPMetadata
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def mcp_tool(
|
|
15
|
+
name: Optional[str] = None,
|
|
16
|
+
description: Optional[str] = None,
|
|
17
|
+
visible: bool = True,
|
|
18
|
+
*args,
|
|
19
|
+
**kwargs,
|
|
20
|
+
):
|
|
21
|
+
"""
|
|
22
|
+
Decorator to mark functions as MCP tools.
|
|
23
|
+
|
|
24
|
+
Use this decorator to mark any function as an MCP tool. You can additionally use the `visible`
|
|
25
|
+
parameter to control whether the tool is visible at runtime or not.
|
|
26
|
+
|
|
27
|
+
Function parameters that are Pydantic models will be automatically converted into correct JSON schema
|
|
28
|
+
for the tool specification. This is handled by the underlying FastMCP server implementation.
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
name(Optional[str]): The name of the tool. Defaults to the function name.
|
|
32
|
+
description(Optional[str]): The description of the tool. Defaults to the function docstring.
|
|
33
|
+
visible(bool): Whether the MCP tool is visible at runtime or not. Defaults to True.
|
|
34
|
+
*args: Additional arguments to pass to the tool.
|
|
35
|
+
**kwargs: Additional keyword arguments to pass to the tool.
|
|
36
|
+
|
|
37
|
+
Examples:
|
|
38
|
+
>>> @mcp_tool(name="add_numbers", description="Add two numbers", visible=True)
|
|
39
|
+
>>> def add_numbers(self, a: int, b: int) -> int:
|
|
40
|
+
>>> return a + b
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
>>> # Use with Temporal activity decorator
|
|
44
|
+
>>> @activity.defn
|
|
45
|
+
>>> @mcp_tool(name="get_weather", description="Get the weather for a given city")
|
|
46
|
+
>>> async def get_weather(self, city: str) -> str:
|
|
47
|
+
>>> # ... activity implementation unchanged ...
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
def decorator(f: Callable[..., Any]) -> Callable[..., Any]:
|
|
51
|
+
mcp_metadata = MCPMetadata(
|
|
52
|
+
name=name if name else f.__name__,
|
|
53
|
+
description=description if description else f.__doc__,
|
|
54
|
+
visible=visible,
|
|
55
|
+
args=args,
|
|
56
|
+
kwargs=kwargs,
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
setattr(f, MCP_METADATA_KEY, mcp_metadata)
|
|
60
|
+
|
|
61
|
+
return f
|
|
62
|
+
|
|
63
|
+
return decorator
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""
|
|
2
|
+
MCP Server implementation using FastMCP for Atlan Application SDK.
|
|
3
|
+
|
|
4
|
+
This module provides the MCPServer class that automatically discovers
|
|
5
|
+
activities marked with @mcp_tool decorators and mounts them on FastAPI
|
|
6
|
+
using streamable HTTP transport.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from typing import Any, Callable, List, Optional, Tuple, Type
|
|
10
|
+
|
|
11
|
+
from fastmcp import FastMCP
|
|
12
|
+
from fastmcp.server.http import StarletteWithLifespan
|
|
13
|
+
|
|
14
|
+
from application_sdk.activities import ActivitiesInterface
|
|
15
|
+
from application_sdk.constants import MCP_METADATA_KEY
|
|
16
|
+
from application_sdk.observability.logger_adaptor import get_logger
|
|
17
|
+
from application_sdk.server.mcp.models import MCPMetadata
|
|
18
|
+
from application_sdk.workflows import WorkflowInterface
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class MCPServer:
|
|
22
|
+
"""
|
|
23
|
+
MCP Server using FastMCP 2.0 with FastAPI mounting capability.
|
|
24
|
+
|
|
25
|
+
This server automatically discovers activities marked with @mcp_tool
|
|
26
|
+
and creates a FastMCP server that can be mounted on FastAPI.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
def __init__(self, application_name: str, instructions: Optional[str] = None):
|
|
30
|
+
"""
|
|
31
|
+
Initialize the MCP server.
|
|
32
|
+
|
|
33
|
+
Args:
|
|
34
|
+
application_name (str): Name of the application
|
|
35
|
+
instructions (Optional[str]): Description for the MCP server
|
|
36
|
+
"""
|
|
37
|
+
self.application_name = application_name
|
|
38
|
+
|
|
39
|
+
self.logger = get_logger(__name__)
|
|
40
|
+
|
|
41
|
+
# FastMCP Server
|
|
42
|
+
self.server = FastMCP(
|
|
43
|
+
name=f"{application_name} MCP",
|
|
44
|
+
instructions=instructions,
|
|
45
|
+
on_duplicate_tools="error",
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
async def register_tools(
|
|
49
|
+
self,
|
|
50
|
+
workflow_and_activities_classes: List[
|
|
51
|
+
Tuple[Type[WorkflowInterface], Type[ActivitiesInterface]]
|
|
52
|
+
],
|
|
53
|
+
) -> None:
|
|
54
|
+
"""
|
|
55
|
+
Discover activities marked with @mcp_tool and register them.
|
|
56
|
+
|
|
57
|
+
Args:
|
|
58
|
+
workflow_and_activities_classes: List of (workflow_class, activities_class) tuples
|
|
59
|
+
"""
|
|
60
|
+
activity_methods: List[Callable[..., Any]] = []
|
|
61
|
+
for workflow_class, activities_class in workflow_and_activities_classes:
|
|
62
|
+
activities_instance = activities_class()
|
|
63
|
+
activity_methods.extend(workflow_class.get_activities(activities_instance)) # type: ignore
|
|
64
|
+
|
|
65
|
+
for f in activity_methods:
|
|
66
|
+
mcp_metadata: Optional[MCPMetadata] = getattr(f, MCP_METADATA_KEY, None)
|
|
67
|
+
if not mcp_metadata:
|
|
68
|
+
self.logger.info(
|
|
69
|
+
f"No MCP metadata found on activity method {f.__name__}. Skipping tool registration"
|
|
70
|
+
)
|
|
71
|
+
continue
|
|
72
|
+
|
|
73
|
+
if mcp_metadata.visible:
|
|
74
|
+
self.logger.info(
|
|
75
|
+
f"Registering tool {mcp_metadata.name} with description: {mcp_metadata.description}"
|
|
76
|
+
)
|
|
77
|
+
self.server.tool(
|
|
78
|
+
f,
|
|
79
|
+
name=mcp_metadata.name,
|
|
80
|
+
description=mcp_metadata.description,
|
|
81
|
+
*mcp_metadata.args,
|
|
82
|
+
**mcp_metadata.kwargs,
|
|
83
|
+
)
|
|
84
|
+
else:
|
|
85
|
+
self.logger.info(
|
|
86
|
+
f"Tool {mcp_metadata.name} is marked as not visible. Skipping tool registration"
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
tools = await self.server.get_tools()
|
|
90
|
+
self.logger.info(f"Registered {len(tools)} tools: {list(tools.keys())}")
|
|
91
|
+
|
|
92
|
+
async def get_http_app(self) -> StarletteWithLifespan:
|
|
93
|
+
"""
|
|
94
|
+
Get the HTTP app for the MCP server.
|
|
95
|
+
"""
|
|
96
|
+
return self.server.http_app()
|