SpacetimeDB icon indicating copy to clipboard operation
SpacetimeDB copied to clipboard

[request] Golang Library

Open Merith-TK opened this issue 9 months ago • 5 comments

I see in the readme there are plans for Typescript, Python, C++, and Lua on the backend, and Python, C++, and Lua on the client end

I am hoping we can get a golang library as well? A Pure Go implementation would be great for me as I prefer to not use cgo in my projects due compile complications that it can cause if not accounted for (and library overhead),

Merith-TK avatar Mar 09 '25 20:03 Merith-TK

Thanks for filing this issue! We have this on our radar for future implementation as well 🙂

bfops avatar Apr 02 '25 23:04 bfops

Woo! as someone who uses go that would be amazing!

Merith-TK avatar Apr 03 '25 00:04 Merith-TK

Yes please! Go support would be amazing.

Willing to help build it if someone can point me in the right direction. Where's the best place to start digging into the code for adding language support?

ImGajeed76 avatar Apr 21 '25 12:04 ImGajeed76

Yes please! Go support would be amazing.

Willing to help build it if someone can point me in the right direction. Where's the best place to start digging into the code for adding language support?

You can look at crates/client-api-messages/src/websocket.rs for what a client SDK needs to support, and crates/bindings-sys/src/lib.rs for a module (server-side) language.

bfops avatar Apr 21 '25 17:04 bfops

Let's do it!!

joaoh82 avatar Apr 27 '25 10:04 joaoh82

Is there a language-agnostic test suite definition?

kortschak avatar May 18 '25 05:05 kortschak

Is there a language-agnostic test suite definition?

Not really. The team mentioned to me that the Rust client SDK test suite is language-agnostic (presumably with regards to the language used on the server), but otherwise no. Parts of the test suites are fairly "factored out" with respect to the module language or client language used, but nothing really comprehensive.

bfops avatar May 27 '25 17:05 bfops

Thanks. I think that's a significant risk for people wanting to implement clients in other languages.

kortschak avatar May 27 '25 19:05 kortschak

I've just discovered SpacetimeDB and immediately checked if Go support was available! I'd love to contribute to adding support for it as well.

Kaysoro avatar Jun 10 '25 18:06 Kaysoro

hoping go can be added I would love to use this in my project

CreditWorthy avatar Aug 05 '25 19:08 CreditWorthy