diff --git a/icechunk-python/python/icechunk/_icechunk_python.pyi b/icechunk-python/python/icechunk/_icechunk_python.pyi index 743017d02..74cefe5fe 100644 --- a/icechunk-python/python/icechunk/_icechunk_python.pyi +++ b/icechunk-python/python/icechunk/_icechunk_python.pyi @@ -1814,6 +1814,7 @@ class PyRepository: async def inspect_snapshot_async( self, snapshot_id: str, *, pretty: bool = True ) -> str: ... + @property def spec_version(self) -> int: ... class PySession: diff --git a/icechunk-python/python/icechunk/repository.py b/icechunk-python/python/icechunk/repository.py index e8f79752d..9d0c02456 100644 --- a/icechunk-python/python/icechunk/repository.py +++ b/icechunk-python/python/icechunk/repository.py @@ -1656,5 +1656,6 @@ async def inspect_snapshot_async( ) -> str: return await self._repository.inspect_snapshot_async(snapshot_id, pretty=pretty) + @property def spec_version(self) -> int: - return self._repository.spec_version() + return self._repository.spec_version diff --git a/icechunk-python/src/repository.rs b/icechunk-python/src/repository.rs index 893791325..1f4f1b2ca 100644 --- a/icechunk-python/src/repository.rs +++ b/icechunk-python/src/repository.rs @@ -2306,6 +2306,7 @@ impl PyRepository { }) } + #[getter] fn spec_version(&self) -> u8 { pyo3_async_runtimes::tokio::get_runtime().block_on(async move { let repo = self.0.read().await; diff --git a/icechunk-python/tests/test_migration.py b/icechunk-python/tests/test_migration.py index 09e361699..26ee90342 100644 --- a/icechunk-python/tests/test_migration.py +++ b/icechunk-python/tests/test_migration.py @@ -8,26 +8,26 @@ def test_migration_1_to_2_dry_run(tmpdir: Path) -> None: shutil.copytree("tests/data/test-repo-v1", tmpdir, dirs_exist_ok=True) storage = ic.local_filesystem_storage(str(tmpdir)) repo = ic.Repository.open(storage) - assert repo.spec_version() == 1 + assert repo.spec_version == 1 # running by default with dry_run=True ic.upgrade_icechunk_repository(repo) repo = ic.Repository.open(storage) - assert repo.spec_version() == 1 + assert repo.spec_version == 1 # running with explicit dry_run=True ic.upgrade_icechunk_repository(repo, dry_run=True) repo = ic.Repository.open(storage) - assert repo.spec_version() == 1 + assert repo.spec_version == 1 def test_migration_1_to_2(tmpdir: Path) -> None: shutil.copytree("tests/data/test-repo-v1", tmpdir, dirs_exist_ok=True) storage = ic.local_filesystem_storage(str(tmpdir)) repo = ic.Repository.open(storage) - assert repo.spec_version() == 1 + assert repo.spec_version == 1 ic.upgrade_icechunk_repository(repo, dry_run=False) repo = ic.Repository.open(storage) - assert repo.spec_version() == 2 + assert repo.spec_version == 2 diff --git a/icechunk-python/tests/test_spec_versions.py b/icechunk-python/tests/test_spec_versions.py index b9b1b445f..b5c8a04e6 100644 --- a/icechunk-python/tests/test_spec_versions.py +++ b/icechunk-python/tests/test_spec_versions.py @@ -7,13 +7,13 @@ def test_create_repo_with_spec_version_2() -> None: storage = ic.in_memory_storage() ic.Repository.create(storage, spec_version=2) - assert ic.Repository.open(storage).spec_version() == 2 + assert ic.Repository.open(storage).spec_version == 2 def test_create_repo_with_spec_version_1() -> None: storage = ic.in_memory_storage() ic.Repository.create(storage, spec_version=1) - assert ic.Repository.open(storage).spec_version() == 1 + assert ic.Repository.open(storage).spec_version == 1 def test_cannot_amend_with_spec_version_1() -> None: