# This file was autogenerated by uv via the following command:
#    uv export --format requirements.txt --no-hashes
-e .
aiohappyeyeballs==2.6.1
    # via aiohttp
aiohttp==3.13.1
    # via fastopp
aiosignal==1.4.0
    # via aiohttp
aiosqlite==0.21.0
    # via fastopp
alembic==1.17.0
    # via fastopp
annotated-types==0.7.0
    # via pydantic
anyio==4.11.0
    # via
    #   httpx
    #   sse-starlette
    #   starlette
argon2-cffi==23.1.0
    # via pwdlib
argon2-cffi-bindings==25.1.0
    # via argon2-cffi
attrs==25.4.0
    # via aiohttp
bcrypt==4.3.0
    # via pwdlib
boto3==1.40.55
    # via fastopp
botocore==1.40.55
    # via
    #   boto3
    #   s3transfer
certifi==2025.10.5
    # via
    #   httpcore
    #   httpx
    #   requests
cffi==2.0.0
    # via
    #   argon2-cffi-bindings
    #   cryptography
charset-normalizer==3.4.4
    # via requests
click==8.3.0
    # via uvicorn
colorama==0.4.6 ; sys_platform == 'win32'
    # via click
cryptography==46.0.3
    # via
    #   pyjwt
    #   secretstorage
dnspython==2.8.0
    # via email-validator
docutils==0.22.2
    # via readme-renderer
email-validator==2.2.0
    # via fastapi-users
fastapi==0.119.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.8.0
    # via
    #   aiohttp
    #   aiosignal
greenlet==3.2.4
    # via sqlalchemy
h11==0.16.0
    # via
    #   httpcore
    #   uvicorn
hatchling==1.27.0
    # via fastopp
httpcore==1.0.9
    # via httpx
httpx==0.28.1
    # via fastopp
id==1.5.0
    # via twine
idna==3.11
    # via
    #   anyio
    #   email-validator
    #   httpx
    #   requests
    #   yarl
itsdangerous==2.2.0
    # via fastopp
jaraco-classes==3.4.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
    # via keyring
jaraco-context==6.0.1 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
    # via keyring
jaraco-functools==4.3.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
    # via keyring
jeepney==0.9.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
    # via
    #   keyring
    #   secretstorage
jinja2==3.1.6
    # via
    #   fastopp
    #   sqladmin
jmespath==1.0.1
    # via
    #   boto3
    #   botocore
keyring==25.6.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
    # via twine
makefun==1.16.0
    # via fastapi-users
mako==1.3.10
    # via alembic
markdown==3.9
    # via fastopp
markdown-it-py==4.0.0
    # via rich
markupsafe==3.0.3
    # via
    #   jinja2
    #   mako
    #   wtforms
mdurl==0.1.2
    # via markdown-it-py
more-itertools==10.8.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x'
    # via
    #   jaraco-classes
    #   jaraco-functools
multidict==6.7.0
    # via
    #   aiohttp
    #   yarl
mypy==1.18.2
mypy-extensions==1.1.0
    # via mypy
nh3==0.3.1
    # via readme-renderer
packaging==25.0
    # via
    #   hatchling
    #   twine
pathspec==0.12.1
    # via
    #   hatchling
    #   mypy
pluggy==1.6.0
    # via hatchling
propcache==0.4.1
    # via
    #   aiohttp
    #   yarl
psycopg==3.2.11
    # via fastopp
psycopg-binary==3.2.11 ; implementation_name != 'pypy'
    # via psycopg
pwdlib==0.2.1
    # via fastapi-users
pycparser==2.23 ; implementation_name != 'PyPy'
    # via cffi
pydantic==2.12.3
    # via
    #   fastapi
    #   pydantic-settings
    #   sqlmodel
pydantic-core==2.41.4
    # via pydantic
pydantic-settings==2.11.0
    # via fastopp
pygments==2.19.2
    # via
    #   readme-renderer
    #   rich
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
pywin32-ctypes==0.2.3 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'win32'
    # via keyring
readme-renderer==44.0
    # via twine
requests==2.32.5
    # via
    #   fastopp
    #   id
    #   requests-toolbelt
    #   twine
requests-toolbelt==1.0.0
    # via twine
rfc3986==2.0.0
    # via twine
rich==14.2.0
    # via twine
ruff==0.14.1
s3transfer==0.14.0
    # via boto3
secretstorage==3.4.0 ; platform_machine != 'ppc64le' and platform_machine != 's390x' and sys_platform == 'linux'
    # via keyring
six==1.17.0
    # via python-dateutil
sniffio==1.3.1
    # via anyio
sqladmin==0.21.0
    # via fastopp
sqlalchemy==2.0.44
    # via
    #   alembic
    #   fastapi-users-db-sqlalchemy
    #   fastopp
    #   sqladmin
    #   sqlmodel
sqlmodel==0.0.27
    # via fastopp
sse-starlette==3.0.2
    # via fastopp
starlette==0.48.0
    # via
    #   fastapi
    #   sqladmin
trove-classifiers==2025.9.11.17
    # via hatchling
twine==6.2.0
    # via fastopp
typing-extensions==4.15.0
    # via
    #   aiosignal
    #   aiosqlite
    #   alembic
    #   anyio
    #   fastapi
    #   mypy
    #   psycopg
    #   pydantic
    #   pydantic-core
    #   sqlalchemy
    #   starlette
    #   typing-inspection
typing-inspection==0.4.2
    # via
    #   pydantic
    #   pydantic-settings
tzdata==2025.2 ; sys_platform == 'win32'
    # via psycopg
urllib3==2.5.0
    # via
    #   botocore
    #   requests
    #   twine
uvicorn==0.38.0
    # via fastopp
wtforms==3.1.2
    # via sqladmin
yarl==1.22.0
    # via aiohttp
