Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion converters/dbt/tests/test_msi_to_ossie.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def _field_expr(result: OssieDocument, field_idx: int = 0) -> str:


def _ossie_metrics(result: OssieDocument) -> list:
"""Return Ossie metrics for the first semantic model, asserting they exist."""
"""Return the document's Ossie metrics, asserting they exist."""
metrics = result.metrics
assert metrics is not None
return metrics
Expand Down
3 changes: 1 addition & 2 deletions converters/sigma/src/ossie_sigma/ossie_to_sigma.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
OssieField,
OssieMetric,
OssieRelationship,
OssieSemanticModel,
OssieVendor,
)

Expand All @@ -40,7 +39,7 @@
from ossie_sigma.spec_keys import MODEL_LEVEL_SPEC_KEYS

# Objects a `SIGMA` custom_extensions vendor entry can be attached to.
_SigmaExtensionHost = Union[OssieDataset, OssieField, OssieMetric, OssieRelationship, OssieSemanticModel]
_SigmaExtensionHost = Union[OssieDataset, OssieField, OssieMetric, OssieRelationship, OssieDocument]

_ID_NAMESPACE = uuid5(NAMESPACE_URL, "ossie.apache.org/converters/sigma")

Expand Down
8 changes: 4 additions & 4 deletions converters/sigma/tests/test_ossie_to_sigma.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

from pathlib import Path

import pytest
import yaml
from ossie import (
OssieDataset,
Expand All @@ -28,7 +29,6 @@
OssieMetric,
)

import pytest
from ossie import OssieRelationship
from pydantic import ValidationError

Expand Down Expand Up @@ -121,7 +121,7 @@ def test_relationship_ids_are_scoped_by_owning_dataset():
OssieRelationship(
name="Parent", **{"from": "shipments"}, to="carriers", from_columns=["x"], to_columns=["y"]
),
]
],
)

spec = OssieToSigmaConverter().convert(document).output
Expand Down Expand Up @@ -205,7 +205,7 @@ def test_untranslatable_expression_omits_the_column_instead_of_faking_a_formula(
]
),
)
]
],
)

result = OssieToSigmaConverter().convert(document)
Expand Down Expand Up @@ -259,7 +259,7 @@ def test_datatypes_only_ever_emit_the_two_documented_format_kinds():
)
],
)
]
],
)

columns = OssieToSigmaConverter().convert(document).output["pages"][0]["elements"][0]["columns"]
Expand Down
11 changes: 7 additions & 4 deletions converters/sigma/tests/test_roundtrip.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,14 @@ def test_osi_sigma_osi_roundtrip_preserves_portable_fields(fixture_name):
document_2 = SigmaToOssieConverter().convert(spec_2).output

def portable(document):
model = document
return {
"datasets": [(d.name, d.source, [(f.name, f.datatype) for f in d.fields or []]) for d in model.datasets],
"relationships": [(r.name, r.from_dataset, r.to, r.from_columns, r.to_columns) for r in model.relationships or []],
"metrics": [(m.name,) for m in model.metrics or []],
"datasets": [
(d.name, d.source, [(f.name, f.datatype) for f in d.fields or []]) for d in document.datasets
],
"relationships": [
(r.name, r.from_dataset, r.to, r.from_columns, r.to_columns) for r in document.relationships or []
],
"metrics": [(m.name,) for m in document.metrics or []],
}

assert portable(document_1) == portable(document_2)
4 changes: 2 additions & 2 deletions converters/wisdom/tests/test_ossie_to_wisdom.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ def test_one_to_one_note_restores_relationship_type():
to_columns=["id"],
ai_context="one-to-one relationship",
)
]
],
)
export = OssieToWisdomConverter().convert(document, exported_at="2026-07-10T00:00:00+00:00").output
edges = export["domain"]["zsheet_json"]["relationshipGraph"]["relationships"]
Expand All @@ -203,7 +203,7 @@ def test_unresolved_metric_attaches_to_first_dataset():
document = OssieDocument(
name="m",
datasets=[OssieDataset(name="a", source="db.s.a"), OssieDataset(name="b", source="db.s.b")],
metrics=[OssieMetric(name="row_count", expression=_snowflake("COUNT(*)"))]
metrics=[OssieMetric(name="row_count", expression=_snowflake("COUNT(*)"))],
)
result = OssieToWisdomConverter().convert(document, exported_at="2026-07-10T00:00:00+00:00")
export = result.output
Expand Down
2 changes: 1 addition & 1 deletion python/src/ossie/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ class OssieMetric(BaseModel):


class OssieSemanticModel(BaseModel):
"""Top-level container representing a complete semantic model."""
"""Semantic model: the datasets, relationships, and metrics for one business domain."""

model_config = ConfigDict(frozen=True)

Expand Down
Loading