dependency-groups
A tool for resolving PEP 735 Dependency Group data
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, has no security vulnerabilities, carries a permissive MIT license, and solves a real problem for projects adopting PEP 735. Install friction is minimal. It is useful both as a library for tools that need to parse groups and as a CLI utility for developers managing complex optional dependencies.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction: pure Python wheel with only two lightweight runtime dependencies (packaging and tomli).
- Active maintenance with recent commits; last release 469 days ago but repository shows ongoing activity.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for any project type.
last release 2025-05-02 (469 days) · last repo commit 2026-08-10 · 13 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 6,909,457 downloads/mo, #1,814 on PyPI
Alternatives
Verify before relying
pip install dependency-groups
from dependency_groups import resolve
# Resolve a group from pyproject.toml
deps = resolve('dev')
print(deps) # List of dependency specifiers- Whether the package handles all edge cases in PEP 735 or has known limitations in resolution.
- Performance characteristics when resolving deeply nested or circular includes.
What it is and what it does
dependency-groups is a library that implements PEP 735 Dependency Groups, a standard for organizing optional dependencies in pyproject.toml files. It provides a resolver that parses definitions, follows include directives, and outputs resolved dependency lists. The package is useful for projects that want to organize optional dependencies into logical groups—such as dev, test, docs, or feature-specific sets—and then install or validate them programmatically or from the command line.
The library ships with both a Python API (DependencyGroupResolver and resolve() function) and CLI tools: a module command to print contents, a linter to validate all groups in a project, a wrapper for pip install, and a pre-commit hook. It supports Python 3.8 through 3.13 on CPython and PyPy, with no compiled dependencies.
Use it for
- Organize development, testing, and documentation dependencies into named groups in pyproject.toml and resolve them programmatically.
- Validate all groups in a project during CI/CD using the lint-dependency-groups CLI command.
- Install a specific group from the command line using pip-install-dependency-groups without manually listing packages.
- Integrate linting into pre-commit hooks to catch malformed groups before commit.
- Build tooling that needs to read and process PEP 735 metadata from project files.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, has no security vulnerabilities, carries a permissive MIT license, and solves a real problem for projects adopting PEP 735. Install friction is minimal. It is useful both as a library for tools that need to parse groups and as a CLI utility for developers managing complex optional dependencies.
Install
dependency-groups on PyPI
Before you install
Low friction: pure Python wheel with only two lightweight runtime dependencies (packaging and tomli). Active maintenance with recent commits; last release 469 days ago but repository shows ongoing activity.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for any project type.
Quickstart
pip install dependency-groups
from dependency_groups import resolve
# Resolve a group from pyproject.toml
deps = resolve('dev')
print(deps) # List of dependency specifiers
Verify before relying
- Whether the package handles all edge cases in PEP 735 or has known limitations in resolution.
- Performance characteristics when resolving deeply nested or circular includes.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagespackagingtomli |
| Maintenance | Actively maintained 469 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,909,457 / month, #1,814 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: dependency_groups-1.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pep 735 dependency groups”
- dependency-groupsParses and resolves PEP 735 dependency groups from pyproject.toml,…
- exceptiongroupProvides exception group classes and utilities for handling multiple…
- hatch-requirements-txtA Hatchling plugin that reads project dependencies from…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also johnnydep · uv-sort · pdm · pyproject-toml · validate-pyproject · pipdeptree · hatch-requirements-txt · juliapkg · requirementslib · pyproject-parser