lxml>=4.9.0
Jinja2>=3.1.0

[all]
udsdoc[web]
udsdoc[watch]
udsdoc[lsp]
udsdoc[progress]
udsdoc[rich]
udsdoc[viz]
udsdoc[llm]
udsdoc[ecu-test]

[ci-test]
fastapi>=0.100.0
uvicorn>=0.22.0
python-multipart>=0.0.6
PyYAML>=6.0
python-dotenv>=1.0
pymupdf>=1.24
watchdog>=3.0
pygls>=1.2
tqdm>=4.65
rich>=13.0
matplotlib>=3.5
numpy>=1.20
anthropic>=0.40.0
openai>=1.0.0

[dev]
pytest>=7.0
pytest-cov>=4.0
mypy>=1.0
ruff>=0.1
jsonschema>=4.0
hypothesis>=6.0

[ecu-test]
python-can>=4.3.0
can-isotp>=2.0.0

[llm]
anthropic>=0.40.0
openai>=1.0.0

[lsp]
pygls>=1.2

[progress]
tqdm>=4.65

[rich]
rich>=13.0

[svg]
pymupdf>=1.24

[viz]
matplotlib>=3.5
numpy>=1.20

[watch]
watchdog>=3.0

[web]
fastapi>=0.100.0
uvicorn>=0.22.0
python-multipart>=0.0.6
python-dotenv>=1.0
udsdoc[yaml]
udsdoc[svg]

[yaml]
PyYAML>=6.0
