temporalio / sdk-core

Core Temporal SDK that can be used as a base for language specific Temporal SDKs
MIT License
278 stars 77 forks source link

Rust SDK Prototype Release #222

Open Sushisource opened 2 years ago

Sushisource commented 2 years ago

We've had a number of people ask about Rust SDK progress. This issue serves for now as a place to track that progress.

Currently there is no official timeline for releasing a Rust SDK. However, I do plan to make the prototype SDK publicly exposed with no API compatibility guarantees. This issue will track that. It directly depends on #176

bdbelevate commented 2 years ago

Any thoughts on this? I can see you guys are working on it, but if there's a specific timeline to it or ways that we can help contribute, let me know. Thanks!

Sushisource commented 2 years ago

Any thoughts on this? I can see you guys are working on it, but if there's a specific timeline to it or ways that we can help contribute, let me know. Thanks!

Still no timelines around official release. However, if your question is more "can you just publish this to crates.io?" then yes, I can prioritize that so at least it's a bit easier to use, if still alpha.

bdbelevate commented 2 years ago

Thanks for the update. I don't mind forking and keeping our own version to use locally or within our own cargo workspace. But in trying to us it, what I do see is that it seems as if the rust SDK has no way to send a response to temporal for a workflow. I don't see any tests where this happens and it also seems like the exit for a workflow must be WorkflowResult<()>. I'm not sure if this is intentional or just upcoming changes. Maybe I'm missing something but it appears the typescript sdk gets around this by sending it's own grpc result.

Sushisource commented 2 years ago

That's correct. The workflow authoring APIs in general are still very rudimentary in the Rust SDK. The underlying functionality is there (that's what typescript uses), it's just not all exposed yet.

We'll want to publish a proposal to our proposals repo to get some ideas around what we want a final workflow API to look like in the Rust SDK before putting in the work to polish it up. It'll definitely happen but other things are higher priority right now.

There seems to be enough demand generally that getting discussions going around that proposal might at least be good to get started though. So, I'll see about finding some time for that and will update here with anything relevant.

bdbelevate commented 2 years ago

Thanks - that would be awesome. Like I mentioned our team would be happy to help contribute once there's a proposal.

Sushisource commented 1 year ago

I forgot to mention in this issue that the first draft of the workflow api is here https://github.com/temporalio/sdk-core/pull/550

mkarbo commented 7 months ago

Hello! I was just wondering if anything has changed on your side regarding commitment to a stable SDK release for rust?

We're totally onboard with the fact that it is not yet priority and not committed, and are just wondering if anything has changed since Jan 8 and Dec 5 (last activity on #550)? 😄

Hoping that I will be able to use it sometime in the near future from our favorite language! 🦀

Sushisource commented 7 months ago

@mkarbo Not yet on the docket. We will definitely keep everyone here posted, and in community slack, once we begin :)

mkarbo commented 7 months ago

Alright! Thanks for the update :)