Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
77 lines (69 loc) · 2.16 KB
/
Copy pathpyproject.toml
File metadata and controls
77 lines (69 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
[project]
name = "findingmodel-workspace"
version = "0.0.0"
description = "Workspace root for OIDM packages"
requires-python = ">=3.11"
[tool.uv.workspace]
members = ["packages/*"]
[dependency-groups]
dev = [
"mypy>=1.13.0",
"pytest>=8.3.3",
"pytest-asyncio>=0.24.0",
"ruff>=0.7.2",
"jupyter>=1.1.1",
"logfire>=1.0.0",
"pydantic-evals>=0.1.0",
"go-task-bin>=3.43.3",
]
# Shared tool configuration
[tool.ruff]
line-length = 120
extend-exclude = ["__pycache__", ".venv", "dist"]
preview = true
target-version = "py311"
[tool.ruff.lint]
extend-select = [
"B", # flake8-bugbear
"C", # flake8-comprehensions
"I", # isort
"ANN", # type annotations
"SIM", # flake8-simplify
"TID", # flake8-tidy-imports
"RUF", # ruff
]
fixable = ["ALL"]
unfixable = []
[tool.ruff.lint.per-file-ignores]
"**/tests/**/*.py" = ["ANN401"] # Allow Any type in test files for mock functions
"**/evals/**/*.py" = ["ANN401"] # Allow Any type in eval files
"**/__init__.py" = ["RUF067"] # Allow version extraction, logger config, helper functions in __init__
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
# Note: testpaths not set - use per-package test tasks instead (task test:oidm-common, etc.)
# This avoids conftest.py collisions when running tests across multiple packages
markers = [
"callout: Marks test as calling on non-local services",
]
filterwarnings = [
# Filter out our own deprecation warnings from the tools module
"ignore:.*is deprecated, use.*instead:DeprecationWarning",
# Ignore pydantic-ai OpenAIModel deprecation warning
"ignore:`OpenAIModel` was renamed to `OpenAIChatModel`:DeprecationWarning",
]
tmp_path_retention_policy = "failed"
[tool.mypy]
python_version = "3.11"
strict = true
ignore_missing_imports = true
warn_unused_ignores = true
warn_return_any = true
files = [
"packages/oidm-common/src/oidm_common",
"packages/anatomic-locations/src/anatomic_locations",
"packages/findingmodel/src/findingmodel",
"packages/findingmodel-ai/src/findingmodel_ai",
"packages/findingmodel-ai/scripts",
"packages/oidm-maintenance/src/oidm_maintenance",
]