Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,17 @@ repos:
- id: check-toml

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.13.2
rev: v0.14.0
hooks:
- id: ruff
- id: ruff-check
args:
# https://github.com/astral-sh/ruff-pre-commit/issues/64
- '--config'
- 'backend/.ruff.toml'
- '--fix'
- '--unsafe-fixes'
- id: ruff-format

- repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.8.22
rev: 0.9.0
hooks:
- id: uv-lock
- id: uv-export
Expand Down
33 changes: 16 additions & 17 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,43 +12,42 @@ license = { text = "MIT" }
requires-python = ">=3.10"
dynamic = ['version']
dependencies = [
"aiofiles>=24.1.0",
"alembic>=1.16.5",
"asgi-correlation-id>=4.3.4",
"asgiref>=3.9.1",
"asgiref>=3.10.0",
"asyncmy>=0.2.10",
"asyncpg>=0.30.0",
"bcrypt>=4.3.0",
"cappa>=0.30.0",
"bcrypt>=5.0.0",
"cappa>=0.30.2",
"celery>=5.5.3",
# When celery version < 6.0.0
# https://github.com/celery/celery/issues/7874
"celery-aio-pool>=0.1.0rc8",
"cryptography>=45.0.6",
"dulwich>=0.24.1",
"cryptography>=46.0.2",
"dulwich>=0.24.2",
"fast-captcha>=0.3.2",
"fastapi-limiter>=0.1.6",
"fastapi-pagination>=0.14.0",
"fastapi[standard-no-fastapi-cloud-cli]>=0.116.1",
"fastapi-pagination>=0.14.3",
"fastapi[standard-no-fastapi-cloud-cli]>=0.118.2",
"flower>=2.0.1",
"gevent>=25.8.2",
"granian>=2.5.1",
"gevent>=25.9.1",
"granian>=2.5.5",
"ip2loc>=1.0.0",
"itsdangerous>=2.2.0",
"jinja2>=3.1.6",
"loguru>=0.7.3",
"msgspec>=0.19.0",
"psutil>=7.0.0",
"psycopg[binary]>=3.2.9",
"psutil>=7.1.0",
"psycopg[binary]>=3.2.10",
"pwdlib>=0.2.1",
"pydantic>=2.11.7",
"pydantic-settings>=2.10.1",
"pymysql>=1.1.1",
"pydantic>=2.12.0",
"pydantic-settings>=2.11.0",
"pymysql>=1.1.2",
"python-jose>=3.5.0",
"python-socketio>=5.13.0",
"python-socketio>=5.14.1",
"redis[hiredis]>=6.4.0",
"rtoml>=0.12.0",
"sqlalchemy-crud-plus>=1.11.0",
"sqlalchemy-crud-plus>=1.12.0",
"sqlalchemy[asyncio]>=2.0.43",
"sqlparse>=0.5.3",
"user-agents>=2.2.0",
Expand Down
93 changes: 45 additions & 48 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
# This file was autogenerated by uv via the following command:
# uv export -o requirements.txt --no-hashes
-e .
aiofiles==24.1.0
# via fastapi-best-architecture
alembic==1.16.5
# via fastapi-best-architecture
amqp==5.3.1
# via kombu
annotated-types==0.7.0
# via pydantic
anyio==4.10.0
anyio==4.11.0
# via
# httpx
# starlette
# watchfiles
asgi-correlation-id==4.3.4
# via fastapi-best-architecture
asgiref==3.9.1
asgiref==3.10.0
# via fastapi-best-architecture
async-timeout==5.0.1 ; python_full_version < '3.11.3'
# via
Expand All @@ -26,13 +24,13 @@ asyncmy==0.2.10
# via fastapi-best-architecture
asyncpg==0.30.0
# via fastapi-best-architecture
bcrypt==4.3.0
bcrypt==5.0.0
# via fastapi-best-architecture
bidict==0.23.1
# via python-socketio
billiard==4.2.1
billiard==4.2.2
# via celery
cappa==0.30.0
cappa==0.30.2
# via fastapi-best-architecture
celery==5.5.3
# via
Expand All @@ -41,17 +39,17 @@ celery==5.5.3
# flower
celery-aio-pool==0.1.0rc8
# via fastapi-best-architecture
certifi==2025.8.3
certifi==2025.10.5
# via
# httpcore
# httpx
cffi==1.17.1 ; platform_python_implementation != 'PyPy'
cffi==2.0.0 ; platform_python_implementation != 'PyPy'
# via
# cryptography
# gevent
cfgv==3.4.0
# via pre-commit
click==8.2.1
click==8.3.0
# via
# celery
# click-didyoumean
Expand All @@ -73,13 +71,13 @@ colorama==0.4.6 ; sys_platform == 'win32'
# loguru
# pytest
# uvicorn
cryptography==45.0.6
cryptography==46.0.2
# via fastapi-best-architecture
distlib==0.4.0
# via virtualenv
dnspython==2.7.0
dnspython==2.8.0
# via email-validator
dulwich==0.24.1
dulwich==0.24.2
# via fastapi-best-architecture
ecdsa==0.19.1
# via python-jose
Expand All @@ -91,24 +89,24 @@ exceptiongroup==1.3.0 ; python_full_version < '3.11'
# pytest
fast-captcha==0.3.2
# via fastapi-best-architecture
fastapi==0.116.1
fastapi==0.118.2
# via
# fastapi-best-architecture
# fastapi-limiter
# fastapi-pagination
fastapi-cli==0.0.10
fastapi-cli==0.0.13
# via fastapi
fastapi-limiter==0.1.6
# via fastapi-best-architecture
fastapi-pagination==0.14.0
fastapi-pagination==0.14.3
# via fastapi-best-architecture
filelock==3.19.1
filelock==3.20.0
# via virtualenv
flower==2.0.1
# via fastapi-best-architecture
gevent==25.8.2
gevent==25.9.1
# via fastapi-best-architecture
granian==2.5.1
granian==2.5.5
# via fastapi-best-architecture
greenlet==3.2.4
# via
Expand All @@ -129,7 +127,7 @@ httpx==0.28.1
# via fastapi
humanize==4.13.0
# via flower
identify==2.6.13
identify==2.6.15
# via pre-commit
idna==3.10
# via
Expand All @@ -154,7 +152,7 @@ mako==1.3.10
# via alembic
markdown-it-py==4.0.0
# via rich
markupsafe==3.0.2
markupsafe==3.0.3
# via
# jinja2
# mako
Expand All @@ -171,47 +169,47 @@ packaging==25.0
# pytest
pillow==11.3.0
# via fast-captcha
platformdirs==4.4.0
platformdirs==4.5.0
# via virtualenv
pluggy==1.6.0
# via pytest
pre-commit==4.3.0
prometheus-client==0.22.1
prometheus-client==0.23.1
# via flower
prompt-toolkit==3.0.52
# via click-repl
psutil==7.0.0
psutil==7.1.0
# via fastapi-best-architecture
psycopg==3.2.9
psycopg==3.2.10
# via fastapi-best-architecture
psycopg-binary==3.2.9 ; implementation_name != 'pypy'
psycopg-binary==3.2.10 ; implementation_name != 'pypy'
# via psycopg
pwdlib==0.2.1
# via fastapi-best-architecture
pyasn1==0.6.1
# via
# python-jose
# rsa
pycparser==2.22 ; platform_python_implementation != 'PyPy'
pycparser==2.23 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy'
# via cffi
pydantic==2.11.7
pydantic==2.12.0
# via
# fastapi
# fastapi-best-architecture
# fastapi-pagination
# pydantic-settings
# sqlalchemy-crud-plus
pydantic-core==2.33.2
pydantic-core==2.41.1
# via pydantic
pydantic-settings==2.10.1
pydantic-settings==2.11.0
# via fastapi-best-architecture
pygments==2.19.2
# via
# pytest
# rich
pymysql==1.1.2
# via fastapi-best-architecture
pytest==8.4.1
pytest==8.4.2
# via pytest-sugar
pytest-sugar==1.1.1
python-dateutil==2.9.0.post0
Expand All @@ -220,17 +218,17 @@ python-dotenv==1.1.1
# via
# pydantic-settings
# uvicorn
python-engineio==4.12.2
python-engineio==4.12.3
# via python-socketio
python-jose==3.5.0
# via fastapi-best-architecture
python-multipart==0.0.20
# via fastapi
python-socketio==5.13.0
python-socketio==5.14.1
# via fastapi-best-architecture
pytz==2025.2
# via flower
pyyaml==6.0.2
pyyaml==6.0.3
# via
# pre-commit
# uvicorn
Expand All @@ -243,16 +241,14 @@ rich==14.1.0
# cappa
# rich-toolkit
# typer
rich-toolkit==0.15.0
rich-toolkit==0.15.1
# via fastapi-cli
rsa==4.9.1
# via python-jose
rtoml==0.12.0
# via fastapi-best-architecture
setuptools==80.9.0
# via
# zope-event
# zope-interface
# via zope-event
shellingham==1.5.4
# via typer
simple-websocket==1.1.0
Expand All @@ -268,32 +264,33 @@ sqlalchemy==2.0.43
# alembic
# fastapi-best-architecture
# sqlalchemy-crud-plus
sqlalchemy-crud-plus==1.11.0
sqlalchemy-crud-plus==1.12.0
# via fastapi-best-architecture
sqlparse==0.5.3
# via fastapi-best-architecture
starlette==0.47.3
starlette==0.48.0
# via
# asgi-correlation-id
# fastapi
termcolor==3.1.0
# via pytest-sugar
tomli==2.2.1 ; python_full_version < '3.11'
tomli==2.3.0 ; python_full_version < '3.11'
# via
# alembic
# pytest
tornado==6.5.2
# via flower
type-lens==0.2.5
# via cappa
typer==0.17.3
typer==0.19.2
# via fastapi-cli
typing-extensions==4.15.0
# via
# alembic
# anyio
# asgiref
# cappa
# cryptography
# dulwich
# exceptiongroup
# fastapi
Expand All @@ -309,7 +306,7 @@ typing-extensions==4.15.0
# typing-inspection
# uvicorn
# virtualenv
typing-inspection==0.4.1
typing-inspection==0.4.2
# via
# pydantic
# pydantic-settings
Expand All @@ -325,7 +322,7 @@ urllib3==2.5.0
# via dulwich
user-agents==2.2.0
# via fastapi-best-architecture
uvicorn==0.35.0
uvicorn==0.37.0
# via
# fastapi
# fastapi-cli
Expand All @@ -336,19 +333,19 @@ vine==5.1.0
# amqp
# celery
# kombu
virtualenv==20.34.0
virtualenv==20.35.0
# via pre-commit
watchfiles==1.1.0
# via uvicorn
wcwidth==0.2.13
wcwidth==0.2.14
# via prompt-toolkit
websockets==15.0.1
# via uvicorn
win32-setctime==1.2.0 ; sys_platform == 'win32'
# via loguru
wsproto==1.2.0
# via simple-websocket
zope-event==5.1.1
zope-event==6.0
# via gevent
zope-interface==7.2
zope-interface==8.0.1
# via gevent
Loading