[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["highscore/app"] [project] name = "selecta-highscore" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ "daphne>=4.1.2", "django>=6.0.6", "django-ninja>=1.6.2", "psycopg>=3.3.4", "pydantic-settings>=2.14.1", ] [project.scripts] serve = "app.served:serve" [dependency-groups] dev = [ "basedpyright>=1.39.7", "django-extensions>=4.1", "django-stubs>=6.0.5", "ipython>=9.14.1", "ruff>=0.15.17", ] [tool.ruff] src = ["highscore"] line-length = 100 [tool.ruff.lint] select = [ "E", "W", # pycodestyle "F", # pyflakes "I", # isort "N", # pep8-naming "UP", # pyupgrade "B", # flake8-bugbear "DJ", # flake8-django "S", # flake8-bandit (security) "SIM", # flake8-simplify "T20", # flake8-print "RUF", # ruff-specific ] ignore = [ "S101", # assert in tests is fine "RUF012", # ClassVar not needed for Django Meta attributes ] [tool.ruff.lint.per-file-ignores] "*/migrations/*.py" = ["E501"] "*/settings.py" = ["S105"] "*/config.py" = ["S105"] [tool.ruff.lint.isort] known-first-party = ["app", "scores"] [tool.basedpyright] pythonVersion = "3.13" venvPath = "." venv = ".venv" include = ["highscore"] typeCheckingMode = "standard" [tool.django-stubs] django_settings_module = "app.settings"