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

[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
