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

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

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

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

[dev]
sanic-testing>=23.6.0
pytest==7.1.*
coverage
beautifulsoup4
pytest-sanic
pytest-benchmark
chardet==3.*
ruff
bandit
mypy
docutils
pygments
uvicorn<0.15.0
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==7.1.*
coverage
beautifulsoup4
pytest-sanic
pytest-benchmark
chardet==3.*
ruff
bandit
mypy
docutils
pygments
uvicorn<0.15.0
slotscheck<1,>=0.8.0

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