> Decoupling pyiceberg_core with iceberg-rust may be flexible, but my concern 
> is that this may not be scalable when we introduce more language bindings. I 
> think Xuanwo has a lot of experience when maintaining Apache OpenDAL 
> <https://github.com/apache/opendal> ?

OpenDAL tends to release all packages simultaneously but with different 
versions. We can try this approach as well.

It's also fine for me to release pyiceberg_core separately for the first time.

On Thu, Aug 29, 2024, at 10:51, Renjie Liu wrote:
> Hi:
> 
> Thanks Sung for driving this.
> 
>> Which features do we expose in the first release?
> 
> I think the transformation is a good start. 
> 
>> Should the version of the pyiceberg_core python package be aligned with the 
>> version of iceberg-rust crate?
> 
> Decoupling pyiceberg_core with iceberg-rust may be flexible, but my concern 
> is that this may not be scalable when we introduce more language bindings. I 
> think Xuanwo has a lot of experience when maintaining Apache OpenDAL 
> <https://github.com/apache/opendal> ?
> 
>>  What is the release cadence we want to settle on in the future?
> 
> I agree that it's valuable to invest in automation workflow for this.
>  
> 
> On Wed, Aug 28, 2024 at 10:19 PM Fokko Driesprong <fo...@apache.org> wrote:
>> Thanks for driving this Sung, this is very exciting!
>> 
>> 1. The transforms are a good first thing to address.
>> 2. I agree with Xuanwo, that for flexibility we can decouple them.
>> 3. Automation is probably easier than doing it manually (otherwise we
>> would have to document the steps).
>> 
>> Kind regards,
>> Fokko
>> 
>> Op di 27 aug 2024 om 17:50 schreef Xuanwo <xua...@apache.org>:
>> >
>> > Thanks a lot for carrying this!
>> >
>> > 1. Which features do we expose in the first release?
>> >
>> >
>> > No further comments on this. Pyiceberg is currently the sole user of 
>> > pyiceberg_core. I'm willing to meet whatever pyiceberg's needs.
>> >
>> > 2. Should the version of the pyiceberg_core python package be aligned with 
>> > the version of iceberg-rust crate?
>> >
>> >
>> > I believe pyiceberg_core should have its own version. The release workflow 
>> > should be very different from the existing Rust workflow, so we don't need 
>> > to align the versions just for this.
>> >
>> > 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.
>> >
>> >
>> > Releasing a Rust-core-based Python package manually is very tedious; it's 
>> > better to start with a GitHub workflow from the first version.
>> >
>> > I have experience in building OpenDAL Python workflows, and I'm willing to 
>> > help establish the release workflow for PyIceberg Core.
>> >
>> > See: 
>> > https://github.com/apache/opendal/blob/main/.github/workflows/release_python.yml
>> >
>> >
>> > On Tue, Aug 27, 2024, at 22:56, Sung Yun wrote:
>> >
>> > 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
>> >
>> > Xuanwo
>> >
>> > https://xuanwo.io/
>> >

Xuanwo

https://xuanwo.io/

Reply via email to