launchdarkly / rust-eventsource-client

Server-sent events (SSE) client implementation for Rust
https://docs.rs/eventsource-client/latest/eventsource_client/
Other
69 stars 21 forks source link

LaunchDarkly Rust SDK #4

Closed mraerino closed 2 years ago

mraerino commented 3 years ago

Hi @samstokes @KyleLeneau!

Looks like this is as close as LaunchDarkly ever got to having a Rust SDK right?

We're heavy Rust users at Netlify and would like to leverage LaunchDarkly the same way we do for our non-Rust services. In the past few days I have ported large parts of the Go SDK to Rust. It's based on Tokio 1.0 and the Hyper HTTP client right now. It can consume via SSE and store flags in memory as well as evaluate them at query time (missing some edge cases).

Does it make sense if we open-source it? Would you be willing to take over such a project? I could give you access to the private sources - if you want to take a look?

gwhelanLD commented 3 years ago

Hi @mraerino,

We love to see people excited to use LaunchDarkly in more environments! It's very cool to see customers going as far as porting an SDK! We've actually had a Rust SDK in internal development for a while, but it's taken a while to transition from an internal passion project to a something we can officially support. I've given you read access to our private alpha repository for the SDK, we'd be happy for all feedback and contributions you'd like to make. We'd love to take a look at what you've ported so far, maybe you could give read access to myself, @samstokes, and @hroederld?

You're of course welcome to open-source it as well. The only thing we'd ask is that it specifies it's third-party and preferably we'd want to keep a name on cargo that would be consistent with our other SDK distributions.

Thanks for reaching out! @gwhelanLD

mraerino commented 3 years ago

that's awesome 😊

I started the migration to latest Tokio in https://github.com/launchdarkly/rust-eventsource-client/pull/5

mraerino commented 3 years ago

Ok, I moved my SDK take out of our private monorepo and have it here: https://github.com/mraerino/launchdarkly-rust-sdk-experimental

mraerino commented 3 years ago

I also opened a bunch of issues on the alpha SDK. let me know what you think 😊

bwoskow-ld commented 3 years ago

Hi @mraerino ,

Thanks for expressing interest in using LaunchDarkly with Rust! I see that you've been granted access to our currently-private Rust SDK repository. Thank you for your several pull requests already submitted to it. 😄

As @gwhelanLD mentioned above, our Rust SDK is currently in a private alpha state. Due to the low maturity level, the SDK comes with some caveats. Although these may be obvious given the early state, I want to call them out:

With these caveats in mind, I want to acknowledge that every project starts somewhere, and as you can see we're along the path towards an eventual public beta release. Thank you for your contributions and interest in helping us get there.

Cheers, @bwoskow-ld

mraerino commented 3 years ago

Of course. All of that makes sense. We're going to use my implementation (linked above) in the meantime since it is better tied to our usecases right now.

I opened the issues only to give some inspiration for the future of the project. None of them are urgent requests.

I'll follow along on the process and am looking forward to a more stable release.

Happy to provide feedback on our usage if needed.

ramosbugs commented 2 years ago

hey @bwoskow-ld, I'd really love to start using LaunchDarkly in a Rust backend project! is there an estimated release date or similar status update for the Rust SDK?

alternatively, @mraerino: any guidance on whether the Netlify-developed SDK you published is production ready-ish? I'm wondering if there are Netlify-internal changes that haven't been pushed externally (yet?). I've been having success using other Netlify crates like lamedh_runtime, so 🤞

(apologies for leaving one of these low-value comments, but since this issue hasn't been updated in awhile, hopefully it's not too spammy 😬)

bwoskow-ld commented 2 years ago

Hello @ramosbugs!

I know that you'd have no way of knowing this, but we are actively working on our Rust server-side SDK right now and are nearing its readiness for a public beta. At that point in time you, @mraerino, and everyone else will be able to use it in your Rust apps. Note that this will be a server-side SDK; you can learn more about the difference between our server-side and client-side SDKs in our documentation.

Assuming that you don't need the SDK today and are able to wait until later in January, I recommend waiting for what we've been building for you. We'll update this issue when we've got news to share.

Cheers, @bwoskow-ld

ramosbugs commented 2 years ago

later this month would be amazing, thank you for the quick reply!

keelerm84 commented 2 years ago

@mraerino and @ramosbugs

Thank you both for your expressed interest in the Rust SDK.

I am pleased to inform you that an official Rust SDK is available for evaluation at https://github.com/launchdarkly/rust-server-sdk. This SDK is currently in the beta stage. You can review our documentation for more information on how to get started.