@@ -34,13 +34,33 @@ dynamic = [ "version" ]
3434
3535dependencies = [ " django>=4.2" ]
3636
37- optional-dependencies.documentation = [
37+ [dependency-groups ]
38+ dev = [
39+ { include-group = " docs" },
40+ { include-group = " optional" },
41+ { include-group = " test" },
42+ ]
43+
44+ test = [
45+ # temporary pin of attrs
46+ " attrs==22.1" ,
47+ " importlib-metadata<5" ,
48+
49+ # Pytest for running the tests.
50+ " pytest>=7.0.1,<8" ,
51+ " pytest-cov>=4,<5" ,
52+ " pytest-django>=4.5.2,<5" ,
53+
54+ # Remove when dropping support for Django<5.0
55+ " pytz" ,
56+ ]
57+ docs = [
3858 # MkDocs to build our documentation.
3959 " mkdocs==1.6" ,
4060 # pylinkvalidator to check for broken links in documentation.
4161 " pylinkvalidator==0.3" ,
4262]
43- optional-dependencies.optional = [
63+ optional = [
4464 # Optional packages which may be used with REST framework.
4565 " coreapi==2.3.1" ,
4666 " coreschema==0.0.4" ,
@@ -53,29 +73,6 @@ optional-dependencies.optional = [
5373 " pygments~=2.17.0" ,
5474 " pyyaml>=5.3.1,<5.4" ,
5575]
56- optional-dependencies.packaging = [
57- # Transifex client for managing translation resources.
58- " transifex-client" ,
59- # Twine for secured PyPI uploads.
60- " twine>=3.4.2,<4.0.2" ,
61-
62- # Wheel for PyPI installs.
63- " wheel>=0.36.2,<0.40" ,
64-
65- ]
66- optional-dependencies.testing = [
67- # temporary pin of attrs
68- " attrs==22.1" ,
69- " importlib-metadata<5" ,
70-
71- # Pytest for running the tests.
72- " pytest>=7.0.1,<8" ,
73- " pytest-cov>=4,<5" ,
74- " pytest-django>=4.5.2,<5" ,
75-
76- # Remove when dropping support for Django<5.0
77- " pytz" ,
78- ]
7976urls.Changelog = " https://www.django-rest-framework.org/community/release-notes/"
8077urls.Funding = " https://fund.django-rest-framework.org/topics/funding/"
8178urls.Homepage = " https://www.django-rest-framework.org"
0 commit comments