#
# This file is autogenerated by pip-compile with Python 3.13
# by the following command:
#
#    pip-compile requirements.in
#
alembic==1.18.4
    # via -r requirements.in
annotated-types==0.7.0
    # via pydantic
anyio==4.13.0
    # via
    #   httpx
    #   starlette
    #   watchfiles
apscheduler==3.11.2
    # via -r requirements.in
argon2-cffi==25.1.0
    # via -r requirements.in
argon2-cffi-bindings==25.1.0
    # via argon2-cffi
certifi==2026.4.22
    # via
    #   httpcore
    #   httpx
cffi==2.0.0
    # via argon2-cffi-bindings
click==8.3.2
    # via uvicorn
fastapi==0.115.14
    # via -r requirements.in
greenlet==3.4.0
    # via sqlalchemy
h11==0.16.0
    # via
    #   httpcore
    #   uvicorn
httpcore==1.0.9
    # via httpx
httptools==0.7.1
    # via uvicorn
httpx==0.28.1
    # via -r requirements.in
idna==3.11
    # via
    #   anyio
    #   httpx
mako==1.3.11
    # via alembic
markupsafe==3.0.3
    # via mako
paho-mqtt==2.1.0
    # via -r requirements.in
pycparser==2.23
    # via cffi
pydantic==2.13.2
    # via
    #   fastapi
    #   pydantic-settings
pydantic-core==2.46.2
    # via pydantic
pydantic-settings==2.13.1
    # via -r requirements.in
pymodbus==3.13.1
    # via -r requirements.in
pyotp==2.10.0
    # via -r requirements.in
python-dotenv==1.2.2
    # via
    #   pydantic-settings
    #   uvicorn
python-multipart==0.0.26
    # via -r requirements.in
pyyaml==6.0.3
    # via
    #   -r requirements.in
    #   uvicorn
sqlalchemy==2.0.49
    # via
    #   -r requirements.in
    #   alembic
starlette==0.46.2
    # via fastapi
typing-extensions==4.15.0
    # via
    #   alembic
    #   fastapi
    #   pydantic
    #   pydantic-core
    #   sqlalchemy
    #   typing-inspection
typing-inspection==0.4.2
    # via
    #   pydantic
    #   pydantic-settings
tzlocal==5.3.1
    # via apscheduler
uvicorn[standard]==0.44.0
    # via -r requirements.in
uvloop==0.22.1
    # via uvicorn
watchfiles==1.1.1
    # via uvicorn
websockets==16.0
    # via uvicorn
