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

Reply via email to