Let's just leave this thread as-is and not bump it. On Tue, Aug 6, 2024, at 15:11, Chris Atkins wrote: > Hi Renji, > > Sorry about that yes it is! I sent it in, but realised that it wasn't showing > up because I wasn't subscribed to the mailing list, so I subscribed and then > resubmitted after talking to Xuanwo on Slack. > > Is there a way to close this accidental duplicate thread? > > On 6 Aug 2024 at 5:06:40 PM, Renjie Liu <liurenjie2...@gmail.com> wrote: >> Hi, Chris: >> >> Seems duplicated with this thread >> <https://lists.apache.org/thread/7tw9qzz7yd8c4d7tcrwpmn7k0ojws7zh> >> >> On Tue, Aug 6, 2024 at 12:54 AM Chris Atkins <chri...@buildkite.com.invalid> >> wrote: >>> Hi there, >>> >>> I'm following up on a discussion >>> <https://apache-iceberg.slack.com/archives/C05HTENMJG4/p1722750831522969> >>> from the #rust channel on the Iceberg community slack, so starting a thread >>> here too. >>> >>> After seeing Xuanwo's and Song's recent proposals around leveraging >>> iceberg-rust to power parts of PyIceberg, I was thinking it could be >>> valuable to follow a similar pattern to build out Ruby bindings for >>> Iceberg. Being able to stand on the shoulders of iceberg-rust could really >>> help build out a robust Ruby interface, and also offer some opportunities >>> for interop with things like datafusion and opendal. >>> >>> Recently in the Ruby ecosystem, writing native extensions in Rust has >>> become more popular, and tools like rb-sys and magnus provide a lot of the >>> required infrastructure. A good example is ruby-polars, which provides an >>> interface that is idiomatic Ruby but retains good symmetry with the APIs >>> exposed by py-polars. I wonder if we could eventually aim for a similar >>> type of symmetry between PyIceberg and a Ruby gem? >>> >>> Is there much interest in this? I've started playing around with some of >>> the basics, and started out with a plain native Ruby implementation of some >>> of the basic metadata APIs, but quickly realised that building on >>> iceberg-rust could be more productive than writing it all from scratch. >>> >>> *References* >>> ** >>> https://lists.apache.org/thread/5570vbdkrk7mdswt4jqy45lv7y58pz4b >>> https://lists.apache.org/thread/33c0nkc3k6646lvro1lv22pvhwlp50ss >>> https://github.com/apache/iceberg-rust/pull/518 >>> >>> *Prior Art in Ruby* >>> ** >>> https://github.com/matsadler/magnus >>> https://github.com/oxidize-rb/rb-sys >>> https://github.com/ankane/ruby-polars >>> https://github.com/apache/opendal/tree/main/bindings/ruby >>> >>> Thanks, >>> Chris Atkins Xuanwo
https://xuanwo.io/