@@ -16,7 +16,6 @@ keywords = ["Python", "edx"]
1616classifiers = [
1717 " Development Status :: 3 - Alpha" ,
1818 " Intended Audience :: Developers" ,
19- " License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)" ,
2019 " Natural Language :: English" ,
2120 " Programming Language :: Python :: 3" ,
2221 " Programming Language :: Python :: 3.12" ,
@@ -87,27 +86,36 @@ test-base = [
8786 " pytest-django" ,
8887 " six" ,
8988]
90- test = [{ include-group = " test-base" }]
89+ # Current default Django version. When adding or retiring a Django version
90+ # from the matrix, update this group and [tool.uv].conflicts accordingly.
91+ test = [
92+ { include-group = " test-base" },
93+ " Django>=5.2,<6.0" ,
94+ ]
95+ django42 = [
96+ { include-group = " test-base" },
97+ " Django>=4.2,<5.0" ,
98+ ]
9199quality = [
100+ { include-group = " test" },
92101 " edx-lint" ,
93102 " isort" ,
94103 " pycodestyle" ,
95104 " pydocstyle" ,
96105 " pylint" ,
97106]
98107doc = [
99- { include-group = " test-base " },
108+ { include-group = " test" },
100109 " doc8" ,
101110 " Sphinx" ,
102111 " sphinx-book-theme" ,
103112]
104113ci = [
105- { include-group = " test" },
106- { include-group = " quality" },
107114 " tox" ,
108115 " tox-uv" ,
109116]
110117dev = [
118+ { include-group = " quality" },
111119 { include-group = " ci" },
112120 { include-group = " doc" },
113121]
@@ -158,6 +166,12 @@ ignore = ["D001"]
158166
159167[tool .uv ]
160168package = true
169+ # Each entry lists groups with mutually exclusive version requirements so uv
170+ # can produce a single uv.lock with a separate resolution for each.
171+ # Add a new pair whenever you add a legacy-version group to [dependency-groups].
172+ conflicts = [
173+ [{ group = " test" }, { group = " django42" }],
174+ ]
161175# DO NOT EDIT constraint-dependencies DIRECTLY.
162176# This list is managed by `edx_lint write_uv_constraints`
163177# and will be overwritten the next time `make upgrade` is run.
0 commit comments