File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -663,6 +663,18 @@ installations and complicating dependency trees. Using default extras does not
663663mean that all extras need to be defaults, and there is still scope for users to
664664explicitly opt in to non-default extras.
665665
666+ In essence, default extras should be considered just as 'weighty' as a required
667+ dependency. In some cases, if a package is widely used by many others, if it
668+ adds a default extra, then unless all downstream packages update their
669+ dependencies to specifically request a minimal installation, the defaults will
670+ often end up getting installed. A concrete example of this is that the `pytest
671+ <https://docs.pytest.org> `_ package has almost 1500 plugins at the time of
672+ writing, all of which depend on pytest. If pytest was to start using a default
673+ extra, it would need to consider this very carefully, as if the plugins are not
674+ updated, installing any plugin will result in the default extra being
675+ installed. This is not to say that it should not use default extras, but just
676+ that the decision should be considered and planned carefully.
677+
666678Inheriting from default extras
667679^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
668680
You can’t perform that action at this time.
0 commit comments