@@ -11,6 +11,9 @@ keywords = [
1111 " workflow" ,
1212]
1313dependencies = [
14+ " hyperlinked" ,
15+ " nexus-rpc" ,
16+ " pdbpp>=0.11.6" ,
1417 " protobuf>=3.20" ,
1518 " python-dateutil>=2.8.2,<3 ; python_version < '3.11'" ,
1619 " types-protobuf>=3.20" ,
@@ -40,7 +43,7 @@ dev = [
4043 " psutil>=5.9.3,<6" ,
4144 " pydocstyle>=6.3.0,<7" ,
4245 " pydoctor>=24.11.1,<25" ,
43- " pyright==1.1.377 " ,
46+ " pyright==1.1.400 " ,
4447 " pytest~=7.4" ,
4548 " pytest-asyncio>=0.21,<0.22" ,
4649 " pytest-timeout~=2.2" ,
@@ -49,6 +52,10 @@ dev = [
4952 " twine>=4.0.1,<5" ,
5053 " ruff>=0.5.0,<0.6" ,
5154 " maturin>=1.8.2" ,
55+ " pytest-cov>=6.1.1" ,
56+ " ty>=0.0.0a7" ,
57+ " httpx>=0.28.1" ,
58+ " pdbpp>=0.11.6" ,
5259]
5360
5461[tool .poe .tasks ]
@@ -60,8 +67,8 @@ gen-protos = "uv run python scripts/gen_protos.py"
6067lint = [
6168 {cmd = " uv run ruff check --select I" },
6269 {cmd = " uv run ruff format --check" },
63- {ref = " lint-types" },
6470 {cmd = " uv run pyright" },
71+ {ref = " lint-types" },
6572 {ref = " lint-docs" },
6673]
6774bridge-lint = { cmd = " cargo clippy -- -D warnings" , cwd = " temporalio/bridge" }
@@ -70,7 +77,7 @@ bridge-lint = { cmd = "cargo clippy -- -D warnings", cwd = "temporalio/bridge" }
7077lint-docs = " uv run pydocstyle --ignore-decorators=overload"
7178lint-types = " uv run mypy --namespace-packages --check-untyped-defs ."
7279run-bench = " uv run python scripts/run_bench.py"
73- test = " uv run pytest"
80+ test = " uv run pytest --cov temporalio --cov-report xml "
7481
7582
7683[tool .pytest .ini_options ]
@@ -83,8 +90,6 @@ testpaths = ["tests"]
8390timeout = 600
8491timeout_func_only = true
8592filterwarnings = [
86- " error::temporalio.workflow.UnfinishedUpdateHandlersWarning" ,
87- " error::temporalio.workflow.UnfinishedSignalHandlersWarning" ,
8893 " ignore::pytest.PytestDeprecationWarning" ,
8994 " ignore::DeprecationWarning" ,
9095]
@@ -157,6 +162,7 @@ exclude = [
157162 " tests/worker/workflow_sandbox/testmodules/proto" ,
158163 " temporalio/bridge/worker.py" ,
159164 " temporalio/contrib/opentelemetry.py" ,
165+ " temporalio/contrib/pydantic.py" ,
160166 " temporalio/converter.py" ,
161167 " temporalio/testing/_workflow.py" ,
162168 " temporalio/worker/_activity.py" ,
@@ -168,6 +174,10 @@ exclude = [
168174 " tests/api/test_grpc_stub.py" ,
169175 " tests/conftest.py" ,
170176 " tests/contrib/test_opentelemetry.py" ,
177+ " tests/contrib/pydantic/models.py" ,
178+ " tests/contrib/pydantic/models_2.py" ,
179+ " tests/contrib/pydantic/test_pydantic.py" ,
180+ " tests/contrib/pydantic/workflows.py" ,
171181 " tests/test_converter.py" ,
172182 " tests/test_service.py" ,
173183 " tests/test_workflow.py" ,
@@ -186,6 +196,9 @@ exclude = [
186196[tool .ruff ]
187197target-version = " py39"
188198
199+ [tool .ruff .lint ]
200+ extend-ignore = [" E741" ] # Allow single-letter variable names like I, O
201+
189202[build-system ]
190203requires = [" maturin>=1.0,<2.0" ]
191204build-backend = " maturin"
@@ -202,3 +215,7 @@ exclude = [
202215[tool .uv ]
203216# Prevent uv commands from building the package by default
204217package = false
218+
219+ [tool .uv .sources ]
220+ nexus-rpc = { path = " ../nexus-sdk-python" , editable = true }
221+ hyperlinked = { path = " ../../hyperlinked/python" , editable = true }
0 commit comments