Skip to content

Commit bf69154

Browse files
authored
Merge branch 'main' into plugins_to_core
2 parents 2484ef7 + f03ddc2 commit bf69154

File tree

74 files changed

+3134
-2808
lines changed

Some content is hidden

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

74 files changed

+3134
-2808
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,39 +16,24 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
python: ["3.9", "3.13"]
19+
python: ["3.10", "3.14"]
2020
os: [ubuntu-latest, ubuntu-arm, macos-intel, macos-arm, windows-latest]
2121
include:
22-
# On 3.9 there is a problem with import errors caused by pytests' loader that surface due
23-
# to a bug in CPython (https://github.com/python/cpython/issues/91351), so we avoid using
24-
# the assert rewriter.
25-
- python: "3.9"
26-
pytestExtraArgs: "--assert=plain"
2722
- os: ubuntu-latest
28-
python: "3.13"
23+
python: "3.14"
2924
docsTarget: true
3025
cloudTestTarget: true
3126
openaiTestTarget: true
3227
clippyLinter: true
3328
- os: ubuntu-latest
34-
python: "3.9"
29+
python: "3.10"
3530
protoCheckTarget: true
3631
- os: ubuntu-arm
3732
runsOn: ubuntu-24.04-arm64-2-core
3833
- os: macos-intel
3934
runsOn: macos-15-intel
40-
# On 3.13.3 there is some issue with macOS intel where it hangs after pytest with some
41-
# test that may have a worker that cannot properly shutdown, but it does not occur on
42-
# other versions, platforms, etc. See https://github.com/temporalio/sdk-python/issues/834.
43-
- os: macos-intel
44-
python: "3.13"
45-
pythonOverride: "3.13.2"
4635
- os: macos-arm
4736
runsOn: macos-latest
48-
# On 3.13.5, python3.lib is missing for the linker
49-
- os: windows-latest
50-
python: "3.13"
51-
pythonOverride: "3.13.4"
5237
runs-on: ${{ matrix.runsOn || matrix.os }}
5338
steps:
5439
- uses: actions/checkout@v4
@@ -113,7 +98,7 @@ jobs:
11398
env:
11499
TEMPORAL_TEST_PROTO3: 1
115100
run: |
116-
uv add --python 3.9 "protobuf<4"
101+
uv add --python 3.10 "protobuf<4"
117102
uv sync --all-extras
118103
poe build-develop
119104
poe gen-protos

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1676,8 +1676,8 @@ worker = Worker(
16761676
### Workflow Replay
16771677

16781678
Given a workflow's history, it can be replayed locally to check for things like non-determinism errors. For example,
1679-
assuming `history_str` is populated with a JSON string history either exported from the web UI or from `tctl`, the
1680-
following function will replay it:
1679+
assuming `history_str` is populated with a JSON string history either exported from the web UI or from the
1680+
`Temporal CLI`, the following function will replay it:
16811681

16821682
```python
16831683
from temporalio.client import WorkflowHistory

pyproject.toml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "temporalio"
33
version = "1.18.1"
44
description = "Temporal.io Python SDK"
55
authors = [{ name = "Temporal Technologies Inc", email = "[email protected]" }]
6-
requires-python = ">=3.9"
6+
requires-python = ">=3.10"
77
readme = "README.md"
88
license = { file = "LICENSE" }
99
keywords = ["temporal", "workflow"]
@@ -14,15 +14,22 @@ dependencies = [
1414
"types-protobuf>=3.20",
1515
"typing-extensions>=4.2.0,<5",
1616
]
17+
classifiers = [
18+
"License :: OSI Approved :: MIT License",
19+
"Programming Language :: Python :: 3.10",
20+
"Programming Language :: Python :: 3.11",
21+
"Programming Language :: Python :: 3.12",
22+
"Programming Language :: Python :: 3.13",
23+
"Programming Language :: Python :: 3.14",
24+
]
1725

1826
[project.optional-dependencies]
1927
grpc = ["grpcio>=1.48.2,<2"]
2028
opentelemetry = ["opentelemetry-api>=1.11.1,<2", "opentelemetry-sdk>=1.11.1,<2"]
2129
pydantic = ["pydantic>=2.0.0,<3"]
2230
openai-agents = [
2331
"openai-agents>=0.3,<0.4",
24-
"eval-type-backport>=0.2.2; python_version < '3.10'",
25-
"mcp>=1.9.4, <2; python_version >= '3.10'",
32+
"mcp>=1.9.4, <2",
2633
]
2734

2835
[project.urls]
@@ -35,7 +42,7 @@ Documentation = "https://docs.temporal.io/docs/python"
3542
dev = [
3643
"cibuildwheel>=2.22.0,<3",
3744
"grpcio-tools>=1.48.2,<2",
38-
"mypy==1.4.1",
45+
"mypy==1.18.2",
3946
"mypy-protobuf>=3.3.0,<4",
4047
"psutil>=5.9.3,<6",
4148
"pydocstyle>=6.3.0,<7",
@@ -51,7 +58,8 @@ dev = [
5158
"pytest-cov>=6.1.1",
5259
"httpx>=0.28.1",
5360
"pytest-pretty>=1.3.0",
54-
"openai-agents[litellm]>=0.3,<0.4",
61+
"openai-agents>=0.3,<0.4; python_version >= '3.14'",
62+
"openai-agents[litellm]>=0.3,<0.4; python_version < '3.14'",
5563
"googleapis-common-protos==1.70.0",
5664
]
5765

@@ -112,7 +120,7 @@ filterwarnings = [
112120

113121
[tool.cibuildwheel]
114122
before-all = "pip install protoc-wheel-0"
115-
build = "cp39-win_amd64 cp39-manylinux_x86_64 cp39-manylinux_aarch64 cp39-macosx_x86_64 cp39-macosx_arm64"
123+
build = "cp310-win_amd64 cp310-manylinux_x86_64 cp310-manylinux_aarch64 cp310-macosx_x86_64 cp310-macosx_arm64"
116124
build-verbosity = 1
117125

118126
[tool.cibuildwheel.macos]

scripts/gen_protos.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@
4242
partial(
4343
re.compile(r"from temporal\.sdk\.core\.").sub, r"from temporalio.bridge.proto."
4444
),
45+
partial(
46+
re.compile(r"'__module__' : 'temporal\.api\.").sub,
47+
r"'__module__' : 'temporalio.api.",
48+
),
4549
]
4650

4751
pyi_fixes = [
@@ -60,7 +64,6 @@ def fix_generated_output(base_path: Path):
6064
- protoc doesn't generate the correct import paths
6165
(https://github.com/protocolbuffers/protobuf/issues/1491)
6266
"""
63-
6467
imports: Mapping[str, List[str]] = collections.defaultdict(list)
6568
for p in base_path.iterdir():
6669
if p.is_dir():

temporalio/api/activity/v1/message_pb2.py

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

temporalio/api/batch/v1/message_pb2.py

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

temporalio/api/cloud/account/v1/message_pb2.py

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)