atlan-application-sdk 0.1.1rc22__tar.gz → 0.1.1rc24__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.1rc24/.github/release_notes.md +12 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/CHANGELOG.md +24 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/PKG-INFO +1 -1
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/activities/__init__.py +4 -1
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/activities/query_extraction/sql.py +6 -5
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/common/utils.py +55 -39
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/outputs/parquet.py +4 -1
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/version.py +1 -1
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/workflows/__init__.py +0 -3
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/workflows/metadata_extraction/sql.py +0 -3
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/workflows.md +0 -3
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/pyproject.toml +1 -1
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/activities/test_activities.py +29 -5
- atlan_application_sdk-0.1.1rc24/tests/unit/common/test_utils.py +897 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/uv.lock +1 -1
- atlan_application_sdk-0.1.1rc22/.github/release_notes.md +0 -11
- atlan_application_sdk-0.1.1rc22/tests/unit/common/test_utils.py +0 -437
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.cursor/rules/documentation.mdc +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.cursor/rules/guidelines.mdc +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.cursor/rules/logging.mdc +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.cursor/rules/setup.mdc +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.cursor/rules/standards.mdc +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.cursor/rules/testing.mdc +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.env.example +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/CODEOWNERS +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/ISSUE_TEMPLATE/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/docgen/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/doclint/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/docstring-coverage/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/e2e-apps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/e2e-examples/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/setup-deps/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/sync-branches/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/trivy/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/trivy-container/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/actions/unit-tests/action.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/dependabot.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/pull_request_template.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/scripts/extract_release_notes.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/scripts/pre_release.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/scripts/release.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/scripts/trivy-to-markdown.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/scripts/update_changelog.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/AMPM.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Accessibility.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Acronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Adverbs.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Auto.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Avoid.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Contractions.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Dashes.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/DateFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/DateNumbers.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/DateOrder.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Ellipses.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/FirstPerson.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Foreign.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Gender.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/GenderBias.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/GeneralURL.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/HeadingAcronyms.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/HeadingColons.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/HeadingPunctuation.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Headings.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Hyphens.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Negative.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Ordinal.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/OxfordComma.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Passive.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Percentages.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Plurals.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Quotes.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/RangeTime.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Semicolon.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/SentenceLength.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Spacing.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Suspended.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Terms.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/URLFormat.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Units.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Vocab.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/We.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/Wordiness.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/Microsoft/meta.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/config/vocabularies/deviations/accept.txt +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/styles/config/vocabularies/deviations/reject.txt +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/checks.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/checks.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/codeql.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/dependency-review.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/dependency-review.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/stale.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/stale.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/trivy-container.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/trivy.properties.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflow-templates/trivy.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflows/codeql.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflows/pre-release.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflows/pull_request.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflows/push.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflows/release.yaml.disabled +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflows/scale-tests.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflows/schedule.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflows/tag-and-publish.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.github/workflows/trivy-container.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.gitignore +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.pre-commit-config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/.vscode/launch.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/CODE_OF_CONDUCT.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/CONTRIBUTING.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/LICENSE +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/NOTICE +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/README.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/SECURITY.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/activities/common/models.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/activities/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/activities/metadata_extraction/rest.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/activities/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/application/metadata_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/clients/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/clients/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/clients/workflow.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/common/aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/common/credential_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/common/dataframe_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/common/error_codes.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/constants.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/exporters/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/exporters/mkdocs.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/models/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/models/export/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/models/export/page.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/models/manifest/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/models/manifest/customer.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/models/manifest/internal.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/models/manifest/metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/models/manifest/page.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/models/manifest/section.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/parsers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/parsers/directory.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/docgen/parsers/manifest.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/handlers/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/inputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/inputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/inputs/objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/inputs/parquet.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/inputs/secretstore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/inputs/sql_query.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/inputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/observability/decorators/observability_decorator.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/observability/logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/observability/metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/observability/observability.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/observability/traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/observability/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/outputs/eventstore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/outputs/iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/outputs/json.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/outputs/objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/outputs/secretstore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/server/fastapi/middleware/logmiddleware.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/server/fastapi/middleware/metrics.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/server/fastapi/models.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/server/fastapi/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/e2e/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/e2e/base.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/e2e/client.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/e2e/conftest.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/e2e/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/clients/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/common/logger.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/handlers/sql/sql_preflight.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/inputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/inputs/json_input.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/outputs/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/outputs/json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/outputs/statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/server/fastapi/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/hypothesis/strategies/temporal.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/README.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/config_loader.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/data_generator.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/driver.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/examples/config.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/output_handler/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/output_handler/base.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/output_handler/csv_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/output_handler/json_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/scale_data_generator/output_handler/parquet_handler.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/test_utils/workflow_monitoring.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/atlas/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/common/utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/query/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/query/templates/column.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/query/templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/query/templates/extras-procedure.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/query/templates/function.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/query/templates/schema.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/query/templates/table.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/transformers/query/templates/tag_attachment.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/worker.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/workflows/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/workflows/query_extraction/sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/components/README.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/components/aws-secrets.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/components/eventstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/components/objectstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/components/secretstore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/components/statestore.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/activities.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/application.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/application_sql.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/clients.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/common.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/handlers.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/inputs.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/output_paths.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/outputs.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/server.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/worker.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/configuration.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/guides/architecture.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/guides/atlantis.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/guides/best-practices.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/guides/getting-started.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/guides/index.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/guides/partners.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/guides/secretstores.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/guides/sql-application-guide.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/guides/test-framework.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/index.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/setup/LINUX.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/setup/MAC.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/setup/WINDOWS.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/setup/troubleshooting.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/static/assets/logo.svg +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/static/images/phoenix-sdk-featureset.png +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/static/javascripts/mathjax.js +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/static/stylesheets/extra.css +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/mkdocs.yml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/README.md +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/application_custom_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/application_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/application_hello_world.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/application_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/application_sql_miner.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/application_sql_with_custom_pyatlan_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/application_sql_with_custom_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/run_examples.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/examples/sql_query_templates/database.yaml +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/activities/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/activities/common/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/activities/common/test_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/activities/metadata_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/activities/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/activities/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/application/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/application/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/application/test_application.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/clients/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/clients/test_async_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/clients/test_sql_client.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/clients/test_temporal_client.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/common/test_aws_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/common/test_credential_utils.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/docgen/parsers/test_directory_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/docgen/parsers/test_manifest_parser.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/handlers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/handlers/sql/test_auth.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/handlers/sql/test_check_schemas_and_databases.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/handlers/sql/test_extract_allowed_schemas.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/handlers/sql/test_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/handlers/sql/test_preflight_check.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/handlers/sql/test_prepare_metadata.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/handlers/sql/test_tables_check.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/handlers/sql/test_validate_filters.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/inputs/test_json.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/observability/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/observability/test_logger_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/observability/test_metrics_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/observability/test_traces_adaptor.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/outputs/test_iceberg.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/outputs/test_json_output.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/outputs/test_objectstore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/outputs/test_output.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/outputs/test_statestore.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/server/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/server/fastapi/routers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/server/fastapi/routers/server.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/server/fastapi/test_fastapi.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/test_worker.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/raw_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/raw_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/raw_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/raw_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/raw_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/raw_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/transformed_columns.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/transformed_databases.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/transformed_functions.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/transformed_procedures.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/transformed_schemas.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/resources/transformed_tables.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/test_column.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/test_database.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/test_function.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/test_procedure.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/test_schema.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/atlas/test_table.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/raw/column.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/raw/database.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/raw/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/raw/function.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/raw/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/raw/table.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/transformed/column.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/transformed/database.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/transformed/extras-procedure.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/transformed/function.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/transformed/schema.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/resources/transformed/table.json +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/test_sql_transformer.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/transformers/query/test_sql_transformer_output_validation.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/workflows/metadata_extraction/test_sql.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/workflows/query_extraction/__init__.py +0 -0
- {atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/tests/unit/workflows/query_extraction/test_sql.py +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
## v0.1.1rc24 (August 01, 2025)
|
|
2
|
+
|
|
3
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc23...v0.1.1rc24
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Add utility function to fetch include/exclude databases from include-exclude regex (#623) (by @Abhishek Agrawal in [0c6cc62](https://github.com/atlanhq/application-sdk/commit/0c6cc62))
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
- miner output path (#626) (by @Onkar Ravgan in [cabe7eb](https://github.com/atlanhq/application-sdk/commit/cabe7eb))
|
|
12
|
+
- db name regex pattern (#630) (by @Onkar Ravgan in [bb26992](https://github.com/atlanhq/application-sdk/commit/bb26992))
|
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## v0.1.1rc24 (August 01, 2025)
|
|
5
|
+
|
|
6
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc23...v0.1.1rc24
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- Add utility function to fetch include/exclude databases from include-exclude regex (#623) (by @Abhishek Agrawal in [0c6cc62](https://github.com/atlanhq/application-sdk/commit/0c6cc62))
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
- miner output path (#626) (by @Onkar Ravgan in [cabe7eb](https://github.com/atlanhq/application-sdk/commit/cabe7eb))
|
|
15
|
+
- db name regex pattern (#630) (by @Onkar Ravgan in [bb26992](https://github.com/atlanhq/application-sdk/commit/bb26992))
|
|
16
|
+
|
|
17
|
+
## v0.1.1rc23 (July 29, 2025)
|
|
18
|
+
|
|
19
|
+
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc22...v0.1.1rc23
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
- marker file being saved at incorrect location (#620) (by @Abhishek Agrawal in [d3de56f](https://github.com/atlanhq/application-sdk/commit/d3de56f))
|
|
24
|
+
- issues with inferring workflow_run_id (#624) (by @Nishchith Shetty in [61e7a4d](https://github.com/atlanhq/application-sdk/commit/61e7a4d))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
4
28
|
## v0.1.1rc22 (July 21, 2025)
|
|
5
29
|
|
|
6
30
|
Full Changelog: https://github.com/atlanhq/application-sdk/compare/v0.1.1rc21...v0.1.1rc22
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atlan-application-sdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1rc24
|
|
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
|
|
@@ -24,6 +24,7 @@ from application_sdk.activities.common.utils import (
|
|
|
24
24
|
auto_heartbeater,
|
|
25
25
|
build_output_path,
|
|
26
26
|
get_workflow_id,
|
|
27
|
+
get_workflow_run_id,
|
|
27
28
|
)
|
|
28
29
|
from application_sdk.common.error_codes import OrchestratorError
|
|
29
30
|
from application_sdk.constants import TEMPORARY_PATH
|
|
@@ -183,7 +184,7 @@ class ActivitiesInterface(ABC, Generic[ActivitiesStateType]):
|
|
|
183
184
|
Raises:
|
|
184
185
|
IOError: If configuration cannot be retrieved from state store
|
|
185
186
|
"""
|
|
186
|
-
workflow_id = workflow_config.get("workflow_id")
|
|
187
|
+
workflow_id = workflow_config.get("workflow_id", get_workflow_id())
|
|
187
188
|
if not workflow_id:
|
|
188
189
|
raise ValueError("workflow_id is required in workflow_config")
|
|
189
190
|
|
|
@@ -196,6 +197,8 @@ class ActivitiesInterface(ABC, Generic[ActivitiesStateType]):
|
|
|
196
197
|
workflow_args["output_path"] = os.path.join(
|
|
197
198
|
workflow_args["output_prefix"], build_output_path()
|
|
198
199
|
)
|
|
200
|
+
workflow_args["workflow_id"] = workflow_id
|
|
201
|
+
workflow_args["workflow_run_id"] = get_workflow_run_id()
|
|
199
202
|
return workflow_args
|
|
200
203
|
|
|
201
204
|
except Exception as e:
|
|
@@ -201,8 +201,9 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
201
201
|
sql_input = SQLQueryInput(
|
|
202
202
|
engine=state.sql_client.engine,
|
|
203
203
|
query=self.get_formatted_query(self.fetch_queries_sql, workflow_args),
|
|
204
|
+
chunk_size=None,
|
|
204
205
|
)
|
|
205
|
-
sql_input = await sql_input.
|
|
206
|
+
sql_input = await sql_input.get_dataframe()
|
|
206
207
|
|
|
207
208
|
raw_output = ParquetOutput(
|
|
208
209
|
output_prefix=workflow_args["output_prefix"],
|
|
@@ -212,7 +213,7 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
212
213
|
start_marker=workflow_args["start_marker"],
|
|
213
214
|
end_marker=workflow_args["end_marker"],
|
|
214
215
|
)
|
|
215
|
-
await raw_output.
|
|
216
|
+
await raw_output.write_dataframe(sql_input)
|
|
216
217
|
|
|
217
218
|
logger.info(
|
|
218
219
|
f"Query fetch completed, {raw_output.total_record_count} records processed",
|
|
@@ -398,7 +399,7 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
398
399
|
Raises:
|
|
399
400
|
Exception: If marker file writing or object store upload fails
|
|
400
401
|
"""
|
|
401
|
-
output_path = workflow_args["output_path"].rsplit("/",
|
|
402
|
+
output_path = workflow_args["output_path"].rsplit("/", 1)[0]
|
|
402
403
|
logger.info(f"Writing marker file to {output_path}")
|
|
403
404
|
marker_file_path = os.path.join(output_path, "markerfile")
|
|
404
405
|
|
|
@@ -436,7 +437,7 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
436
437
|
Exception: If marker file reading fails (logged as warning, not re-raised)
|
|
437
438
|
"""
|
|
438
439
|
try:
|
|
439
|
-
output_path = workflow_args["output_path"].rsplit("/",
|
|
440
|
+
output_path = workflow_args["output_path"].rsplit("/", 1)[0]
|
|
440
441
|
marker_file_path = os.path.join(output_path, "markerfile")
|
|
441
442
|
logger.info(f"Downloading marker file from {marker_file_path}")
|
|
442
443
|
|
|
@@ -485,7 +486,7 @@ class SQLQueryExtractionActivities(ActivitiesInterface):
|
|
|
485
486
|
|
|
486
487
|
current_marker = self.read_marker(workflow_args)
|
|
487
488
|
if current_marker:
|
|
488
|
-
miner_args.
|
|
489
|
+
miner_args.current_marker = current_marker
|
|
489
490
|
|
|
490
491
|
queries_sql_query = self.fetch_queries_sql.format(
|
|
491
492
|
database_name_cleaned=miner_args.database_name_cleaned,
|
{atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/application_sdk/common/utils.py
RENAMED
|
@@ -25,35 +25,29 @@ logger = get_logger(__name__)
|
|
|
25
25
|
F = TypeVar("F", bound=Callable[..., Awaitable[Any]])
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
def
|
|
28
|
+
def extract_database_names_from_regex_common(
|
|
29
|
+
normalized_regex: str,
|
|
30
|
+
empty_default: str,
|
|
31
|
+
require_wildcard_schema: bool,
|
|
32
|
+
) -> str:
|
|
29
33
|
"""
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
This function parses regex patterns like 'dev\\.external_schema$|wide_world_importers\\.bronze_sales$'
|
|
33
|
-
or 'dev\\.*|wide_world_importers\\.*' to extract the database names, and returns a regex string
|
|
34
|
-
like '^(dev|wide_world_importers)$' for use in SQL queries.
|
|
34
|
+
Common implementation for extracting database names from regex patterns.
|
|
35
35
|
|
|
36
36
|
Args:
|
|
37
37
|
normalized_regex (str): The normalized regex pattern containing database.schema patterns
|
|
38
|
+
empty_default (str): Default value to return for empty/null inputs
|
|
39
|
+
require_wildcard_schema (bool): Whether to only extract database names for wildcard schemas
|
|
38
40
|
|
|
39
41
|
Returns:
|
|
40
|
-
str: A regex string in the format ^(name1|name2|...)$ or
|
|
41
|
-
|
|
42
|
-
Examples:
|
|
43
|
-
>>> extract_database_names_from_regex('dev\\.external_schema$|wide_world_importers\\.bronze_sales$')
|
|
44
|
-
'^(dev|wide_world_importers)$'
|
|
45
|
-
>>> extract_database_names_from_regex('dev\\.*|wide_world_importers\\.*')
|
|
46
|
-
'^(dev|wide_world_importers)$'
|
|
47
|
-
>>> extract_database_names_from_regex('^$')
|
|
48
|
-
'^$'
|
|
49
|
-
|
|
50
|
-
Raises:
|
|
51
|
-
CommonError: If the input is invalid or processing fails
|
|
42
|
+
str: A regex string in the format ^(name1|name2|...)$ or default values
|
|
52
43
|
"""
|
|
53
44
|
try:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return
|
|
45
|
+
# Handle special cases based on regex type
|
|
46
|
+
if not normalized_regex or normalized_regex == "^$":
|
|
47
|
+
return empty_default
|
|
48
|
+
|
|
49
|
+
if normalized_regex == ".*":
|
|
50
|
+
return "'.*'"
|
|
57
51
|
|
|
58
52
|
database_names: Set[str] = set()
|
|
59
53
|
|
|
@@ -66,32 +60,50 @@ def extract_database_names_from_regex(normalized_regex: str) -> str:
|
|
|
66
60
|
if not pattern or not pattern.strip():
|
|
67
61
|
continue
|
|
68
62
|
|
|
69
|
-
# Split by \\. to get database name
|
|
63
|
+
# Split by \\. to get database name and schema part
|
|
70
64
|
# The \\. represents an escaped dot in the regex
|
|
71
65
|
parts = pattern.split("\\.")
|
|
72
|
-
if parts:
|
|
73
|
-
db_name = parts[0].strip()
|
|
74
|
-
if db_name and db_name not in (".*", "^$"):
|
|
75
|
-
# Validate database name format
|
|
76
|
-
if re.match(r"^[a-zA-Z_][a-zA-Z0-9_]*$", db_name):
|
|
77
|
-
database_names.add(db_name)
|
|
78
|
-
else:
|
|
79
|
-
logger.warning(f"Invalid database name format: {db_name}")
|
|
80
66
|
|
|
67
|
+
# Handle different validation requirements
|
|
68
|
+
if require_wildcard_schema:
|
|
69
|
+
# For exclude regex, we need at least 2 parts and schema must be wildcard
|
|
70
|
+
if len(parts) < 2:
|
|
71
|
+
logger.warning(f"Invalid database name format: {pattern}")
|
|
72
|
+
continue
|
|
73
|
+
db_name = parts[0].strip()
|
|
74
|
+
schema_part = parts[1].strip()
|
|
75
|
+
# Only extract database name if the schema part is a wildcard (*)
|
|
76
|
+
if not (
|
|
77
|
+
db_name and db_name not in (".*", "^$") and schema_part == "*"
|
|
78
|
+
):
|
|
79
|
+
continue
|
|
80
|
+
else:
|
|
81
|
+
# For include regex, we just need the database name
|
|
82
|
+
if not parts:
|
|
83
|
+
continue
|
|
84
|
+
db_name = parts[0].strip()
|
|
85
|
+
if not (db_name and db_name not in (".*", "^$")):
|
|
86
|
+
continue
|
|
87
|
+
|
|
88
|
+
# Validate database name format
|
|
89
|
+
if re.match(r"^[a-zA-Z_][a-zA-Z0-9_$-]*$", db_name):
|
|
90
|
+
database_names.add(db_name)
|
|
91
|
+
else:
|
|
92
|
+
logger.warning(f"Invalid database name format: {db_name}")
|
|
81
93
|
except Exception as e:
|
|
82
94
|
logger.warning(f"Error processing pattern '{pattern}': {str(e)}")
|
|
83
95
|
continue
|
|
84
96
|
|
|
85
97
|
if not database_names:
|
|
86
|
-
return
|
|
98
|
+
return empty_default
|
|
87
99
|
return f"'^({'|'.join(sorted(database_names))})$'"
|
|
88
100
|
|
|
89
101
|
except Exception as e:
|
|
90
102
|
logger.error(
|
|
91
103
|
f"Error extracting database names from regex '{normalized_regex}': {str(e)}"
|
|
92
104
|
)
|
|
93
|
-
# Return
|
|
94
|
-
return
|
|
105
|
+
# Return appropriate default based on regex type
|
|
106
|
+
return empty_default
|
|
95
107
|
|
|
96
108
|
|
|
97
109
|
def prepare_query(
|
|
@@ -147,12 +159,16 @@ def prepare_query(
|
|
|
147
159
|
)
|
|
148
160
|
|
|
149
161
|
# Extract database names from the normalized regex patterns
|
|
150
|
-
include_databases =
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
162
|
+
include_databases = extract_database_names_from_regex_common(
|
|
163
|
+
normalized_regex=normalized_include_regex,
|
|
164
|
+
empty_default="'.*'",
|
|
165
|
+
require_wildcard_schema=False,
|
|
166
|
+
)
|
|
167
|
+
exclude_databases = extract_database_names_from_regex_common(
|
|
168
|
+
normalized_regex=normalized_exclude_regex,
|
|
169
|
+
empty_default="'^$'",
|
|
170
|
+
require_wildcard_schema=True,
|
|
171
|
+
)
|
|
156
172
|
|
|
157
173
|
# Use sets directly for SQL query formatting
|
|
158
174
|
exclude_empty_tables = workflow_args.get("metadata", {}).get(
|
|
@@ -188,7 +188,10 @@ class ParquetOutput(Output):
|
|
|
188
188
|
self.total_record_count += row_count
|
|
189
189
|
|
|
190
190
|
# Generate file path using path_gen function
|
|
191
|
-
|
|
191
|
+
if self.start_marker and self.end_marker:
|
|
192
|
+
file_path = self.output_path
|
|
193
|
+
else:
|
|
194
|
+
file_path = f"{self.output_path}/{self.path_gen(self.chunk_start, self.chunk_count, self.start_marker, self.end_marker)}"
|
|
192
195
|
|
|
193
196
|
# Write the dataframe to parquet using daft
|
|
194
197
|
dataframe.write_parquet(
|
|
@@ -85,9 +85,6 @@ class WorkflowInterface(ABC, Generic[ActivitiesInterfaceType]):
|
|
|
85
85
|
logger.info("Starting workflow execution")
|
|
86
86
|
|
|
87
87
|
try:
|
|
88
|
-
workflow_run_id = workflow.info().run_id
|
|
89
|
-
workflow_args["workflow_run_id"] = workflow_run_id
|
|
90
|
-
|
|
91
88
|
retry_policy = RetryPolicy(maximum_attempts=2, backoff_coefficient=2)
|
|
92
89
|
|
|
93
90
|
await workflow.execute_activity_method(
|
|
@@ -201,9 +201,6 @@ class BaseSQLMetadataExtractionWorkflow(MetadataExtractionWorkflow):
|
|
|
201
201
|
heartbeat_timeout=self.default_heartbeat_timeout,
|
|
202
202
|
)
|
|
203
203
|
|
|
204
|
-
workflow_run_id = workflow.info().run_id
|
|
205
|
-
workflow_args["workflow_run_id"] = workflow_run_id
|
|
206
|
-
|
|
207
204
|
logger.info(f"Starting extraction workflow for {workflow_id}")
|
|
208
205
|
retry_policy = RetryPolicy(
|
|
209
206
|
maximum_attempts=6,
|
{atlan_application_sdk-0.1.1rc22 → atlan_application_sdk-0.1.1rc24}/docs/docs/concepts/workflows.md
RENAMED
|
@@ -129,7 +129,6 @@ While most customization typically happens in `Activities`, `Handlers`, or `Clie
|
|
|
129
129
|
@workflow.run
|
|
130
130
|
async def run(self, workflow_config: Dict[str, Any]) -> str: # Return type example
|
|
131
131
|
# 1. Load full arguments (Essential step)
|
|
132
|
-
workflow_id = workflow_config["workflow_id"]
|
|
133
132
|
workflow_args: Dict[str, Any] = await workflow.execute_activity_method(
|
|
134
133
|
self.activities_cls.get_workflow_args,
|
|
135
134
|
workflow_config, # Pass the whole config containing workflow_id
|
|
@@ -137,8 +136,6 @@ While most customization typically happens in `Activities`, `Handlers`, or `Clie
|
|
|
137
136
|
start_to_close_timeout=self.default_start_to_close_timeout,
|
|
138
137
|
heartbeat_timeout=self.default_heartbeat_timeout,
|
|
139
138
|
)
|
|
140
|
-
workflow.logger.info(f"Starting custom run logic for {workflow_id}")
|
|
141
|
-
workflow_args["workflow_run_id"] = workflow.info().run_id # Add run ID
|
|
142
139
|
|
|
143
140
|
# Define a standard retry policy for activities
|
|
144
141
|
retry_policy = RetryPolicy(maximum_attempts=3)
|
|
@@ -178,14 +178,16 @@ class TestActivitiesInterface:
|
|
|
178
178
|
class TestActivitiesInterfaceActivities:
|
|
179
179
|
"""Test cases for ActivitiesInterface activity methods."""
|
|
180
180
|
|
|
181
|
-
@patch("application_sdk.activities.
|
|
182
|
-
@patch("application_sdk.activities.
|
|
181
|
+
@patch("application_sdk.activities.build_output_path")
|
|
182
|
+
@patch("application_sdk.activities.get_workflow_run_id")
|
|
183
|
+
@patch("application_sdk.activities.get_workflow_id")
|
|
183
184
|
@patch("application_sdk.inputs.statestore.StateStoreInput.get_state")
|
|
184
185
|
async def test_get_workflow_args_success(
|
|
185
186
|
self,
|
|
186
187
|
mock_get_state,
|
|
187
188
|
mock_get_workflow_id,
|
|
188
189
|
mock_get_workflow_run_id,
|
|
190
|
+
mock_build_output_path,
|
|
189
191
|
mock_activities,
|
|
190
192
|
):
|
|
191
193
|
"""Test successful get_workflow_args activity."""
|
|
@@ -194,6 +196,7 @@ class TestActivitiesInterfaceActivities:
|
|
|
194
196
|
mock_get_state.return_value = expected_config
|
|
195
197
|
mock_get_workflow_id.return_value = "test-123"
|
|
196
198
|
mock_get_workflow_run_id.return_value = "run-456"
|
|
199
|
+
mock_build_output_path.return_value = "test/output/path"
|
|
197
200
|
|
|
198
201
|
result = await mock_activities.get_workflow_args(workflow_config)
|
|
199
202
|
|
|
@@ -207,20 +210,41 @@ class TestActivitiesInterfaceActivities:
|
|
|
207
210
|
|
|
208
211
|
mock_get_state.assert_called_once_with("test-123", StateType.WORKFLOWS)
|
|
209
212
|
|
|
210
|
-
|
|
213
|
+
@patch("application_sdk.activities.build_output_path")
|
|
214
|
+
@patch("application_sdk.activities.get_workflow_run_id")
|
|
215
|
+
@patch("application_sdk.activities.get_workflow_id")
|
|
216
|
+
async def test_get_workflow_args_missing_workflow_id(
|
|
217
|
+
self,
|
|
218
|
+
mock_get_workflow_id,
|
|
219
|
+
mock_get_workflow_run_id,
|
|
220
|
+
mock_build_output_path,
|
|
221
|
+
mock_activities,
|
|
222
|
+
):
|
|
211
223
|
"""Test get_workflow_args with missing workflow_id."""
|
|
212
224
|
workflow_config = {"other_param": "value"}
|
|
225
|
+
mock_get_workflow_id.side_effect = Exception("Failed to get workflow id")
|
|
213
226
|
|
|
214
|
-
with pytest.raises(
|
|
227
|
+
with pytest.raises(Exception, match="Failed to get workflow id"):
|
|
215
228
|
await mock_activities.get_workflow_args(workflow_config)
|
|
216
229
|
|
|
230
|
+
@patch("application_sdk.activities.build_output_path")
|
|
231
|
+
@patch("application_sdk.activities.get_workflow_run_id")
|
|
232
|
+
@patch("application_sdk.activities.get_workflow_id")
|
|
217
233
|
@patch("application_sdk.inputs.statestore.StateStoreInput.get_state")
|
|
218
234
|
async def test_get_workflow_args_extraction_error(
|
|
219
|
-
self,
|
|
235
|
+
self,
|
|
236
|
+
mock_get_state,
|
|
237
|
+
mock_get_workflow_id,
|
|
238
|
+
mock_get_workflow_run_id,
|
|
239
|
+
mock_build_output_path,
|
|
240
|
+
mock_activities,
|
|
220
241
|
):
|
|
221
242
|
"""Test get_workflow_args when extraction fails."""
|
|
222
243
|
workflow_config = {"workflow_id": "test-123"}
|
|
223
244
|
mock_get_state.side_effect = Exception("Extraction failed")
|
|
245
|
+
mock_get_workflow_id.return_value = "test-123"
|
|
246
|
+
mock_get_workflow_run_id.return_value = "run-456"
|
|
247
|
+
mock_build_output_path.return_value = "test/output/path"
|
|
224
248
|
|
|
225
249
|
with pytest.raises(Exception, match="Extraction failed"):
|
|
226
250
|
await mock_activities.get_workflow_args(workflow_config)
|