sanic-routing>=23.12.0
httptools>=0.0.10
aiofiles>=0.6.0
websockets>=10.0
multidict<7.0,>=5.0
html5tagger>=1.2.1
tracerite>=1.0.0
typing-extensions>=4.4.0
setuptools>=70.1.0

[:sys_platform != "win32" and implementation_name == "cpython"]
uvloop>=0.15.0
ujson>=1.35

[all]
enum-tools[sphinx]
bandit
beautifulsoup4
coverage
sphinx>=2.1.2
mypy
cryptography
tox
pytest-sanic
chardet==3.*
pytest>=8.2.2
slotscheck<1,>=0.8.0
autodocsumm>=0.2.11
sphinx_rtd_theme>=0.4.3
sanic-testing>=23.6.0
ruff
pygments
mistune<2.0.0
uvicorn
towncrier
m2r2
docutils
pytest-benchmark

[all:sys_platform != "win32" and implementation_name == "cpython"]
types-ujson

[dev]
sanic-testing>=23.6.0
pytest>=8.2.2
coverage
beautifulsoup4
pytest-sanic
pytest-benchmark
chardet==3.*
ruff
bandit
mypy
docutils
pygments
uvicorn
slotscheck<1,>=0.8.0
cryptography
tox
towncrier

[dev:sys_platform != "win32" and implementation_name == "cpython"]
types-ujson

[docs]
sphinx>=2.1.2
sphinx_rtd_theme>=0.4.3
docutils
pygments
m2r2
enum-tools[sphinx]
mistune<2.0.0
autodocsumm>=0.2.11

[ext]
sanic-ext

[http3]
aioquic

[test]
sanic-testing>=23.6.0
pytest>=8.2.2
coverage
beautifulsoup4
pytest-sanic
pytest-benchmark
chardet==3.*
ruff
bandit
mypy
docutils
pygments
uvicorn
slotscheck<1,>=0.8.0

[test:sys_platform != "win32" and implementation_name == "cpython"]
types-ujson
