Skip to content

✨ feat(depends): add glob pattern support for depends option#3697

Merged
gaborbernat merged 1 commit intotox-dev:mainfrom
gaborbernat:feat/depends-glob
Feb 15, 2026
Merged

✨ feat(depends): add glob pattern support for depends option#3697
gaborbernat merged 1 commit intotox-dev:mainfrom
gaborbernat:feat/depends-glob

Conversation

@gaborbernat
Copy link
Copy Markdown
Member

Users had to enumerate every dependency environment explicitly in depends, which was error-prone — adding a new Python version to env_list without updating depends could cause race conditions in parallel runs. 🔧 This became especially painful for projects testing across many Python versions or platform factors.

Glob patterns like depends = py3* now match against all environments in the current run, using fnmatch semantics (*, ?, [...]). Non-glob entries pass through unchanged, so existing configurations keep working. Self-matches are automatically excluded to prevent dependency cycles (e.g. depends = * won't create a self-dependency).

Factor syntax ({py39,py310}-test) continues to work as before since glob resolution happens after factor expansion at runtime in run_order(), where the full set of environments is known.

Closes #1152

@gaborbernat gaborbernat force-pushed the feat/depends-glob branch 4 times, most recently from ad58359 to d5dd8f1 Compare February 15, 2026 06:23
Users had to enumerate every dependency environment explicitly, which was
error-prone when adding new environments to env_list. Glob patterns like
`depends = py3*` now match against the set of environments being run,
using fnmatch semantics. Self-matches are excluded to prevent cycles.

Closes tox-dev#1152
@gaborbernat gaborbernat enabled auto-merge (squash) February 15, 2026 06:31
@gaborbernat gaborbernat merged commit 8e85762 into tox-dev:main Feb 15, 2026
28 checks passed
@gaborbernat gaborbernat deleted the feat/depends-glob branch February 18, 2026 07:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support glob patterns and factors in 'depends' option

1 participant