The Erlang and Elixir SDK GH andrzej-mag/temporal_sdk is licensed under the Business Software License. This model incorporates a monthly subscription fee for production use in commercial applications to ensure funding for continued software development, maintenance, and community support.
I mostly vibed this in my spare time. Did get some code reviews
MIT licence so go nuts
https://hex.pm/packages/temporalex.
It’s built on the Temporal Rust Core SDK via Rustler NIFs, so you get the same deterministic replay engine that powers the official SDKs, with an API that feels like native. My approach was to match the feature set of the officially supported SDKs (Go, TypeScript, Python, Java) while making the developer experience as clean and idiomatic as Oban
– failed on making as clean as Oban(oban is beautiful) - but did my best to make it pretty ![]()
Elixir.
What’s in v0.1.0:
- Workflows with deterministic replay
- Activities with retries, timeouts, and cancellation
- Signals and queries
- Child workflows
- Durable timers (seconds to months)
- Continue-as-new
- Workflow versioning (patching)
- DSL mode – defactivity that auto-detects workflow vs direct execution context
- Testing without a server (stubs for activities, signals, child workflows)
- OpenTelemetry trace propagation
- Payload codecs (encryption/compression)
- Interceptor framework
- Temporal Cloud support (API key auth, TLS, custom headers)
Quick example:
defmodule MyApp.Checkout do
use Temporalex.DSL
defactivity charge(input), timeout: 10_000 do
PaymentService.charge(input.order_id, input.amount)
end
def run(%{“order_id” => order_id, “amount” => amount}) do
{:ok, charge_id} = charge(%{order_id: order_id, amount: amount})
{:ok, charge_id}
end
end
v0.1.0 with 268 tests passing (unit + E2E against a real Temporal server). I’m actively working on it.
If you hit bugs or have feature requests, please file issues on GitHub: Issues · cgreeno/temporalex · GitHub
Would love feedback from anyone who gives it a try. I am using it locally for spinning up and managing agentic workflows.