Repository navigation
Conversation
Overlays for SigmaWorkbook, SigmaPage, SigmaDataElement, SigmaDataElementField, SigmaDataset, SigmaDataModel and SigmaDataModelColumn. Each creator emits the qualifiedName atlan-sigma-app emits today, sets the parent relationship and the denormalised parent attributes, and raises on blank inputs. Classes regenerated from atlanhq/models#2082. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0166vmu2bYFX2P4LFGH3GR4F
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✨ Description
Adds
creator()for the 7 Sigma asset types in pyatlan_v9: SigmaWorkbook, SigmaPage, SigmaDataElement, SigmaDataElementField, SigmaDataset, SigmaDataModel, SigmaDataModelColumn. Follows the Cognos exemplar (#1078): overlay + parity tests + integration test.dataModelssegment for data models. A different string would re-key existing Sigma assets on every tenant.Table/AirflowTask: Sigma qualifiedNames are nested, so child creators take the parent's qualifiedName plus the source id. Ancestor qualifiedNames andconnection_qualified_nameare derived from it. Parent and ancestor names are required params, because the qualifiedName holds ids andvalidate(for_creation=True)requires the denormalised names.sigma_workbook/sigma_page/sigma_data_element/sigma_data_model), as the app does, so creator output passesvalidate(for_creation=True).validate_required_fields), so the app's'unknown'placeholder collision (sigma.py:89) cannot happen. A parent qualifiedName with the wrong segment count (or, for data model columns, nodataModelssegment) raisesValueError.asset_source_idis set on SigmaDataModel (data model id) and SigmaDataModelColumn (column id), matching the app.pyatlan_v9/model/assets/_overlays/sigma_*.py; the 7 classes are regenerated from atlanhq/models with these overlays (pklsdkOnly=python+ pre-commit, the same steps assync-python-sdk.yaml). Only the 7 Sigma classes are taken from the regeneration; other drift from models master is left to the sync workflow.Linear: FND-3856 (analysis table in the issue comments)
Paired models PR: https://github.com/atlanhq/models/pull/2082 — adds the matching
qualifiedNameFormula, which drives the regenerated_QUALIFIED_NAME_PATTERN. Merge that one first.🧩 Type of change
✅ How has this been tested?
tests_v9/unit/model/sigma_test.py(35 tests): literal app qualifiedName per type, name pattern match,validate(for_creation=True), parent relationship and denormalised attrs, missing / blank inputs for every param, malformed parent qualifiedNames,createalias.SigmaTransformer(all 7 types, ids with-_.~) give qualifiedNames, parent refs, denormalised parent qns / names andassetSourceIdidentical to the creators; 0 mismatches.dataModelssegment fails the parity tests.tests_v9/integration/sigma_asset_test.py: creates a Sigma connection and every Sigma type through its creator, retrieves each and asserts the exact qualifiedName, connector, parent link and denormalised attrs, then purges. Collected locally; runs in CI.pytest tests_v9/unit: 7954 passed, 5 skipped.pre-commitclean on all changed files.📋 Checklist
🤖 Generated with Claude Code
https://claude.ai/code/session_0166vmu2bYFX2P4LFGH3GR4F