iggy icon indicating copy to clipboard operation
iggy copied to clipboard

Add official Ruby sdk

Open sandstrom opened this issue 9 months ago • 2 comments

I'm super thrilled about Iggy! 🎉

Just wanted to add an issue that could be used to track a Ruby SDK/client.

I also wanted to mention two rust<>ruby projects that might be useful for implementing a Ruby SDK.

https://github.com/matsadler/magnus https://github.com/danielpclark/rutie

With either of these, I think it should be possible to basically wrap the existing Rust client with a Ruby layer.

I don't know rust, but would be happy to provide some feedback on the API surface for a potential Ruby client if that's useful (I think following the Iggy Node client structure would be a very good starting point).

sandstrom avatar Jul 05 '25 20:07 sandstrom

Hello, Adding Ruby SDK sounds good, but I think we would prefer to have bindings (call Rust SDK from Ruby SDK, like it is done in Python SDK, where we use pyo3 and maturin) instead of having full blown from the ground up implementation of Iggy binary network protocol, like in node SDK. This is due to fact that no one in core team knows Ruby.

From what I see, magnus allows to call Rust code from Ruby, so at first glance it looks good, but this would need more research.

Do you have any practical usage for iggy in Ruby? Or you just want to have fun? :)

hubcio avatar Jul 05 '25 20:07 hubcio

Adding Ruby SDK sounds good, but I think we would prefer to have bindings (call Rust SDK from Ruby SDK, like it is done in Python SDK, where we use pyo3 and maturin) instead of having full blown from the ground up implementation of Iggy binary network protocol, like in node SDK.

Makes total sense! When I mentioned Node, it was more about the API-surface part.

I know wasmtime-rb is using Magnus (and rb-sys I think?) to integrate Ruby with Rust. Another one is blake3.

Might be good projects to look at.

Do you have any practical usage for iggy in Ruby? Or you just want to have fun? :)

Short-term for fun, but it's also something I might convince people at work to take a look at. Ruby (and Rails) is very popular for building backend systems and web applications, and such systems need message streaming for many different things.

sandstrom avatar Jul 05 '25 21:07 sandstrom

Closing. there isn't much interest in ruby sdk as of now.

hubcio avatar Nov 18 '25 09:11 hubcio

@hubcio Can we at least keep the issue open?

Kafka is used in the ruby ecosystem in general, so I think there will be interest in Iggy as well.

sandstrom avatar Nov 18 '25 12:11 sandstrom

@sandstrom sure!

hubcio avatar Nov 18 '25 12:11 hubcio