4
4
Dependency Groups
5
5
=================
6
6
7
- This specification defines Dependency Groups , a mechanism for storing package
7
+ This specification defines dependency groups , a mechanism for storing package
8
8
requirements in ``pyproject.toml `` files such that they are not included in
9
9
project metadata when it is built.
10
10
11
- Dependency Groups are suitable for internal development use-cases like linting
11
+ Dependency groups are suitable for internal development use-cases like linting
12
12
and testing, as well as for projects which are not built for distribution, like
13
13
collections of related scripts.
14
14
15
- Fundamentally, Dependency Groups should be thought of as being a standardized
15
+ Fundamentally, dependency groups should be thought of as being a standardized
16
16
subset of the capabilities of ``requirements.txt `` files (which are
17
17
``pip ``-specific).
18
18
@@ -38,7 +38,7 @@ and a similar table which defines ``docs``, ``test``, and ``coverage`` groups::
38
38
The ``[dependency-groups] `` Table
39
39
---------------------------------
40
40
41
- Dependency Groups are defined as a table in ``pyproject.toml `` named
41
+ Dependency groups are defined as a table in ``pyproject.toml `` named
42
42
``dependency-groups ``. The ``dependency-groups `` table contains an arbitrary
43
43
number of user-defined keys, each of which has, as its value, a list of
44
44
requirements.
@@ -103,9 +103,9 @@ Package Building
103
103
104
104
Build backends MUST NOT include Dependency Group data in built distributions as
105
105
package metadata. This means that sdist ``PKG-INFO `` and wheel ``METADATA ``
106
- files should not include referenceable fields containing Dependency Groups .
106
+ files should not include referenceable fields containing dependency groups .
107
107
108
- It is, however, valid to use Dependency Groups in the evaluation of dynamic
108
+ It is, however, valid to use dependency groups in the evaluation of dynamic
109
109
metadata, and ``pyproject.toml `` files included in sdists will still contain
110
110
``[dependency-groups] ``. However, the table's contents are not part of a built
111
111
package's interfaces.
@@ -114,28 +114,28 @@ Installing Dependency Groups & Extras
114
114
-------------------------------------
115
115
116
116
There is no syntax or specification-defined interface for installing or
117
- referring to Dependency Groups . Tools are expected to provide dedicated
117
+ referring to dependency groups . Tools are expected to provide dedicated
118
118
interfaces for this purpose.
119
119
120
120
Tools MAY choose to provide the same or similar interfaces for interacting
121
- with Dependency Groups as they do for managing extras. Tools authors are
121
+ with dependency groups as they do for managing extras. Tools authors are
122
122
advised that the specification does not forbid having an extra whose name
123
123
matches a Dependency Group. Separately, users are advised to avoid creating
124
- Dependency Groups whose names match extras, and tools MAY treat such matching
124
+ dependency groups whose names match extras, and tools MAY treat such matching
125
125
as an error.
126
126
127
127
Validation and Compatibility
128
128
----------------------------
129
129
130
- Tools supporting Dependency Groups may want to validate data before using it.
130
+ Tools supporting dependency groups may want to validate data before using it.
131
131
When implementing such validation, authors should be aware of the possibility
132
132
of future extensions to the specification, so that they do not unnecessarily
133
133
emit errors or warnings.
134
134
135
135
Tools SHOULD error when evaluating or processing unrecognized data in
136
- Dependency Groups .
136
+ dependency groups .
137
137
138
- Tools SHOULD NOT eagerly validate the contents of *all * Dependency Groups
138
+ Tools SHOULD NOT eagerly validate the contents of *all * dependency groups
139
139
unless they have a need to do so.
140
140
141
141
This means that in the presence of the following data, most tools should allow
@@ -151,7 +151,7 @@ the ``foo`` group to be used and only error if the ``bar`` group is used:
151
151
152
152
There are several known cases of tools which have good cause to be
153
153
stricter. Linters and validators are an example, as their purpose is to
154
- validate the contents of all Dependency Groups .
154
+ validate the contents of all dependency groups .
155
155
156
156
Reference Implementation
157
157
========================
0 commit comments