[project] name = "onlinejudge" version = "2.0.0" description = "" readme = "README.md" requires-python = ">=3.12" dependencies = [ "channels>=4.3.2,<5", "channels-redis>=4.3.0,<5", "daphne>=4.2.1,<5", "django>=6.0.4,<6.1", "django-cas-ng>=5.1.1,<6", "django-dbconn-retry>=0.3.1,<0.4", "django-dramatiq>=0.15.0,<0.16", "django-redis>=6.0.0,<7", "djangorestframework>=3.17.1,<4", "dramatiq>=2.1.0,<3", "gunicorn>=26.0.0,<27", "openai>=2.34.0,<3", "otpauth>=2.2.1,<3", "pillow>=12.2.0,<13", "psycopg>=3.3.4,<4", "psycopg-binary>=3.3.4,<4", "python-dateutil>=2.9.0.post0,<3", "qrcode>=8.2,<9", "sentry-sdk[django]>=2.0.0,<3", "xlsxwriter>=3.2.9,<4", ] [dependency-groups] dev = [ "ruff>=0.15.11", ] [tool.ruff] line-length = 180 exclude = ["*/migrations/*", "*settings.py", "*/apps.py", ".venv"] [tool.ruff.format] quote-style = "double" [tool.ruff.lint] select = ["E", "F", "I"]