provide-uterm>=0.5.0
provide-uterm-client>=0.5.0
pydantic>=2.0

[all]
fastapi>=0.110
uvicorn>=0.24
pyjwt>=2.9
websockets>=16.0
textual>=0.50
httpx2>=2.10
asyncssh>=2.22.0
provide-uterm-annotation>=0.5.0
pyte>=0.8

[annotation]
provide-uterm-annotation>=0.5.0

[cli]
fastapi>=0.110
uvicorn>=0.24
websockets>=12.0
textual>=0.50
httpx2>=2.10

[dev]
pytest>=9.0
pytest-asyncio>=1.3
hypothesis>=6.151.9
pytest-cov>=7.0
pytest-timeout>=2.4.0
pytest-randomly>=3.15.0
pytest-textual-snapshot>=1.0.0
mypy>=1.19
ruff>=0.15
fastapi>=0.110
uvicorn>=0.24
pyjwt>=2.9
websockets>=16.0
textual>=0.50
httpx2>=2.10
asyncssh>=2.22.0
Pillow>=10.0
pydantic>=2.0
pyyaml>=6.0
provide-uterm-annotation>=0.5.0

[gateway]
asyncssh>=2.22.0
websockets>=16.0

[server]
fastapi>=0.110
uvicorn>=0.24
pyjwt>=2.9
websockets>=12.0

[tunnel]
httpx2>=2.10
uvicorn>=0.24
websockets>=16.0
fastapi>=0.110
