diff --git a/pyiceberg/view/__init__.py b/pyiceberg/view/__init__.py index 7f9343218c..e69b03e4e8 100644 --- a/pyiceberg/view/__init__.py +++ b/pyiceberg/view/__init__.py @@ -59,9 +59,9 @@ def versions(self) -> list[ViewVersion]: """Get the versions of this view.""" return self.metadata.versions - def version(self, version_id: int) -> ViewVersion: - """Get the version in this view by ID.""" - return next(version for version in self.metadata.versions if version.version_id == version_id) + def version(self, version_id: int) -> ViewVersion | None: + """Get the version in this view by ID, or None if the ID cannot be found.""" + return next((version for version in self.metadata.versions if version.version_id == version_id), None) def history(self) -> list[ViewHistoryEntry]: """Get the version of this history view.""" diff --git a/tests/test_view.py b/tests/test_view.py index 2c4f00192d..00f8f24bbf 100644 --- a/tests/test_view.py +++ b/tests/test_view.py @@ -119,8 +119,7 @@ def test_view_versions_multiple(example_view_metadata_v1_multiple_versions: dict def test_view_version_unknown_id(view: View) -> None: - with pytest.raises(StopIteration): - view.version(999) + assert not view.version(999) def test_view_sql_for_unknown_dialect(view: View) -> None: