@@ -6,29 +6,23 @@ authors = [{ name = "Temporal Technologies Inc", email = "sdk@temporal.io" }]
6
6
requires-python = " >=3.9"
7
7
readme = " README.md"
8
8
license = { file = " LICENSE" }
9
- keywords = [
10
- " temporal" ,
11
- " workflow" ,
12
- ]
9
+ keywords = [" temporal" , " workflow" ]
13
10
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" ,
19
16
]
20
17
21
18
[project .optional-dependencies ]
22
19
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" ]
27
21
pydantic = [" pydantic>=2.0.0,<3" ]
28
22
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'" ,
32
26
]
33
27
34
28
[project .urls ]
@@ -39,48 +33,50 @@ Documentation = "https://docs.temporal.io/docs/python"
39
33
40
34
[dependency-groups ]
41
35
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" ,
62
55
]
63
56
64
57
[tool .poe .tasks ]
65
58
build-develop = " uv run maturin develop --uv"
66
59
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" }, ]
60
+ format = [
61
+ { cmd = " uv run ruff check --select I --fix" },
62
+ { cmd = " uv run ruff format" },
63
+ ]
68
64
gen-docs = " uv run scripts/gen_docs.py"
69
65
gen-protos = " uv run scripts/gen_protos.py"
70
66
gen-protos-docker = " uv run scripts/gen_protos_docker.py"
71
67
lint = [
72
- {cmd = " uv run ruff check --select I" },
73
- {cmd = " uv run ruff format --check" },
74
- {ref = " lint-types" },
75
- {ref = " lint-docs" },
68
+ { cmd = " uv run ruff check --select I" },
69
+ { cmd = " uv run ruff format --check" },
70
+ { ref = " lint-types" },
71
+ { ref = " lint-docs" },
76
72
]
77
73
bridge-lint = { cmd = " cargo clippy -- -D warnings" , cwd = " temporalio/bridge" }
78
74
# TODO(cretz): Why does pydocstyle complain about @overload missing docs after
79
75
# https://github.com/PyCQA/pydocstyle/pull/511?
80
76
lint-docs = " uv run pydocstyle --ignore-decorators=overload"
81
77
lint-types = [
82
- { cmd = " uv run pyright" },
83
- { cmd = " uv run mypy --namespace-packages --check-untyped-defs ." },
78
+ { cmd = " uv run pyright" },
79
+ { cmd = " uv run mypy --namespace-packages --check-untyped-defs ." },
84
80
]
85
81
run-bench = " uv run python scripts/run_bench.py"
86
82
test = " uv run pytest"
@@ -120,17 +116,18 @@ ignore_missing_imports = true
120
116
exclude = [
121
117
# Ignore generated code
122
118
' temporalio/api' ,
123
- ' temporalio/bridge/proto'
119
+ ' temporalio/bridge/proto' ,
124
120
]
125
121
126
122
[tool .pydocstyle ]
127
123
convention = " google"
128
124
# https://github.com/PyCQA/pydocstyle/issues/363#issuecomment-625563088
129
- match_dir = " ^(?!(docs|scripts|tests|api|proto|\\ .)).*"
125
+ match_dir = " ^(?!(docs|scripts|tests|api|proto|generated| \\ .)).*"
130
126
add_ignore = [
131
127
# We like to wrap at a certain number of chars, even long summary sentences.
132
128
# https://github.com/PyCQA/pydocstyle/issues/184
133
- " D205" , " D415"
129
+ " D205" ,
130
+ " D415" ,
134
131
]
135
132
136
133
[tool .pydoctor ]
@@ -226,9 +223,7 @@ manifest-path = "temporalio/bridge/Cargo.toml"
226
223
module-name = " temporalio.bridge.temporal_sdk_bridge"
227
224
python-packages = [" temporalio" ]
228
225
include = [" LICENSE" ]
229
- exclude = [
230
- " temporalio/bridge/target/**/*" ,
231
- ]
226
+ exclude = [" temporalio/bridge/target/**/*" ]
232
227
233
228
[tool .uv ]
234
229
# Prevent uv commands from building the package by default
0 commit comments