Skip to content

Conversation

@TomNicholas
Copy link
Member

@TomNicholas TomNicholas commented Dec 29, 2025

Same as #1483 but for v1 branch, so needed to fully close #1478

…#1483)

* define rust struct

* expose struct in python

* add python docstrings

* extend repo_chunks_storage calculation to include virtual and native chunks (double-counting virtual chunks that don't have checksums)

* fully deduplicate virtual chunks when counting by using (url, offset, length) tuple if checksum not available

* factor out helper function

* compile icechunk-python

* rewire existing python method to use new method

* add async method

* update outdated comment

* add python deprecation warnings

* restrict to pub(crate)

* correct bug in calculation of non-virtual bytes

* only use (location, offset, length) as an identifier fo de-duplicating virtual chunks

* add todo comment about cloning

* use the inner pattern to wrap the rust-only struct inside the python-exposed one

* correct name of python class

* expose __add__ method in python

* cargo formatting for python crate too

* rust tests

* correct python return type

* actually correct python return type

* call async method in python

* update .pyi file with new methods

* python linting

* explicitly specify stacklevel for warning

* expect warnings in tests
@TomNicholas TomNicholas changed the title Backport: Virtual storage stats Backport: Virtual chunk storage stats Dec 29, 2025
@TomNicholas TomNicholas requested a review from paraseba December 30, 2025 16:20
@TomNicholas TomNicholas merged commit 1b6bd8d into support/v1.x Jan 2, 2026
17 checks passed
@TomNicholas TomNicholas deleted the virtual-storage-stats-v1 branch January 2, 2026 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants