1+ [build-system ]
2+ requires = [" hatchling" ]
3+ build-backend = " hatchling.build"
4+
5+ [project ]
6+ name = " django-stubs"
7+ version = " 5.2.0"
8+ description = " Mypy stubs for Django"
9+ readme = " README.md"
10+ license = " MIT"
11+ license-files = [" LICENSE.md" ]
12+ requires-python = " >=3.10"
13+ authors = [
14+ {
name =
" Maksim Kurnikov" ,
email =
" [email protected] " },
15+ ]
16+ maintainers = [
17+ {
name =
" Marti Raudsepp" ,
email =
" [email protected] " },
18+ {
name =
" Nikita Sobolev" ,
email =
" [email protected] " },
19+ {
name =
" Petter Friberg" ,
email =
" [email protected] " },
20+ {
name =
" Adam Johnson" ,
email =
" [email protected] " },
21+ ]
22+ classifiers = [
23+ " Operating System :: OS Independent" ,
24+ " Programming Language :: Python :: 3.10" ,
25+ " Programming Language :: Python :: 3.11" ,
26+ " Programming Language :: Python :: 3.12" ,
27+ " Programming Language :: Python :: 3.13" ,
28+ " Typing :: Typed" ,
29+ " Framework :: Django" ,
30+ " Framework :: Django :: 5.0" ,
31+ " Framework :: Django :: 5.1" ,
32+ " Framework :: Django :: 5.2" ,
33+ ]
34+ dependencies = [
35+ " django" ,
36+ " django-stubs-ext>=5.2.0" ,
37+ " tomli; python_version < '3.11'" ,
38+ # Types:
39+ " types-pyyaml" ,
40+ " typing-extensions>=4.11.0" ,
41+ ]
42+
43+ [project .optional-dependencies ]
44+ compatible-mypy = [" mypy>=1.13,<1.16" ]
45+ oracle = [" oracledb" ]
46+ redis = [" redis" , " types-redis" ]
47+
48+ [project .urls ]
49+ Homepage = " https://github.com/typeddjango/django-stubs"
50+ Funding = " https://github.com/sponsors/typeddjango"
51+ "Release notes" = " https://github.com/typeddjango/django-stubs/releases"
52+
53+ [tool .hatch .build ]
54+ packages = [" django-stubs" , " mypy_django_plugin" ]
55+
56+
157[tool .codespell ]
258ignore-words-list = " aadd,acount,nam,asend"
359
@@ -9,35 +65,35 @@ target-version = "py310"
965[tool .ruff .lint ]
1066# See Rules in Ruff documentation: https://beta.ruff.rs/docs/rules/
1167select = [
12- " B" , # bugbear
13- " E" , # pycodestyle
14- " F" , # pyflakes
15- " INP" , # flake8-tidy-imports
16- " W" , # pycodestyle
17- " I" , # isort
18- " UP" , # pyupgrade
19- " TID251" , # Disallowed imports (flake8-tidy-imports.banned-api)
20- " PYI" , # flake8-pyi
21- " RUF100" , # Equivalent to flake8-noqa NQA103
22- " PGH004" , # Equivalent to flake8-noqa NQA104
23- " PGH003" , # Disallowed blanket `type: ignore` annotations.
68+ " B" , # bugbear
69+ " E" , # pycodestyle
70+ " F" , # pyflakes
71+ " INP" , # flake8-tidy-imports
72+ " W" , # pycodestyle
73+ " I" , # isort
74+ " UP" , # pyupgrade
75+ " TID251" , # Disallowed imports (flake8-tidy-imports.banned-api)
76+ " PYI" , # flake8-pyi
77+ " RUF100" , # Equivalent to flake8-noqa NQA103
78+ " PGH004" , # Equivalent to flake8-noqa NQA104
79+ " PGH003" , # Disallowed blanket `type: ignore` annotations.
2480]
2581ignore = [
26- " PYI021" , # We have a few meaningful docstrings for stubs only constructs/utilities.
27- " PYI041" , # This might not be obvious that `float | int` is mostly equivalent to `float` typing wise | int | str
28- " PYI043" ,
82+ " PYI021" , # We have a few meaningful docstrings for stubs only constructs/utilities.
83+ " PYI041" , # This might not be obvious that `float | int` is mostly equivalent to `float` typing wise | int | str
84+ " PYI043" ,
2985]
3086
3187[tool .ruff .lint .per-file-ignores ]
3288"*.pyi" = [
33- " B" ,
34- " E501" ,
35- " E741" ,
36- " E743" ,
37- " F403" , # Use wildcard import
38- " F405" ,
39- " F822" ,
40- " F821" ,
89+ " B" ,
90+ " E501" ,
91+ " E741" ,
92+ " E743" ,
93+ " F403" , # Use wildcard import
94+ " F405" ,
95+ " F822" ,
96+ " F821" ,
4197]
4298"tests/*.py" = [" INP001" , " PGH003" ]
4399"ext/tests/*.py" = [" INP001" ]
@@ -50,6 +106,3 @@ ignore = [
50106[tool .ruff .lint .isort ]
51107known-first-party = [" django_stubs_ext" , " mypy_django_plugin" ]
52108split-on-trailing-comma = false
53-
54- [build-system ]
55- requires = [" setuptools<79.0.0" , " wheel" ]
0 commit comments