-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Support Groups as Extras #4842
Copy link
Copy link
Open
Labels
kind/featureFeature requests/implementationsFeature requests/implementationsstatus/triageThis issue needs to be triagedThis issue needs to be triaged
Description
- I have searched the issues of this repo and believe that this is not a duplicate.
- I have searched the documentation and believe that my question is not covered.
Feature Request
There seems to be a few places where this issue is mentioned, but I don't see anything explicitly tracking it.
(Specifically @matthijskooijman's comment (point 2) 1644#issuecomment-895848818)
The new groups functionality is very helpful when managing packages installed while developing a project, but seems to miss a pretty good use case - basically using groups in place of extras when installing this package in another environment.
Instead of having to do:
# myproject_1
[tool.poetry.dependencies]
package_1 = "^0.0.1"
[tool.poetry.group.group_a]
optional = true
# this lets someone else develop this project with optional deps
[tool.poetry.group.group_a.dependencies]
package_2 = {version = "^0.0.2", optional = true}
package_3 = {version = "^0.0.3", optional = true}
# need to explicitly define "extras" for other packages install optional deps
[tool.poetry.extras]
group_a = ["package_2", "package_3"]It would be cleaner (and make more sense I think, once groups is out of preview), if we could just do:
# myproject_1
[tool.poetry.dependencies]
package_1 = "^0.0.1"
[tool.poetry.group.group_a]
optional = true
[tool.poetry.group.group_a.dependencies]
package_2 = "^0.0.2"
package_3 = "^0.0.3"
# didn't need to explicitly define "extras", or individual packages as "optional"And then in myproject_2:
# myproject_2
[tool.poetry.dependencies]
myproject_1 = {version = "^1.0.0", extras = ["group_a"]}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
kind/featureFeature requests/implementationsFeature requests/implementationsstatus/triageThis issue needs to be triagedThis issue needs to be triaged