74 lines
1.5 KiB
TOML
74 lines
1.5 KiB
TOML
[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"
|