Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions nexus_standalone_operations/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Standalone Nexus Operations

> [!NOTE]
> ✨ **Standalone Nexus Operations are now in [Public Preview](https://docs.temporal.io/evaluate/development-production-features/release-stages#public-preview).**
> We aim to preserve backward compatibility and avoid breaking changes.

This sample demonstrates how to execute Nexus operations directly from client code,
without wrapping them in a workflow. It shows both synchronous and asynchronous
(workflow-backed) operations, plus listing and counting operations.
Expand All @@ -8,12 +14,6 @@ configured via the SDK's [environment configuration](https://docs.temporal.io/de
support (`ClientConfig.load_client_connect_config()`), which reads `TEMPORAL_NAMESPACE`,
`TEMPORAL_ADDRESS`, etc. from the environment (and optionally profiles from `temporal.toml`).

### Temporal Python SDK support for Standalone Nexus Operations is at [Pre-release](https://docs.temporal.io/evaluate/development-production-features/release-stages#pre-release).

All APIs are experimental and may be subject to backwards-incompatible changes.

Standalone Nexus operations require a server version that supports this feature. Use the dev server build at https://github.com/temporalio/cli/releases/tag/v1.7.4-standalone-nexus-operations.

### Sample directory structure

- [service.py](./service.py) - Nexus service definition with echo (sync) and hello (async) operations
Expand All @@ -23,18 +23,21 @@ Standalone Nexus operations require a server version that supports this feature.

## Run locally against a dev server

1. Start the [Temporal dev server build that supports standalone Nexus operations](https://docs.temporal.io/standalone-nexus-operation#temporal-cli-support) with the required namespaces pre-created:
> [!NOTE]
> Standalone Nexus operations require a server that supports this feature. For local development, use a Temporal CLI release that enables SANO in its dev server.

1. Start a [Temporal dev server](https://docs.temporal.io/cli/setup-cli) with the required namespaces pre-created:

```bash
./temporal server start-dev \
temporal server start-dev \
Comment on lines -29 to +32

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also remove ./ from the endpoint creation command below.

@litlep-nibbyt litlep-nibbyt Oct 16, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks! pushed a change addressing this to all the sample changes.

--namespace my-caller-namespace \
--namespace my-handler-namespace
```

2. Create a Nexus endpoint that routes to the handler namespace and the worker's task queue:

```bash
./temporal operator nexus endpoint create \
temporal operator nexus endpoint create \
--name my-nexus-endpoint \
--target-namespace my-handler-namespace \
--target-task-queue nexus-handler-queue
Expand Down
Loading