Skip to content

Commit 8ce46ec

Browse files
Merge origin/main and resolve conflicts
Co-authored-by: brianstrauch <7474900+brianstrauch@users.noreply.github.com>
2 parents 91227a3 + 9ecd078 commit 8ce46ec

94 files changed

Lines changed: 2052 additions & 916 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/CODEOWNERS‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@
1515
# The AI SDK team owns the AI integration samples and their tests. We add
1616
# @temporalio/sdk too, so the SDK team can continue to manage repo-wide concerns.
1717
/google_adk_agents/ @temporalio/sdk @temporalio/ai-sdk
18+
/google_genai/ @temporalio/sdk @temporalio/ai-sdk
1819
/langfuse_tracing/ @temporalio/sdk @temporalio/ai-sdk
1920
/langgraph_plugin/ @temporalio/sdk @temporalio/ai-sdk
2021
/langsmith_tracing/ @temporalio/sdk @temporalio/ai-sdk
2122
/openai_agents/ @temporalio/sdk @temporalio/ai-sdk
2223
/strands_plugin/ @temporalio/sdk @temporalio/ai-sdk
2324
/tests/google_adk_agents/ @temporalio/sdk @temporalio/ai-sdk
25+
/tests/google_genai/ @temporalio/sdk @temporalio/ai-sdk
2426
/tests/langfuse_tracing/ @temporalio/sdk @temporalio/ai-sdk
2527
/tests/langgraph_plugin/ @temporalio/sdk @temporalio/ai-sdk
2628
/tests/langsmith_tracing/ @temporalio/sdk @temporalio/ai-sdk

