Таблица [dependency-groups] хранит внутренние наборы инструментов проекта, например тесты или сборку документации. Эти записи не становятся зависимостями опубликованного wheel. pip умеет ставить выбранную группу.

Опишите группу

Значение содержит обычные строки требований, а include-group позволяет включить общий набор в несколько рабочих сценариев без копирования каждой версии между секциями.

[dependency-groups]
test = ["pytest>=8", "coverage"]

Установите через pip

Команда читает pyproject.toml из текущего каталога, разрешает группу вместе с ее зависимостями и не требует превращать проект в публикуемый пакет.

python -m pip install --group test

Группа остается внутренней

Build backend не переносит dependency-groups в METADATA дистрибутива, поэтому пользователь вашей библиотеки не получит pytest или Sphinx при обычной установке.

Закрепите минимальную версию pip в CI, которая поддерживает –group, иначе старый runner примет pyproject.toml, но не узнает новый параметр установки.

Публичные возможности пакета оформляются иначе, через optional-dependencies и extras. Спецификация доступна в Python Packaging User Guide.