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
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: end-of-file-fixer
- id: check-yaml
- id: check-toml

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.7.2
rev: v0.9.5
hooks:
- id: ruff
args:
Expand All @@ -20,7 +20,7 @@ repos:
- id: ruff-format

- repo: https://github.com/astral-sh/uv-pre-commit
rev: 0.4.29
rev: 0.5.29
hooks:
- id: uv-lock
args:
Expand Down
6 changes: 3 additions & 3 deletions backend/.ruff.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ select = [
"E",
"F",
"I",
"TCH",
"TC",
# W
"W505",
# PT
Expand Down Expand Up @@ -43,8 +43,8 @@ lines-between-types = 1
order-by-type = true

[lint.per-file-ignores]
"**/api/v1/*.py" = ["TCH"]
"**/model/*.py" = ["TCH003"]
"**/api/v1/*.py" = ["TC"]
"**/model/*.py" = ["TC003"]
"**/model/__init__.py" = ["F401"]
"**/tests/*.py" = ["E402"]

Expand Down
43 changes: 22 additions & 21 deletions backend/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,42 +12,43 @@ readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.10,<3.13"
dependencies = [
"alembic>=1.14.0",
"aiofiles>=24.1.0",
"alembic>=1.14.1",
"asgi-correlation-id>=4.3.3",
"asgiref>=3.8.0",
"asyncmy>=0.2.9",
"asyncmy>=0.2.10",
"asyncpg>=0.30.0",
"bcrypt>=4.2.0",
"casbin>=1.36.0",
"casbin_async_sqlalchemy_adapter>=1.6.0",
"bcrypt>=4.2.1",
"casbin>=1.38.0",
"casbin_async_sqlalchemy_adapter>=1.7.0",
"celery==5.3.6",
"cryptography>=43.0.0",
# When celery version < 6.0.0
# https://github.com/celery/celery/issues/7874
"celery-aio-pool==0.1.0rc8",
"cryptography>=44.0.0",
"fast-captcha>=0.3.2",
"fastapi[all]==0.111.0",
"fastapi-cli==0.0.5",
"fastapi-limiter>=0.1.6",
"fastapi-oauth20>=0.0.1a2",
"fastapi-pagination>=0.12.34",
"fastapi[all]==0.111.0",
"flower>=2.0.0",
"itsdangerous>=2.2.0",
"loguru>=0.7.2",
"jinja2>=3.1.4",
"loguru>=0.7.3",
"msgspec>=0.19.0",
"pwdlib>=0.2.1",
"path==17.0.0",
"phonenumbers>=8.13.0",
"psutil>=6.0.0",
"pydantic>=2.9.1",
"pwdlib>=0.2.1",
"pydantic>=2.10.6",
"python-jose>=3.3.0",
"python-socketio>=5.12.0",
"redis[hiredis]>=5.2.0",
"sqlalchemy-crud-plus==1.6.0",
"sqlalchemy[asyncio]>=2.0.30",
"user-agents==2.2.0",
"XdbSearchIP>=1.0.2",
"fastapi_oauth20>=0.0.1a2",
"flower>=2.0.0",
"sqlalchemy-crud-plus==1.6.0",
"jinja2>=3.1.4",
"aiofiles>=24.1.0",
# When celery version < 6.0.0
# https://github.com/celery/celery/issues/7874
"celery-aio-pool==0.1.0rc7",
"asgi-correlation-id>=4.3.3",
"python-socketio>=5.11.4",
]

[dependency-groups]
Expand All @@ -56,7 +57,7 @@ dev = [
"pytest-sugar>=1.0.0",
]
lint = [
"ruff>=0.7.0",
"ruff>=0.9.0",
"pre-commit>=4.0.0",
]
server = [
Expand Down
119 changes: 60 additions & 59 deletions backend/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
# This file was autogenerated by uv via the following command:
# uv export --directory backend -o requirements.txt --no-hashes
aiofiles==24.1.0
alembic==1.14.0
amqp==5.2.0
alembic==1.14.1
amqp==5.3.1
annotated-types==0.7.0
anyio==4.6.0
asgi-correlation-id==4.3.3
anyio==4.8.0
asgi-correlation-id==4.3.4
asgiref==3.8.1
async-timeout==4.0.3 ; python_full_version < '3.11.3'
asyncmy==0.2.9
async-timeout==5.0.1 ; python_full_version < '3.11.3'
asyncmy==0.2.10
asyncpg==0.30.0
bcrypt==4.2.0
bcrypt==4.2.1
bidict==0.23.1
billiard==4.2.1
casbin==1.36.3
casbin-async-sqlalchemy-adapter==1.6.0
casbin==1.38.0
casbin-async-sqlalchemy-adapter==1.7.0
celery==5.3.6
celery-aio-pool==0.1.0rc7
certifi==2024.8.30
celery-aio-pool==0.1.0rc8
certifi==2025.1.31
cffi==1.17.1 ; platform_python_implementation != 'PyPy'
cfgv==3.4.0
click==8.1.7
click==8.1.8
click-didyoumean==0.3.1
click-plugins==1.1.1
click-repl==0.3.0
colorama==0.4.6 ; sys_platform == 'win32' or platform_system == 'Windows'
cryptography==43.0.3
colorama==0.4.6 ; sys_platform == 'win32'
cryptography==44.0.0
distlib==0.3.9
dnspython==2.7.0
ecdsa==0.19.0
Expand All @@ -37,85 +37,86 @@ fastapi-cli==0.0.5
fastapi-limiter==0.1.6
fastapi-oauth20==0.0.1a2
fastapi-pagination==0.12.34
filelock==3.16.1
filelock==3.17.0
flower==2.0.1
greenlet==3.1.1
h11==0.14.0
hiredis==3.0.0
httpcore==1.0.6
httptools==0.6.1
httpx==0.25.2
hiredis==3.1.0
httpcore==1.0.7
httptools==0.6.4
httpx==0.28.1
humanize==4.11.0
identify==2.6.1
identify==2.6.6
idna==3.10
iniconfig==2.0.0
itsdangerous==2.2.0
jinja2==3.1.4
jinja2==3.1.5
kombu==5.4.2
loguru==0.7.2
mako==1.3.5
loguru==0.7.3
mako==1.3.9
markdown-it-py==3.0.0
markupsafe==3.0.1
markupsafe==3.0.2
mdurl==0.1.2
msgspec==0.19.0
nodeenv==1.9.1
orjson==3.10.7
packaging==24.1
orjson==3.10.15
packaging==24.2
path==17.0.0
phonenumbers==8.13.27
pillow==10.4.0
phonenumbers==8.13.54
pillow==11.1.0
platformdirs==4.3.6
pluggy==1.5.0
pre-commit==4.0.1
prometheus-client==0.21.0
prompt-toolkit==3.0.48
psutil==6.1.0
pre-commit==4.1.0
prometheus-client==0.21.1
prompt-toolkit==3.0.50
psutil==6.1.1
pwdlib==0.2.1
pyasn1==0.6.1
pycparser==2.22 ; platform_python_implementation != 'PyPy'
pydantic==2.9.1
pydantic-core==2.23.3
pydantic-extra-types==2.9.0
pydantic-settings==2.5.2
pygments==2.18.0
pytest==8.3.3
pydantic==2.10.6
pydantic-core==2.27.2
pydantic-extra-types==2.10.2
pydantic-settings==2.7.1
pygments==2.19.1
pytest==8.3.4
pytest-sugar==1.0.0
python-dateutil==2.9.0.post0
python-dotenv==1.0.1
python-engineio==4.9.1
python-engineio==4.11.2
python-jose==3.3.0
python-multipart==0.0.12
python-socketio==5.11.4
pytz==2024.2
python-multipart==0.0.20
python-socketio==5.12.1
pytz==2025.1
pyyaml==6.0.2
redis==5.2.0
rich==13.9.2
redis==5.2.1
rich==13.9.4
rsa==4.9
ruff==0.7.2
ruff==0.9.5
shellingham==1.5.4
simple-websocket==1.1.0
simpleeval==1.0.0
six==1.16.0
simpleeval==1.0.3
six==1.17.0
sniffio==1.3.1
sqlalchemy==2.0.30
sqlalchemy==2.0.38
sqlalchemy-crud-plus==1.6.0
starlette==0.37.2
termcolor==2.5.0
tomli==2.0.2 ; python_full_version < '3.11'
tornado==6.4.1
typer==0.12.5
tomli==2.2.1 ; python_full_version < '3.11'
tornado==6.4.2
typer==0.15.1
typing-extensions==4.12.2
tzdata==2024.2
ua-parser==0.18.0
tzdata==2025.1
ua-parser==1.0.1
ua-parser-builtins==0.18.0.post1
ujson==5.10.0
user-agents==2.2.0
uvicorn==0.29.0
uvloop==0.20.0 ; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'
uvicorn==0.34.0
uvloop==0.21.0 ; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'
vine==5.1.0
virtualenv==20.26.6
watchfiles==0.24.0
virtualenv==20.29.1
watchfiles==1.0.4
wcwidth==0.2.13
websockets==13.1
win32-setctime==1.1.0 ; sys_platform == 'win32'
websockets==14.2
win32-setctime==1.2.0 ; sys_platform == 'win32'
wsproto==1.2.0
xdbsearchip==1.0.2
Loading