‎README.md‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ This is a collection of samples showing how to use the [Python SDK](https://gith
77
Prerequisites:
88

99
* [uv](https://docs.astral.sh/uv/)
10-
* [Temporal CLI installed](https://docs.temporal.io/cli#install)
11-
* [Local Temporal server running](https://docs.temporal.io/cli/server#start-dev)
10+
* [Temporal CLI](https://docs.temporal.io/cli) with a local dev server running:
11+
```
12+
temporal server start-dev
13+
```
1214

1315
The SDK requires Python >= 3.10. You can install Python using uv. For example,
1416

@@ -73,6 +75,7 @@ Some examples require extra dependencies. See each sample's directory for specif
7375
* [external_storage_redis](external_storage_redis) - Redis driver for external storage
7476
* [gevent_async](gevent_async) - Combine gevent and Temporal.
7577
* [google_adk_agents](google_adk_agents) - Run Google ADK agents as durable Temporal workflows (model calls, tools, multi-agent, MCP, streaming).
78+
* [google_genai](google_genai) - Run the Google Gemini SDK inside durable Temporal workflows.
7679
* [hello_nexus](hello_nexus) - Define a Nexus service, implement operation handlers, and call them from a workflow.
7780
* [hello_standalone_nexus](hello_standalone_nexus) - Use Nexus Operations without using a workflow.
7881
* [hello_standalone_activity](hello_standalone_activity) - Use activities without using a workflow.

‎bedrock/README.md‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ Demonstrates how Temporal and Amazon Bedrock can be used to quickly build bullet
1212

1313
1. An AWS account with Bedrock enabled.
1414
2. A machine that has access to Bedrock.
15-
3. A local Temporal server running on the same machine. See [Temporal's dev server docs](https://docs.temporal.io/cli#start-dev-server) for more information.
15+
3. A local Temporal server running on the same machine, started with the [Temporal CLI](https://docs.temporal.io/cli):
16+
17+
```
18+
temporal server start-dev
19+
```
1620

1721
These examples use Amazon's Python SDK (Boto3). To configure Boto3 to use your AWS credentials, follow the instructions in [the Boto3 documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html).
1822

‎external_storage/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ on demand for the Temporal Web UI.
2525
## Prerequisites
2626

2727
* [uv](https://docs.astral.sh/uv/)
28-
* [Temporal CLI](https://docs.temporal.io/cli#install) with a local dev server running:
28+
* [Temporal CLI](https://docs.temporal.io/cli) with a local dev server running:
2929
```
3030
temporal server start-dev
3131
```

‎google_adk_agents/README.md‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ model turn is durable and observable.
2323

2424
## Prerequisites
2525

26-
- Temporal server [running locally](https://docs.temporal.io/cli/server#start-dev)
26+
- [Temporal CLI](https://docs.temporal.io/cli) with a local dev server running:
27+
```
28+
temporal server start-dev
29+
```
2730
- Dependencies installed via `uv sync --group google-adk`
2831
- Google API key set as an environment variable:
2932
`export GOOGLE_API_KEY=your_key_here`
@@ -49,6 +52,6 @@ To run any scenario, start its worker in one terminal and its workflow starter
4952
in another:
5053

5154
```bash
52-
uv run python -m google_adk_agents.<scenario>.run_worker
53-
uv run python -m google_adk_agents.<scenario>.run_<name>_workflow
55+
uv run google_adk_agents/<scenario>/run_worker.py
56+
uv run google_adk_agents/<scenario>/run_<name>_workflow.py
5457
```

‎google_adk_agents/agent_patterns/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ Before running, review the [prerequisites in the suite README](../README.md)
1515
Start the worker in one terminal:
1616

1717
```bash
18-
uv run python -m google_adk_agents.agent_patterns.run_worker
18+
uv run google_adk_agents/agent_patterns/run_worker.py
1919
```
2020

2121
Then start the workflow in another terminal:
2222

2323
```bash
24-
uv run python -m google_adk_agents.agent_patterns.run_multi_agent_workflow
24+
uv run google_adk_agents/agent_patterns/run_multi_agent_workflow.py
2525
```
2626

2727
## What to expect

‎google_adk_agents/agent_patterns/run_multi_agent_workflow.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import asyncio
2+
import os
23

34
from temporalio.client import Client
45
from temporalio.contrib.google_adk_agents import GoogleAdkPlugin
@@ -9,7 +10,10 @@
910

1011

1112
async def main():
12-
client = await Client.connect("localhost:7233", plugins=[GoogleAdkPlugin()])
13+
client = await Client.connect(
14+
os.environ.get("TEMPORAL_ADDRESS", "localhost:7233"),
15+
plugins=[GoogleAdkPlugin()],
16+
)
1317

1418
result = await client.execute_workflow(
1519
MultiAgentWorkflow.run,

‎google_adk_agents/agent_patterns/run_worker.py‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from __future__ import annotations
22

33
import asyncio
4+
import os
45

56
from temporalio.client import Client
67
from temporalio.contrib.google_adk_agents import GoogleAdkPlugin
@@ -14,7 +15,9 @@
1415
async def main():
1516
plugin = GoogleAdkPlugin()
1617

17-
client = await Client.connect("localhost:7233", plugins=[plugin])
18+
client = await Client.connect(
19+
os.environ.get("TEMPORAL_ADDRESS", "localhost:7233"), plugins=[plugin]
20+
)
1821

1922
worker = Worker(
2023
client,

‎google_adk_agents/basic/README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ Before running, review the [prerequisites in the suite README](../README.md)
1717
Start the worker in one terminal:
1818

1919
```bash
20-
uv run python -m google_adk_agents.basic.run_worker
20+
uv run google_adk_agents/basic/run_worker.py
2121
```
2222

2323
Then start the workflow in another terminal:
2424

2525
```bash
26-
uv run python -m google_adk_agents.basic.run_hello_world_workflow
26+
uv run google_adk_agents/basic/run_hello_world_workflow.py
2727
```
2828

2929
## What to expect

‎google_adk_agents/basic/run_hello_world_workflow.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import asyncio
2+
import os
23

34
from temporalio.client import Client
45
from temporalio.contrib.google_adk_agents import GoogleAdkPlugin
@@ -10,7 +11,10 @@
1011

1112
async def main():
1213
# @@@SNIPSTART google-adk-agents-basic-starter
13-
client = await Client.connect("localhost:7233", plugins=[GoogleAdkPlugin()])
14+
client = await Client.connect(
15+
os.environ.get("TEMPORAL_ADDRESS", "localhost:7233"),
16+
plugins=[GoogleAdkPlugin()],
17+
)
1418

1519
result = await client.execute_workflow(
1620
HelloWorldAgentWorkflow.run,

0 commit comments

Comments
 (0)