Skip to content

Commit 92c3d8b

Browse files
authored
Merge branch 'main' into macos-15
2 parents 5cdb0c2 + d27bb11 commit 92c3d8b

Some content is hidden

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

50 files changed

+8192
-2094
lines changed

.github/workflows/build-binaries.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
branches:
55
- main
66
- "releases/*"
7-
- fix-build-binaries
87

98
jobs:
109
# Compile the binaries and upload artifacts
@@ -66,7 +65,7 @@ jobs:
6665
if [ "$RUNNER_OS" = "Windows" ]; then
6766
bindir=Scripts
6867
fi
69-
./.venv/$bindir/pip install 'protobuf>=3.20,<6' 'types-protobuf>=3.20,<6' 'typing-extensions>=4.2.0,<5' pytest pytest_asyncio grpcio 'nexus-rpc>=1.1.0' pydantic opentelemetry-api opentelemetry-sdk python-dateutil 'openai-agents>=0.2.3,<=0.2.9'
68+
./.venv/$bindir/pip install 'protobuf>=3.20,<6' 'types-protobuf>=3.20,<6' 'typing-extensions>=4.2.0,<5' pytest pytest_asyncio grpcio 'nexus-rpc>=1.1.0' pydantic opentelemetry-api opentelemetry-sdk python-dateutil 'openai-agents>=0.2.3,<=0.2.9' 'googleapis-common-protos==1.70.0'
7069
./.venv/$bindir/pip install --no-index --find-links=../dist temporalio
7170
./.venv/$bindir/python -m pytest -s -k test_workflow_hello
7271

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,6 @@ jobs:
117117
uv sync --all-extras
118118
poe build-develop
119119
poe gen-protos
120-
poe format
121120
[[ -z $(git status --porcelain temporalio) ]] || (git diff temporalio; echo "Protos changed"; exit 1)
122121
poe test -s
123122
timeout-minutes: 10
@@ -148,6 +147,8 @@ jobs:
148147
with:
149148
submodules: recursive
150149
- uses: dtolnay/rust-toolchain@stable
150+
with:
151+
components: "clippy"
151152
- uses: Swatinem/rust-cache@v2
152153
with:
153154
workspaces: temporalio/bridge -> target

pyproject.toml

Lines changed: 58 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,28 @@
11
[project]
22
name = "temporalio"
3-
version = "1.18.0"
3+
version = "1.18.1"
44
description = "Temporal.io Python SDK"
55
authors = [{ name = "Temporal Technologies Inc", email = "[email protected]" }]
66
requires-python = ">=3.9"
77
readme = "README.md"
88
license = { file = "LICENSE" }
9-
keywords = [
10-
"temporal",
11-
"workflow",
12-
]
9+
keywords = ["temporal", "workflow"]
1310
dependencies = [
14-
"nexus-rpc==1.1.0",
15-
"protobuf>=3.20,<7.0.0",
16-
"python-dateutil>=2.8.2,<3 ; python_version < '3.11'",
17-
"types-protobuf>=3.20",
18-
"typing-extensions>=4.2.0,<5",
11+
"nexus-rpc==1.1.0",
12+
"protobuf>=3.20,<7.0.0",
13+
"python-dateutil>=2.8.2,<3 ; python_version < '3.11'",
14+
"types-protobuf>=3.20",
15+
"typing-extensions>=4.2.0,<5",
1916
]
2017

2118
[project.optional-dependencies]
2219
grpc = ["grpcio>=1.48.2,<2"]
23-
opentelemetry = [
24-
"opentelemetry-api>=1.11.1,<2",
25-
"opentelemetry-sdk>=1.11.1,<2",
26-
]
20+
opentelemetry = ["opentelemetry-api>=1.11.1,<2", "opentelemetry-sdk>=1.11.1,<2"]
2721
pydantic = ["pydantic>=2.0.0,<3"]
2822
openai-agents = [
29-
"openai-agents>=0.3,<0.4",
30-
"eval-type-backport>=0.2.2; python_version < '3.10'",
31-
"mcp>=1.9.4, <2; python_version >= '3.10'",
23+
"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'",
3226
]
3327

3428
[project.urls]
@@ -39,48 +33,62 @@ Documentation = "https://docs.temporal.io/docs/python"
3933

