anyio<4.3,>=4.2.0
starlette<1.0,>=0.35.1
webargs-starlette<2.2,>=2.1
python-multipart==0.0.6
uvicorn[standard]<0.26,>=0.25.0
sqlalchemy<2.1,>=2.0.23
alembic<1.14,>=1.13.1
Jinja2<3.2,>=3.1
httpx<0.27,>=0.26.0
python-dotenv<0.22,>=0.21
traceback-with-variables<2.1,>=2.0.4
aiosmtplib<3.1,>=3.0.1
filelock<3.14,>=3.13.1
marshmallow<3.21,>=3.20.1
chardet<5.3,>=5.2.0

[admin]
starlette-admin<0.12,>=0.11.2

[all]
starlette-web[admin,apispec,auth,deploy,develop,mqtt,postgres,redis,scheduler,testing]

[apispec]
apispec<6.4,>=6.3.1
pyyaml<6.1,>=6.0.1
openapi-spec-validator<0.8,>=0.7.1

[auth]
PyJWT[crypto]<2.9,>=2.8

[deploy]
gunicorn<22.0,>=21.2.0

[develop]
black~=22.10.0

[full]
starlette-web[all]

[mqtt]
gmqtt<0.7,>=0.6.13

[postgres]
asyncpg<0.30,>=0.29

[redis]
redis<5.1,>=5.0.1

[scheduler]
croniter<2.1,>=2.0.1

[scheduler:sys_platform == "win32"]
py-win-task-scheduler==0.2.0

[ssh]
asyncssh<2.15,>=2.14.2

[testing]
pytest>=7.4.3
coverage>=6.2
psycopg2-binary>=2.9
requests>=2.28
flake8>=4.0
