@@ -55,36 +55,54 @@ Issues = "https://github.com/marshmallow-code/webargs/issues"
5555Source = " https://github.com/marshmallow-code/webargs"
5656Tidelift = " https://tidelift.com/subscription/pkg/pypi-webargs?utm_source=pypi-webargs&utm_medium=pypi"
5757
58- [project .optional-dependencies ]
59- frameworks = [
60- " Flask>=3.1.0" ,
61- " Django>=5.2.0" ,
62- " bottle>=0.13.0" ,
63- " tornado>=6.5.0" ,
64- " pyramid>=2.0.2" ,
65- " falcon>=4.1.0" ,
66- " aiohttp>=3.13.0" ,
58+ [build-system ]
59+ requires = [" flit_core<4" ]
60+ build-backend = " flit_core.buildapi"
61+
62+ [dependency-groups ]
63+ docs = [
64+ " webargs" ,
65+ " Sphinx==9.1.0" ,
66+ " sphinx-issues==5.0.1" ,
67+ " furo==2025.12.19" ,
6768]
69+
6870tests = [
69- " webargs[frameworks]" ,
7071 " pytest" ,
7172 " pytest-asyncio" ,
7273 " webtest==3.0.7" ,
7374 " webtest-aiohttp==2.0.0" ,
7475 " pytest-aiohttp>=0.3.0" ,
7576 " packaging>=17.0" ,
7677]
77- docs = [
78- " webargs[frameworks]" ,
79- " Sphinx==9.1.0" ,
80- " sphinx-issues==5.0.1" ,
81- " furo==2025.12.19" ,
78+ test-flask = [" Flask>=3.1.0" , {include-group = " tests" }]
79+ test-django = [" Django>=5.2.0" , {include-group = " tests" }]
80+ test-bottle = [" bottle>=0.13.0" , {include-group = " tests" }]
81+ test-tornado = [" tornado>=6.5.0" , {include-group = " tests" }]
82+ test-pyramid = [
83+ " pyramid>=2.0.2" , {include-group = " tests" },
84+ # temporary pin: hold back `setuptools` so that `pyramid` testing works
85+ # pyramid uses pkg_resources, which has been long deprecated and finally removed
86+ #
87+ # see https://github.com/Pylons/pyramid/issues/3731 for discussion within pyramid
88+ " setuptools < 82.0"
89+ ]
90+ test-falcon = [" falcon>=4.1.0" , {include-group = " tests" }]
91+ test-aiohttp = [" aiohttp>=3.13.0" , {include-group = " tests" }]
92+ # for efficiency of testing, we define this group and test all frameworks at once, because it works
93+ # however, each is declared separately in case we ever encounter conflicts and need to break one off
94+ # from the rest of the group
95+ test-all-frameworks = [
96+ {include-group = " test-flask" },
97+ {include-group = " test-django" },
98+ {include-group = " test-bottle" },
99+ {include-group = " test-tornado" },
100+ {include-group = " test-pyramid" },
101+ {include-group = " test-falcon" },
102+ {include-group = " test-aiohttp" },
82103]
83- dev = [" webargs[tests]" , " tox" , " pre-commit>=3.5,<5.0" ]
84104
85- [build-system ]
86- requires = [" flit_core<4" ]
87- build-backend = " flit_core.buildapi"
105+ dev = [" tox" , " pre-commit>=3.5,<5.0" , {include-group = " tests" }]
88106
89107[tool .flit .sdist ]
90108include = [
0 commit comments