From bf338714c0d9b9ce28562389955698a967ae2fcb Mon Sep 17 00:00:00 2001 From: Seth Fitzsimmons Date: Thu, 10 Sep 2026 21:54:18 -0700 Subject: [PATCH] fix(system): export Feature from the package root `overture.schema.common` exports `OvertureFeature`, but `overture.schema.system` exported only its submodules and `create_model`, so `from overture.schema.system import Feature` raised ImportError while AUTHORING.md tells authors to subclass `system.Feature` directly. Closes #737 Signed-off-by: Seth Fitzsimmons --- packages/overture-schema-system/changelog.d/737.bugfix.md | 1 + .../src/overture/schema/system/__init__.py | 2 ++ packages/overture-schema-system/tests/test_feature.py | 7 +++++++ 3 files changed, 10 insertions(+) create mode 100644 packages/overture-schema-system/changelog.d/737.bugfix.md diff --git a/packages/overture-schema-system/changelog.d/737.bugfix.md b/packages/overture-schema-system/changelog.d/737.bugfix.md new file mode 100644 index 000000000..fc8b32d78 --- /dev/null +++ b/packages/overture-schema-system/changelog.d/737.bugfix.md @@ -0,0 +1 @@ +Export `Feature` from the `overture.schema.system` package root, so `from overture.schema.system import Feature` resolves the way `from overture.schema.common import OvertureFeature` already does. diff --git a/packages/overture-schema-system/src/overture/schema/system/__init__.py b/packages/overture-schema-system/src/overture/schema/system/__init__.py index 1a8c6e1dd..f251452e4 100644 --- a/packages/overture-schema-system/src/overture/schema/system/__init__.py +++ b/packages/overture-schema-system/src/overture/schema/system/__init__.py @@ -163,10 +163,12 @@ string, ) from .create_model import create_model +from .feature import Feature __all__ = [ "create_model", "doc", + "Feature", "feature", "field_constraint", "geometric", diff --git a/packages/overture-schema-system/tests/test_feature.py b/packages/overture-schema-system/tests/test_feature.py index 008eedb5f..c6accbad2 100644 --- a/packages/overture-schema-system/tests/test_feature.py +++ b/packages/overture-schema-system/tests/test_feature.py @@ -2129,3 +2129,10 @@ def test_maybe_refactor_schema( assert expect_properties_object_schema == _properties_object_schema else: assert properties_object_schema == _properties_object_schema + + +def test_feature_is_exported_from_package_root() -> None: + import overture.schema.system as system + + assert system.Feature is Feature + assert "Feature" in system.__all__