11[project ]
22name = " temporalio"
3- version = " 1.18.0 "
3+ version = " 1.18.1 "
44description = " Temporal.io Python SDK"
55authors = [{
name =
" Temporal Technologies Inc" ,
email =
" [email protected] " }]
66requires-python = " >=3.9"
77readme = " README.md"
88license = { file = " LICENSE" }
9- keywords = [
10- " temporal" ,
11- " workflow" ,
12- ]
9+ keywords = [" temporal" , " workflow" ]
1310dependencies = [
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 ]
2219grpc = [" 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" ]
2721pydantic = [" pydantic>=2.0.0,<3" ]
2822openai-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 ]
4135dev = [
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 ]
6559build-develop = " uv run maturin develop --uv"
6660build-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+ ]
6866gen-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+ ]
7179lint = [
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]
7785bridge-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?
8088lint-docs = " uv run pydocstyle --ignore-decorators=overload"
8189lint-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]
8593run-bench = " uv run python scripts/run_bench.py"
8694test = " uv run pytest"
@@ -120,7 +128,7 @@ ignore_missing_imports = true
120128exclude = [
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|\\.)).*"
130138add_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"
226235module-name = " temporalio.bridge.temporal_sdk_bridge"
227236python-packages = [" temporalio" ]
228237include = [" 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
0 commit comments