@@ -17,139 +17,267 @@ samples:
1717 description : Basic hello world samples (activity, signal, query, etc.)
1818 dependencies :
1919 - temporalio>=1.23.0,<2
20+ commands :
21+ - cmd : uv run hello/hello_activity.py
2022 - path : hello_standalone_activity
2123 description : Execute Activities directly from a Client, without a Workflow
2224 dependencies :
2325 - temporalio>=1.23.0,<2
26+ commands :
27+ - cmd : uv run hello_standalone_activity/worker.py
28+ - cmd : uv run hello_standalone_activity/execute_activity.py
29+ new_terminal : true
2430 - path : hello_nexus
2531 description : Nexus service definition, operation handlers, and workflow calls
2632 dependencies :
2733 - temporalio>=1.23.0,<2
2834 - nexus-rpc>=1.1.0,<2
35+ commands :
36+ - cmd : temporal operator namespace create --namespace hello-nexus-basic-handler-namespace
37+ - cmd : temporal operator namespace create --namespace hello-nexus-basic-caller-namespace
38+ - cmd : temporal operator nexus endpoint create --name hello-nexus-basic-nexus-endpoint --target-namespace hello-nexus-basic-handler-namespace --target-task-queue my-handler-task-queue --description-file hello_nexus/endpoint_description.md
39+ - cmd : uv run hello_nexus/handler/worker.py
40+ - cmd : uv run hello_nexus/caller/app.py
41+ new_terminal : true
2942 - path : nexus_cancel
3043 description : Fan out Nexus operations, take first result, cancel the rest
3144 dependencies :
3245 - temporalio>=1.23.0,<2
3346 - nexus-rpc>=1.1.0,<2
47+ commands :
48+ - cmd : temporal operator namespace create --namespace nexus-cancel-handler-namespace
49+ - cmd : temporal operator namespace create --namespace nexus-cancel-caller-namespace
50+ - cmd : temporal operator nexus endpoint create --name nexus-cancel-endpoint --target-namespace nexus-cancel-handler-namespace --target-task-queue nexus-cancel-handler-task-queue
51+ - cmd : uv run nexus_cancel/handler/worker.py
52+ - cmd : uv run nexus_cancel/caller/app.py
53+ new_terminal : true
3454 - path : nexus_multiple_args
3555 description : Map a Nexus operation to a handler workflow with multiple arguments
3656 dependencies :
3757 - temporalio>=1.23.0,<2
3858 - nexus-rpc>=1.1.0,<2
59+ commands :
60+ - cmd : temporal operator namespace create --namespace nexus-multiple-args-handler-namespace
61+ - cmd : temporal operator namespace create --namespace nexus-multiple-args-caller-namespace
62+ - cmd : temporal operator nexus endpoint create --name nexus-multiple-args-nexus-endpoint --target-namespace nexus-multiple-args-handler-namespace --target-task-queue nexus-multiple-args-handler-task-queue
63+ - cmd : uv run nexus_multiple_args/handler/worker.py
64+ - cmd : uv run nexus_multiple_args/caller/app.py
65+ new_terminal : true
3966 - path : nexus_sync_operations
4067 description : Nexus service backed by a long-running workflow with updates and queries
4168 dependencies :
4269 - temporalio>=1.23.0,<2
4370 - nexus-rpc>=1.1.0,<2
71+ commands :
72+ - cmd : temporal operator namespace create --namespace nexus-sync-operations-handler-namespace
73+ - cmd : temporal operator namespace create --namespace nexus-sync-operations-caller-namespace
74+ - cmd : temporal operator nexus endpoint create --name nexus-sync-operations-nexus-endpoint --target-namespace nexus-sync-operations-handler-namespace --target-task-queue nexus-sync-operations-handler-task-queue --description-file nexus_sync_operations/endpoint_description.md
75+ - cmd : uv run nexus_sync_operations/handler/worker.py
76+ - cmd : uv run nexus_sync_operations/caller/app.py
77+ new_terminal : true
4478 - path : openai_agents
4579 description : OpenAI Agents SDK with Temporal durable execution
4680 dependencies :
4781 - openai-agents[litellm]==0.3.2
4882 - temporalio[openai-agents]>=1.18.0
4983 - requests>=2.32.0,<3
84+ commands :
85+ - cmd : uv run openai_agents/basic/run_worker.py
86+ - cmd : uv run openai_agents/basic/run_hello_world_workflow.py
87+ new_terminal : true
5088 - path : langchain
5189 description : Orchestrate LangChain workflows with LangSmith tracing
5290 dependencies :
5391 - langchain>=0.1.7,<0.2
5492 - langchain-openai>=0.0.6,<0.0.7
5593 - openai>=1.4.0,<2
94+ commands :
95+ - cmd : uv run langchain/worker.py
96+ - cmd : uv run langchain/starter.py
97+ new_terminal : true
98+ - cmd : curl -X POST "http://localhost:8000/translate?phrase=hello%20world&language1=Spanish&language2=French&language3=Russian"
99+ new_terminal : true
56100 - path : bedrock
57101 description : Amazon Bedrock AI chatbot with durable execution
58102 dependencies :
59103 - temporalio>=1.23.0,<2
60104 - boto3>=1.34.92,<2
105+ commands :
106+ - cmd : uv run bedrock/basic/run_worker.py
107+ - cmd : uv run bedrock/basic/send_message.py 'What animals are marsupials?'
108+ new_terminal : true
61109 - path : encryption
62110 description : End-to-end encryption codec, compatible with TypeScript and Go
63111 dependencies :
64112 - temporalio>=1.23.0,<2
65113 - cryptography>=38.0.1,<39
66114 - aiohttp>=3.8.1,<4
115+ commands :
116+ - cmd : uv run encryption/worker.py
117+ - cmd : uv run encryption/starter.py
118+ new_terminal : true
67119 - path : dsl
68120 description : Workflow interpreter for arbitrary steps defined in YAML DSL
69121 dependencies :
70122 - temporalio>=1.23.0,<2
71123 - pyyaml>=6.0.1,<7
72124 - dacite>=1.8.1,<2
125+ commands :
126+ - cmd : uv run dsl/worker.py
127+ - cmd : uv run dsl/starter.py dsl/workflow1.yaml
128+ new_terminal : true
73129 - path : schedules
74130 description : Schedule a Workflow Execution and control actions
75131 dependencies :
76132 - temporalio>=1.23.0,<2
133+ commands :
134+ - cmd : uv run schedules/run_worker.py
135+ - cmd : uv run schedules/start_schedule.py
136+ new_terminal : true
77137 - path : activity_worker
78138 description : Cross-language sample with a Go workflow calling a Python activity
79139 dependencies :
80140 - temporalio>=1.23.0,<2
141+ commands :
142+ - cmd : uv run activity_worker/activity_worker.py
81143 - path : batch_sliding_window
82144 description : Batch processing with a sliding window of parallel child workflows
83145 dependencies :
84146 - temporalio>=1.23.0,<2
147+ commands :
148+ - cmd : uv run batch_sliding_window/worker.py
149+ - cmd : uv run batch_sliding_window/starter.py
150+ new_terminal : true
85151 - path : context_propagation
86152 description : Propagate contextual information through workflows and activities via interceptors
87153 dependencies :
88154 - temporalio>=1.23.0,<2
155+ commands :
156+ - cmd : uv run context_propagation/worker.py
157+ - cmd : uv run context_propagation/starter.py
158+ new_terminal : true
89159 - path : custom_converter
90160 description : Custom payload converter for types not natively supported by Temporal
91161 dependencies :
92162 - temporalio>=1.23.0,<2
163+ commands :
164+ - cmd : uv run custom_converter/worker.py
165+ - cmd : uv run custom_converter/starter.py
166+ new_terminal : true
93167 - path : custom_decorator
94168 description : Auto-heartbeater decorator for automatic activity heartbeating
95169 dependencies :
96170 - temporalio>=1.23.0,<2
171+ commands :
172+ - cmd : uv run custom_decorator/worker.py
173+ - cmd : uv run custom_decorator/starter.py
174+ new_terminal : true
97175 - path : custom_metric
98176 description : Custom Prometheus metric with an interceptor for activity schedule-to-start latency
99177 dependencies :
100178 - temporalio>=1.23.0,<2
179+ commands :
180+ - cmd : uv run custom_metric/worker.py
181+ - cmd : uv run custom_metric/starter.py
182+ new_terminal : true
101183 - path : eager_wf_start
102184 description : Eager Workflow Start for low-latency first-task execution
103185 dependencies :
104186 - temporalio>=1.23.0,<2
187+ commands :
188+ - cmd : uv run eager_wf_start/run.py
105189 - path : env_config
106190 description : Configure a Temporal Client from a TOML file with profile support
107191 dependencies :
108192 - temporalio>=1.23.0,<2
193+ commands :
194+ - cmd : uv run env_config/load_from_file.py
109195 - path : message_passing
110196 description : Introduction to Query, Signal, and Update message-passing patterns
111197 dependencies :
112198 - temporalio>=1.23.0,<2
199+ commands :
200+ - cmd : uv run message_passing/introduction/worker.py
201+ - cmd : uv run message_passing/introduction/starter.py
202+ new_terminal : true
113203 - path : patching
114204 description : Safely alter workflow code using patched and deprecate_patch in stages
115205 dependencies :
116206 - temporalio>=1.23.0,<2
207+ commands :
208+ - cmd : uv run patching/worker.py --workflow initial
209+ - cmd : uv run patching/starter.py --start-workflow initial-workflow-id
210+ new_terminal : true
117211 - path : polling
118212 description : Best practices for frequent, infrequent, and periodic polling patterns
119213 dependencies :
120214 - temporalio>=1.23.0,<2
215+ commands :
216+ - cmd : uv run polling/frequent/run_worker.py
217+ - cmd : uv run polling/frequent/run_frequent.py
218+ new_terminal : true
121219 - path : prometheus
122220 description : Expose SDK Prometheus metrics via HTTP endpoint
123221 dependencies :
124222 - temporalio>=1.23.0,<2
223+ commands :
224+ - cmd : uv run prometheus/worker.py
225+ - cmd : uv run prometheus/starter.py
226+ new_terminal : true
125227 - path : replay
126228 description : Verify workflow code changes are compatible with existing histories
127229 dependencies :
128230 - temporalio>=1.23.0,<2
231+ commands :
232+ - cmd : uv run replay/worker.py
233+ - cmd : uv run replay/starter.py
234+ new_terminal : true
129235 - path : resource_pool
130236 description : Long-lived workflow for resource allocation and serialized access control
131237 dependencies :
132238 - temporalio>=1.23.0,<2
239+ commands :
240+ - cmd : uv run resource_pool/worker.py
241+ - cmd : uv run resource_pool/starter.py
242+ new_terminal : true
133243 - path : sleep_for_days
134244 description : Long-running workflow that sends periodic emails with durable timers
135245 dependencies :
136246 - temporalio>=1.23.0,<2
247+ commands :
248+ - cmd : uv run sleep_for_days/worker.py
249+ - cmd : uv run sleep_for_days/starter.py
250+ new_terminal : true
137251 - path : updatable_timer
138252 description : Blocking sleep that can be updated at any moment via signals
139253 dependencies :
140254 - temporalio>=1.23.0,<2
255+ commands :
256+ - cmd : uv run updatable_timer/worker.py
257+ - cmd : uv run updatable_timer/starter.py
258+ new_terminal : true
141259 - path : worker_multiprocessing
142260 description : Run multiple workflow worker processes using ProcessPoolExecutor
143261 dependencies :
144262 - temporalio>=1.23.0,<2
263+ commands :
264+ - cmd : uv run worker_multiprocessing/worker.py
265+ - cmd : uv run worker_multiprocessing/starter.py
266+ new_terminal : true
145267 - path : worker_specific_task_queues
146268 description : Pin activities to a specific worker using unique task queues
147269 dependencies :
148270 - temporalio>=1.23.0,<2
271+ commands :
272+ - cmd : uv run worker_specific_task_queues/worker.py
273+ - cmd : uv run worker_specific_task_queues/starter.py
274+ new_terminal : true
149275 - path : worker_versioning
150276 description : Safe worker deployments with auto-upgrading and pinned workflow versions
151277 dependencies :
152278 - temporalio>=1.23.0,<2
279+ commands :
280+ - cmd : uv run worker_versioning/app.py
153281 - path : cloud_export_to_parquet
154282 description : Convert Temporal Cloud exported proto files to Parquet format
155283 dependencies :
@@ -158,34 +286,62 @@ samples:
158286 - numpy>=1.26.0,<2
159287 - boto3>=1.34.89,<2
160288 - pyarrow>=19.0.1
289+ commands :
290+ - cmd : uv run cloud_export_to_parquet/run_worker.py
291+ - cmd : uv run cloud_export_to_parquet/create_schedule.py
292+ new_terminal : true
161293 - path : gevent_async
162294 description : Run Temporal in a gevent-patched environment with a custom executor
163295 dependencies :
164296 - temporalio>=1.23.0,<2
165297 - gevent>=25.4.2
298+ commands :
299+ - cmd : uv run gevent_async/worker.py
300+ - cmd : uv run gevent_async/starter.py
301+ new_terminal : true
166302 - path : open_telemetry
167303 description : Configure OpenTelemetry to capture workflow traces and SDK metrics
168304 dependencies :
169305 - temporalio[opentelemetry]>=1.23.0,<2
170306 - opentelemetry-exporter-otlp-proto-grpc
307+ commands :
308+ - cmd : uv run open_telemetry/worker.py
309+ - cmd : uv run open_telemetry/starter.py
310+ new_terminal : true
171311 - path : pydantic_converter
172312 description : Use the Pydantic data converter for workflow and activity I/O
173313 dependencies :
174314 - temporalio>=1.23.0,<2
175315 - pydantic>=2.10.6,<3
316+ commands :
317+ - cmd : uv run pydantic_converter/worker.py
318+ - cmd : uv run pydantic_converter/starter.py
319+ new_terminal : true
176320 - path : pydantic_converter_v1
177321 description : Pydantic v1 data converter (use v2 pydantic_converter instead if possible)
178322 dependencies :
179323 - temporalio>=1.23.0,<2
180324 - pydantic>=2.10.6,<3
325+ commands :
326+ - cmd : uv run pydantic_converter_v1/worker.py
327+ - cmd : uv run pydantic_converter_v1/starter.py
328+ new_terminal : true
181329 - path : sentry
182330 description : Capture workflow and activity errors with Sentry SDK v2 integration
183331 dependencies :
184332 - temporalio>=1.23.0,<2
185333 - sentry-sdk>=2.13.0
334+ commands :
335+ - cmd : uv run sentry/worker.py
336+ - cmd : uv run sentry/starter.py
337+ new_terminal : true
186338 - path : trio_async
187339 description : Use Temporal asyncio with Trio via trio-asyncio bridge
188340 dependencies :
189341 - temporalio>=1.23.0,<2
190342 - trio>=0.28.0,<0.29
191343 - trio-asyncio>=0.15.0,<0.16
344+ commands :
345+ - cmd : uv run trio_async/worker.py
346+ - cmd : uv run trio_async/starter.py
347+ new_terminal : true
0 commit comments