Skip to content
Open
Show file tree
Hide file tree
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
2 changes: 0 additions & 2 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,12 @@
/temporalio/contrib/google_genai/ @temporalio/ai-sdk @temporalio/sdk
/temporalio/contrib/langgraph/ @temporalio/ai-sdk @temporalio/sdk
/temporalio/contrib/langsmith/ @temporalio/ai-sdk @temporalio/sdk
/temporalio/contrib/openai_agents/ @temporalio/ai-sdk @temporalio/sdk
/temporalio/contrib/strands/ @temporalio/ai-sdk @temporalio/sdk
/temporalio/contrib/workflow_streams/ @temporalio/ai-sdk @temporalio/sdk
/tests/contrib/deepagents/ @temporalio/ai-sdk @temporalio/sdk
/tests/contrib/google_adk_agents/ @temporalio/ai-sdk @temporalio/sdk
/tests/contrib/google_genai/ @temporalio/ai-sdk @temporalio/sdk
/tests/contrib/langgraph/ @temporalio/ai-sdk @temporalio/sdk
/tests/contrib/langsmith/ @temporalio/ai-sdk @temporalio/sdk
/tests/contrib/openai_agents/ @temporalio/ai-sdk @temporalio/sdk
/tests/contrib/strands/ @temporalio/ai-sdk @temporalio/sdk
/tests/contrib/workflow_streams/ @temporalio/ai-sdk @temporalio/sdk
6 changes: 0 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ jobs:
- os: ubuntu-latest
python: "3.14"
docsTarget: true
openaiTestTarget: true
clippyLinter: true
- python: "3.10"
pytestExtraArgs: '--reruns 3 --only-rerun "RuntimeError: Failed validating workflow"'
Expand Down Expand Up @@ -68,11 +67,6 @@ jobs:
- if: ${{ !endsWith(matrix.os, '-arm') }}
run: poe test ${{matrix.pytestExtraArgs}} -s --workflow-environment time-skipping --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}--time-skipping.xml
timeout-minutes: 10
- if: ${{ matrix.openaiTestTarget && (github.event.pull_request.head.repo.full_name == '' || github.event.pull_request.head.repo.full_name == 'temporalio/sdk-python') }}
run: poe test tests/contrib/openai_agents/test_openai.py ${{matrix.pytestExtraArgs}} -s --junit-xml=junit-xml/${{ matrix.python }}--${{ matrix.os }}--openai.xml
timeout-minutes: 10
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
- name: "Upload junit-xml artifacts"
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
if: always()
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@ to include examples, links to docs, or any other relevant information.

### :boom: Breaking Changes

- The OpenAI Agents integration has moved to the independently versioned
[`temporalio-openai-agents`](https://pypi.org/project/temporalio-openai-agents/)
package. The existing `temporalio[openai-agents]` extra now installs that
package, and compatibility modules preserve the old public
`temporalio.contrib.openai_agents` imports. New code should depend on
`temporalio-openai-agents` directly and import `temporalio.openai_agents`.

### Fixed

- Current workflow and activity payload converter accessors now return the configured converter
Expand Down
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
[![PyPI](https://img.shields.io/pypi/v/temporalio.svg?style=for-the-badge)](https://pypi.org/project/temporalio)
[![MIT](https://img.shields.io/pypi/l/temporalio.svg?style=for-the-badge)](LICENSE)

**📣 News: Integration between OpenAI Agents SDK and Temporal is now in public preview. [Learn more](temporalio/contrib/openai_agents/README.md).**

[Temporal](https://temporal.io/) is a distributed, scalable, durable, and highly available orchestration engine used to
execute asynchronous, long-running business logic in a scalable and resilient way.

Expand Down
6 changes: 2 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ classifiers = [
grpc = ["grpcio>=1.48.2,<2"]
opentelemetry = ["opentelemetry-api>=1.26,<2", "opentelemetry-sdk>=1.26,<2"]
pydantic = ["pydantic>=2.0.0,<3"]
openai-agents = ["openai-agents>=0.19.2,<0.20", "mcp>=1.9.4, <2"]
openai-agents = ["temporalio-openai-agents>=1.0.0"]
google-adk = ["google-adk>=2.2.0,<3", "mcp>=1.24,<2"]
langgraph = ["langgraph>=1.1.0"]
langsmith = ["langsmith>=0.7.34,<0.9"]
Expand Down Expand Up @@ -83,12 +83,10 @@ dev = [
"toml>=0.10.2,<0.11",
"twine>=4.0.1,<5",
"maturin>=1.8.2",
"openinference-instrumentation-openai-agents>=0.1.0",
"temporalio-openai-agents>=1.0.0",
"pytest-cov>=6.1.1",
"httpx>=0.28.1",
"pytest-pretty>=1.3.0",
"openai-agents>=0.19.2,<0.20; python_version >= '3.14'",
"openai-agents[litellm]>=0.19.2,<0.20; python_version < '3.14'",
"litellm>=1.83.0",
"openinference-instrumentation-google-adk>=0.1.11",
"googleapis-common-protos>=1.75.0,<2",
Expand Down
9 changes: 9 additions & 0 deletions temporalio/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,15 @@
:py:mod:`worker` to run workflows and activities.
"""

from pkgutil import extend_path as _extend_path

from .service import __version__ as __sdk_version

# After Python finds this ``temporalio`` package, it does not keep searching for
# other ``temporalio`` directories, such as one containing the separately
# installed ``temporalio-openai-agents`` package. Explicitly extend the search
# path so they can be found. Every package that provides ``temporalio/__init__.py``
# must do this: https://docs.python.org/3.14/library/pkgutil.html#pkgutil.extend_path
__path__ = _extend_path(__path__, __name__)
Comment thread
brianstrauch marked this conversation as resolved.

__version__ = __sdk_version
3 changes: 0 additions & 3 deletions temporalio/contrib/google_adk_agents/_mcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -333,9 +333,6 @@ def _handle_worker_failure(func: Callable) -> Callable:
state, so we re-raise as an ``ApplicationError`` of type
``"DedicatedWorkerFailure"`` for the caller to handle.

Duplicated (rather than shared) from ``openai_agents._mcp`` on purpose:
these two contribs do not currently share internal code, and importing
across them would create an unwanted dependency.
"""

@functools.wraps(func)
Expand Down
Loading
Loading