Hi folks, We’ve recently had a few discussion threads on components we wanted to expose as Python Bindings from the iceberg-rust project in the form of the "pyiceberg_core" package.
Now that the Python bindings for the Transforms have been implemented, I wanted to open this thread to discuss the first 'pyiceberg_core' release. Here are some questions I wanted to discuss with the community: 1. Which features do we expose in the first release? 2. Should the version of the pyiceberg_core python package be aligned with the version of iceberg-rust crate? 3. What is the release cadence we want to settle on in the future? Here are my answers to the above questions, where my thoughts on the versioning and release process are inspired by the current practice from Apache Arrow community <https://arrow.apache.org/release/>: 1. Expose Transforms as Python bindings is ready to release, and we could group in other features if they are also ready: https://github.com/apache/iceberg-rust/pull/556 2. I think we could start with the current rust version (0.3.0). Aligning it with the version of the iceberg-rust crate would make it easier to set up a CI worklow that releases packages for all available bindings from the same trigger. 3. We could publish the initial package manually to unblock PyIceberg, but we should invest in a unified release process on github workflows that publishes all enabled language bindings in the repository together. I'm excited to hear your thoughts! Sung Prior Discussion Threads: Transforms: https://lists.apache.org/thread/33c0nkc3k6646lvro1lv22pvhwlp50ss FileIO: https://lists.apache.org/thread/86zotqs1wqxojt4zx8np29q5doj1l1wc PR for exposing transforms as Python bindings: https://github.com/apache/iceberg-rust/pull/556