22name = " voko"
33version = " 0.1.0"
44description = " VOKO webapp"
5- requires-python = " >=3.8"
5+ requires-python = " >=3.8,<3.9 "
66dependencies = [
77 " django-extensions==3.1.2" ,
88 " django-bootstrap5==23.3" ,
@@ -29,29 +29,68 @@ dependencies = [
2929 " freezegun>=1.5.5" ,
3030]
3131
32- [project .optional-dependencies ]
33- dev = [
34- " fake-factory==0.7.4" ,
35- " factory-boy==3.2.1" ,
36- " mock==1.0.1" ,
37- " django-debug-toolbar==3.8.1" ,
38- " flake8==3.8.4" ,
39- " debugpy==1.6.6" ,
40- ]
41-
4232[build-system ]
4333requires = [" hatchling" ]
4434build-backend = " hatchling.build"
4535
4636[tool .hatch .build .targets .wheel ]
4737packages = [" webapp" ]
4838
49- [tool .uv ]
50- dev-dependencies = [
39+ [dependency-groups ]
40+ dev = [
41+ { include-group = " test" },
42+ { include-group = " lint" },
43+ ]
44+ test = [
5145 " fake-factory==0.7.4" ,
5246 " factory-boy==3.2.1" ,
5347 " mock==1.0.1" ,
5448 " django-debug-toolbar==3.8.1" ,
55- " flake8==3.8.4" ,
5649 " debugpy==1.6.6" ,
5750]
51+ lint = [
52+ " ruff>=0.8.4" ,
53+ ]
54+
55+ [tool .pytest .ini_options ]
56+ addopts = [
57+ " --durations=10" ,
58+ ]
59+
60+ [tool .mypy ]
61+ warn_unused_configs = true
62+
63+ [tool .ruff ]
64+ line-length = 120
65+
66+ [tool .ruff .lint ]
67+ select = [" ALL" ]
68+
69+ [tool .ruff .lint .flake8-annotations ]
70+ allow-star-arg-any = true
71+
72+ [tool .ruff .lint .pydocstyle ]
73+ convention = " google"
74+
75+ # Tox configuration for testing with Django and linting with ruff
76+ [tool .tox ]
77+ min_version = " 4.22"
78+ requires = [
79+ " tox>=4.22" ,
80+ " tox-uv" ,
81+ ]
82+ env_list = [
83+ " testing" ,
84+ " linting" ,
85+ ]
86+
87+ [tool .tox .env .testing ]
88+ runner = " uv-venv-lock-runner"
89+ dependency_groups = [ " test" ]
90+ change_dir = " webapp"
91+ commands = [ [ " python" , " manage.py" , " test" , " --settings=vokou.settings.testing" , { replace = " posargs" , default = [], extend = true } ] ]
92+
93+ [tool .tox .env .linting ]
94+ runner = " uv-venv-lock-runner"
95+ dependency_groups = [ " lint" ]
96+ commands = [ [ " ruff" , " check" , { replace = " posargs" , default = [ " webapp" ], extend = true } ] ]
0 commit comments