4034
[dependency-groups]
4135
dev = [
42-
"cibuildwheel>=2.22.0,<3",
43-
"grpcio-tools>=1.48.2,<2",
44-
"mypy==1.4.1",
45-
"mypy-protobuf>=3.3.0,<4",
46-
"psutil>=5.9.3,<6",
47-
"pydocstyle>=6.3.0,<7",
48-
"pydoctor>=24.11.1,<25",
49-
"pyright==1.1.403",
50-
"pytest~=7.4",
51-
"pytest-asyncio>=0.21,<0.22",
52-
"pytest-timeout~=2.2",
53-
"ruff>=0.5.0,<0.6",
54-
"toml>=0.10.2,<0.11",
55-
"twine>=4.0.1,<5",
56-
"ruff>=0.5.0,<0.6",
57-
"maturin>=1.8.2",
58-
"pytest-cov>=6.1.1",
59-
"httpx>=0.28.1",
60-
"pytest-pretty>=1.3.0",
61-
"openai-agents[litellm]>=0.3,<0.4"
36+
"cibuildwheel>=2.22.0,<3",
37+
"grpcio-tools>=1.48.2,<2",
38+
"mypy==1.4.1",
39+
"mypy-protobuf>=3.3.0,<4",
40+
"psutil>=5.9.3,<6",
41+
"pydocstyle>=6.3.0,<7",
42+
"pydoctor>=24.11.1,<25",
43+
"pyright==1.1.403",
44+
"pytest~=7.4",
45+
"pytest-asyncio>=0.21,<0.22",
46+
"pytest-timeout~=2.2",
47+
"ruff>=0.5.0,<0.6",
48+
"toml>=0.10.2,<0.11",
49+
"twine>=4.0.1,<5",
50+
"maturin>=1.8.2",
51+
"pytest-cov>=6.1.1",
52+
"httpx>=0.28.1",
53+
"pytest-pretty>=1.3.0",
54+
"openai-agents[litellm]>=0.3,<0.4",
55+
"googleapis-common-protos==1.70.0",
6256
]
6357

6458
[tool.poe.tasks]
6559
build-develop = "uv run maturin develop --uv"
6660
build-develop-with-release = { cmd = "uv run maturin develop --release --uv" }
67-
format = [{cmd = "uv run ruff check --select I --fix"}, {cmd = "uv run ruff format"}, ]
61+
format = [
62+
{ cmd = "uv run ruff check --select I --fix" },
63+
{ cmd = "uv run ruff format" },
64+
{ cmd = "cargo fmt", cwd = "temporalio/bridge" },
65+
]
6866
gen-docs = "uv run scripts/gen_docs.py"
69-
gen-protos = "uv run scripts/gen_protos.py"
70-
gen-protos-docker = "uv run scripts/gen_protos_docker.py"
67+
gen-protos = [
68+
{ cmd = "uv run scripts/gen_protos.py" },
69+
{ cmd = "uv run scripts/gen_payload_visitor.py" },
70+
{ cmd = "uv run scripts/gen_bridge_client.py" },
71+
{ ref = "format" },
72+
]
73+
gen-protos-docker = [
74+
{ cmd = "uv run scripts/gen_protos_docker.py" },
75+
{ cmd = "uv run scripts/gen_payload_visitor.py" },
76+
{ cmd = "uv run scripts/gen_bridge_client.py" },
77+
{ ref = "format" },
78+
]
7179
lint = [
72-
{cmd = "uv run ruff check --select I"},
73-
{cmd = "uv run ruff format --check"},
74-
{ref = "lint-types"},
75-
{ref = "lint-docs"},
80+
{ cmd = "uv run ruff check --select I" },
81+
{ cmd = "uv run ruff format --check" },
82+
{ ref = "lint-types" },
83+
{ ref = "lint-docs" },
7684
]
7785
bridge-lint = { cmd = "cargo clippy -- -D warnings", cwd = "temporalio/bridge" }
7886
# TODO(cretz): Why does pydocstyle complain about @overload missing docs after
7987
# https://github.com/PyCQA/pydocstyle/pull/511?
8088
lint-docs = "uv run pydocstyle --ignore-decorators=overload"
8189
lint-types = [
82-
{ cmd = "uv run pyright"},
83-
{ cmd = "uv run mypy --namespace-packages --check-untyped-defs ."},
90+
{ cmd = "uv run pyright" },
91+
{ cmd = "uv run mypy --namespace-packages --check-untyped-defs ." },
8492
]
8593
run-bench = "uv run python scripts/run_bench.py"
8694
test = "uv run pytest"
@@ -120,7 +128,7 @@ ignore_missing_imports = true
120128
exclude = [
121129
# Ignore generated code
122130
'temporalio/api',
123-
'temporalio/bridge/proto'
131+
'temporalio/bridge/proto',
124132
]
125133

126134
[tool.pydocstyle]
@@ -130,7 +138,8 @@ match_dir = "^(?!(docs|scripts|tests|api|proto|\\.)).*"
130138
add_ignore = [
131139
# We like to wrap at a certain number of chars, even long summary sentences.
132140
# https://github.com/PyCQA/pydocstyle/issues/184
133-
"D205", "D415"
141+
"D205",
142+
"D415",
134143
]
135144

136145
[tool.pydoctor]
@@ -226,9 +235,7 @@ manifest-path = "temporalio/bridge/Cargo.toml"
226235
module-name = "temporalio.bridge.temporal_sdk_bridge"
227236
python-packages = ["temporalio"]
228237
include = ["LICENSE"]
229-
exclude = [
230-
"temporalio/bridge/target/**/*",
231-
]
238+
exclude = ["temporalio/bridge/target/**/*"]
232239

233240
[tool.uv]
234241
# Prevent uv commands from building the package by default

scripts/_proto/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ COPY ./ ./
1010
RUN mkdir -p ./temporalio/api
1111
RUN uv add "protobuf<4"
1212
RUN uv sync --all-extras
13-
RUN poe gen-protos
13+
RUN uv run scripts/gen_protos.py
1414

1515
CMD ["sh", "-c", "cp -r ./temporalio/api/* /api_new && cp -r ./temporalio/bridge/proto/* /bridge_new"]

0 commit comments

Comments
 (0)