# This file was autogenerated by uv via the following command:
#    uv export --no-hashes --format requirements.txt
aiohappyeyeballs==2.6.1
    # via aiohttp
aiohttp==3.12.15
    # via fastopp
aiosignal==1.4.0
    # via aiohttp
aiosqlite==0.21.0
    # via fastopp
alembic==1.16.5
    # via fastopp
annotated-types==0.7.0
    # via pydantic
anyio==4.10.0
    # via
    #   httpx
    #   sse-starlette
    #   starlette
argon2-cffi==23.1.0
    # via pwdlib
argon2-cffi-bindings==25.1.0
    # via argon2-cffi
attrs==25.3.0
    # via aiohttp
bcrypt==4.3.0
    # via pwdlib
boto3==1.40.49
    # via fastopp
botocore==1.40.49
    # via
    #   boto3
    #   s3transfer
certifi==2025.8.3
    # via
    #   httpcore
    #   httpx
    #   requests
cffi==2.0.0
    # via
    #   argon2-cffi-bindings
    #   cryptography
charset-normalizer==3.4.3
    # via requests
click==8.3.0
    # via uvicorn
colorama==0.4.6 ; sys_platform == 'win32'
    # via click
cryptography==46.0.1
    # via pyjwt
dnspython==2.8.0
    # via email-validator
email-validator==2.2.0
    # via fastapi-users
fastapi==0.117.1
    # via
    #   fastapi-users
    #   fastopp
fastapi-users==14.0.1
    # via
    #   fastapi-users-db-sqlalchemy
    #   fastopp
fastapi-users-db-sqlalchemy==7.0.0
    # via fastapi-users
frozenlist==1.7.0
    # via
    #   aiohttp
    #   aiosignal
greenlet==3.2.4
    # via sqlalchemy
h11==0.16.0
    # via
    #   httpcore
    #   uvicorn
httpcore==1.0.9
    # via httpx
httpx==0.28.1
    # via fastopp
idna==3.10
    # via
    #   anyio
    #   email-validator
    #   httpx
    #   requests
    #   yarl
itsdangerous==2.2.0
    # via fastopp
jinja2==3.1.6
    # via
    #   fastopp
    #   sqladmin
jmespath==1.0.1
    # via
    #   boto3
    #   botocore
makefun==1.16.0
    # via fastapi-users
mako==1.3.10
    # via alembic
markdown==3.9
    # via fastopp
markupsafe==3.0.2
    # via
    #   jinja2
    #   mako
    #   wtforms
multidict==6.6.4
    # via
    #   aiohttp
    #   yarl
mypy==1.18.2
mypy-extensions==1.1.0
    # via mypy
pathspec==0.12.1
    # via mypy
propcache==0.3.2
    # via
    #   aiohttp
    #   yarl
psycopg==3.2.10
    # via fastopp
psycopg-binary==3.2.10 ; implementation_name != 'pypy'
    # via psycopg
pwdlib==0.2.1
    # via fastapi-users
pycparser==2.23 ; implementation_name != 'PyPy'
    # via cffi
pydantic==2.11.9
    # via
    #   fastapi
    #   pydantic-settings
    #   sqlmodel
pydantic-core==2.33.2
    # via pydantic
pydantic-settings==2.10.1
    # via fastopp
pyjwt==2.10.1
    # via
    #   fastapi-users
    #   fastopp
python-dateutil==2.9.0.post0
    # via botocore
python-dotenv==1.1.1
    # via
    #   fastopp
    #   pydantic-settings
python-multipart==0.0.20
    # via
    #   fastapi-users
    #   sqladmin
requests==2.32.5
    # via fastopp
ruff==0.13.1
s3transfer==0.14.0
    # via boto3
six==1.17.0
    # via python-dateutil
sniffio==1.3.1
    # via anyio
sqladmin==0.21.0
    # via fastopp
sqlalchemy==2.0.43
    # via
    #   alembic
    #   fastapi-users-db-sqlalchemy
    #   fastopp
    #   sqladmin
    #   sqlmodel
sqlmodel==0.0.25
    # via fastopp
sse-starlette==3.0.2
    # via fastopp
starlette==0.48.0
    # via
    #   fastapi
    #   sqladmin
typing-extensions==4.15.0
    # via
    #   aiosignal
    #   aiosqlite
    #   alembic
    #   anyio
    #   fastapi
    #   mypy
    #   psycopg
    #   pydantic
    #   pydantic-core
    #   sqlalchemy
    #   starlette
    #   typing-inspection
typing-inspection==0.4.1
    # via
    #   pydantic
    #   pydantic-settings
tzdata==2025.2 ; sys_platform == 'win32'
    # via psycopg
urllib3==2.5.0
    # via
    #   botocore
    #   requests
uvicorn==0.36.0
    # via fastopp
wtforms==3.1.2
    # via sqladmin
yarl==1.20.1
    # via aiohttp
