Skip to content

Commit 65a245c

Browse files
committed
Skip the aggregate all extra
1 parent 723bcd2 commit 65a245c

2 files changed

Lines changed: 67 additions & 23 deletions

File tree

docs/assets/dependencies.mmd

Lines changed: 63 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,37 +17,59 @@ flowchart LR
1717
typing_extensions(["`typing-extensions`"])
1818
bracex(["`bracex`"])
1919

20-
subgraph ext_all [--extra all]
21-
sphinx{{"`sphinx`"}}
22-
mkdocs{{"`mkdocs`"}}
23-
pytest{{"`pytest`"}}
24-
requests{{"`requests`"}}
20+
subgraph ext_carapace [--extra carapace]
21+
pyyaml{{"`pyyaml >=6.0.3`"}}
22+
end
23+
24+
subgraph ext_hjson [--extra hjson]
25+
hjson{{"`hjson >=3.1`"}}
26+
end
27+
28+
subgraph ext_json5 [--extra json5]
29+
json5{{"`json5 >=0.12.1`"}}
30+
end
31+
32+
subgraph ext_jsonc [--extra jsonc]
33+
json_with_comments{{"`json-with-comments >=1.2.10`"}}
34+
end
35+
36+
subgraph ext_mkdocs [--extra mkdocs]
37+
mkdocs{{"`mkdocs >=1.4`"}}
2538
mkdocs_get_deps(["`mkdocs-get-deps`"])
26-
pyyaml{{"`pyyaml`"}}
2739
jinja2(["`jinja2`"])
2840
packaging(["`packaging`"])
29-
exceptiongroup(["`exceptiongroup`"])
3041
ghp_import(["`ghp-import`"])
3142
markdown(["`markdown`"])
3243
markupsafe(["`markupsafe`"])
3344
mergedeep(["`mergedeep`"])
34-
pygments{{"`pygments`"}}
35-
pymdown_extensions{{"`pymdown-extensions`"}}
45+
pygments{{"`pygments >=2.14`"}}
46+
pymdown_extensions{{"`pymdown-extensions >=10`"}}
3647
python_dateutil(["`python-dateutil`"])
3748
pyyaml_env_tag(["`pyyaml-env-tag`"])
49+
pathspec(["`pathspec`"])
50+
platformdirs(["`platformdirs`"])
51+
six(["`six`"])
52+
watchdog(["`watchdog`"])
53+
end
54+
55+
subgraph ext_pytest [--extra pytest]
56+
pytest{{"`pytest >=9`"}}
57+
exceptiongroup(["`exceptiongroup`"])
58+
iniconfig(["`iniconfig`"])
59+
pluggy(["`pluggy`"])
60+
end
61+
62+
subgraph ext_sphinx [--extra sphinx]
63+
sphinx{{"`sphinx >=8`"}}
64+
requests{{"`requests`"}}
3865
alabaster(["`alabaster`"])
3966
babel(["`babel`"])
4067
certifi(["`certifi`"])
4168
charset_normalizer(["`charset-normalizer`"])
42-
docutils{{"`docutils`"}}
69+
docutils{{"`docutils >=0.20`"}}
4370
idna(["`idna`"])
4471
imagesize(["`imagesize`"])
45-
iniconfig(["`iniconfig`"])
46-
pathspec(["`pathspec`"])
47-
platformdirs(["`platformdirs`"])
48-
pluggy(["`pluggy`"])
4972
roman_numerals(["`roman-numerals`"])
50-
six(["`six`"])
5173
snowballstemmer(["`snowballstemmer`"])
5274
sphinxcontrib_applehelp(["`sphinxcontrib-applehelp`"])
5375
sphinxcontrib_devhelp(["`sphinxcontrib-devhelp`"])
@@ -56,12 +78,14 @@ flowchart LR
5678
sphinxcontrib_qthelp(["`sphinxcontrib-qthelp`"])
5779
sphinxcontrib_serializinghtml(["`sphinxcontrib-serializinghtml`"])
5880
urllib3(["`urllib3`"])
59-
watchdog(["`watchdog`"])
60-
hjson{{"`hjson`"}}
61-
json_with_comments{{"`json-with-comments`"}}
62-
json5{{"`json5`"}}
63-
tomlkit{{"`tomlkit`"}}
64-
xmltodict{{"`xmltodict`"}}
81+
end
82+
83+
subgraph ext_toml [--extra toml]
84+
tomlkit{{"`tomlkit >=0.13`"}}
85+
end
86+
87+
subgraph ext_xml [--extra xml]
88+
xmltodict{{"`xmltodict >=1`"}}
6589
end
6690

6791
click_extra ==>|" >=8.3.1 "| click_0
@@ -131,7 +155,15 @@ flowchart LR
131155
extra_platforms --> pytest
132156
tabulate --> wcwidth
133157
wcmatch --> bracex
134-
click_extra -.-> ext_all
158+
click_extra -.-> ext_carapace
159+
click_extra -.-> ext_hjson
160+
click_extra -.-> ext_json5
161+
click_extra -.-> ext_jsonc
162+
click_extra -.-> ext_mkdocs
163+
click_extra -.-> ext_pytest
164+
click_extra -.-> ext_sphinx
165+
click_extra -.-> ext_toml
166+
click_extra -.-> ext_xml
135167

136168
click alabaster "https://pypi.org/project/alabaster/" _blank
137169
click babel "https://pypi.org/project/babel/" _blank
@@ -217,4 +249,12 @@ flowchart LR
217249
style xmltodict stroke-width:3px
218250

219251
style primary-deps fill:#1565C020,stroke:#42A5F5
220-
style ext_all fill:#7B1FA220,stroke:#BA68C8
252+
style ext_carapace fill:#7B1FA220,stroke:#BA68C8
253+
style ext_hjson fill:#7B1FA220,stroke:#BA68C8
254+
style ext_json5 fill:#7B1FA220,stroke:#BA68C8
255+
style ext_jsonc fill:#7B1FA220,stroke:#BA68C8
256+
style ext_mkdocs fill:#7B1FA220,stroke:#BA68C8
257+
style ext_pytest fill:#7B1FA220,stroke:#BA68C8
258+
style ext_sphinx fill:#7B1FA220,stroke:#BA68C8
259+
style ext_toml fill:#7B1FA220,stroke:#BA68C8
260+
style ext_xml fill:#7B1FA220,stroke:#BA68C8

pyproject.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,10 @@ exclude = [
578578
[tool.repomatic]
579579
dependency-graph.all-extras = true
580580
dependency-graph.all-groups = false
581+
# Skip the aggregate `all` extra: its closure is the union of every other
582+
# extra, so left in the graph it greedily claims all optional packages into a
583+
# single `--extra all` box and the per-extra subgraphs render empty.
584+
dependency-graph.no-extras = [ "all" ]
581585
exclude = [ "skills", "workflows/debug.yaml" ]
582586
# Render the Click command tree as roff `.1` files and attach a
583587
# `click-extra-manpages.tar.gz` asset to every GitHub release. The script

0 commit comments

Comments
 (0)