pyhf icon indicating copy to clipboard operation
pyhf copied to clipboard

Click v8.2.X breaks docs build with unexpected keyword argument 'ctx'

Open matthewfeickert opened this issue 2 months ago • 2 comments

For click v8.1.8

https://github.com/scikit-hep/pyhf/blob/c30e3376e7aeaff1499a6510adbfa3feb469f377/.github/workflows/docs.yml#L76-L77

runs successfully, but for click v8.2.0+

cd docs
uv pip install --upgrade 'click<8.2.1' && make clean && make html

it fails with

updating environment: [new config] 165 added, 0 changed, 0 removed
reading sources... [ 76%] cli
Exception occurred:
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/click/core.py", line 3075, in make_metavar
    var = self.type.get_metavar(param=self, ctx=ctx)
TypeError: DocumentedChoice.get_metavar() got an unexpected keyword argument 'ctx'
The full traceback has been saved in /tmp/sphinx-err-q7wbz8va.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
make: *** [Makefile:57: html] Error 2
$ uv pip show click
Using Python 3.13.6 environment at: /home/feickert/Code/GitHub/scikit-hep/pyhf/.venv
Name: click
Version: 8.2.0
Location: /home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages
Requires:
Required-by: click-completion, papermill, pyhf, sphinx-click

where the full traceback mentioned in the logs is

Traceback

# Platform:         linux; (Linux-6.8.0-79-generic-x86_64-with-glibc2.39)
# Sphinx version:   8.1.3
# Python version:   3.13.6 (CPython)
# Docutils version: 0.21.2
# Jinja2 version:   3.1.6
# Pygments version: 2.19.2

# Last messages:
#   babel
#   
#   
#   reading sources... [ 76%]
#   citations
#   
#   
#   reading sources... [ 76%]
#   cli
#   

# Loaded extensions:
#   sphinx.ext.mathjax (8.1.3)
#   alabaster (1.0.0)
#   sphinxcontrib.applehelp (2.0.0)
#   sphinxcontrib.devhelp (2.0.0)
#   sphinxcontrib.htmlhelp (2.1.0)
#   sphinxcontrib.serializinghtml (2.0.0)
#   sphinxcontrib.qthelp (2.0.0)
#   sphinx.ext.autodoc.preserve_defaults (8.1.3)
#   sphinx.ext.autodoc.type_comment (8.1.3)
#   sphinx.ext.autodoc.typehints (8.1.3)
#   sphinx.ext.autodoc (8.1.3)
#   sphinx.ext.autosummary (8.1.3)
#   sphinx.ext.coverage (8.1.3)
#   sphinx.ext.ifconfig (8.1.3)
#   sphinx.ext.viewcode (8.1.3)
#   sphinx.ext.githubpages (8.1.3)
#   sphinx.ext.intersphinx (8.1.3)
#   sphinxcontrib.bibtex (2.6.5)
#   sphinx.ext.napoleon (8.1.3)
#   sphinx_click.ext (unknown version)
#   nbsphinx (0.9.7)
#   sphinx_issues (5.0.1)
#   sphinx_copybutton (0.5.2)
#   xref (unknown version)
#   jupyterlite_sphinx (unknown version)
#   pydata_sphinx_theme (unknown version)

# Traceback:
Traceback (most recent call last):
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx/cmd/build.py", line 514, in build_main
    app.build(args.force_all, args.filenames)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx/application.py", line 381, in build
    self.builder.build_update()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 358, in build_update
    self.build(
    ~~~~~~~~~~^
        to_build,
        ^^^^^^^^^
        summary=__('targets for %d source files that are out of date')
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        % len(to_build),
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 385, in build
    updated_docnames = set(self.read())
                           ~~~~~~~~~^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 502, in read
    self._read_serial(docnames)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 567, in _read_serial
    self.read_doc(docname)
    ~~~~~~~~~~~~~^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 630, in read_doc
    publisher.publish()
    ~~~~~~~~~~~~~~~~~^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/core.py", line 234, in publish
    self.document = self.reader.read(self.source, self.parser,
                    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
                                     self.settings)
                                     ^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx/io.py", line 106, in read
    self.parse()
    ~~~~~~~~~~^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/readers/__init__.py", line 76, in parse
    self.parser.parse(self.input, document)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx/parsers.py", line 85, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 169, in run
    results = StateMachineWS.run(self, input_lines, input_offset,
                                 input_source=document['source'])
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
                                  ~~~~~~~~~~~~~~~^
        context, state, transitions)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2790, in underline
    self.section(title, source, style, lineno - 1, messages)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 325, in section
    self.new_subsection(title, lineno, messages)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 391, in new_subsection
    newabsoffset = self.nested_parse(
          self.state_machine.input_lines[offset:], input_offset=absoffset,
          node=section_node, match_titles=True)
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 279, in nested_parse
    state_machine.run(block, input_offset, memo=self.memo,
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                      node=node, match_titles=match_titles)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 195, in run
    results = StateMachineWS.run(self, input_lines, input_offset)
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/statemachine.py", line 233, in run
    context, next_state, result = self.check_line(
                                  ~~~~~~~~~~~~~~~^
        context, state, transitions)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/statemachine.py", line 445, in check_line
    return method(match, context, next_state)
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2357, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
                             ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2369, in explicit_construct
    return method(self, expmatch)
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2106, in directive
    return self.run_directive(
           ~~~~~~~~~~~~~~~~~~^
        directive_class, match, type_name, option_presets)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2156, in run_directive
    result = directive_instance.run()
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx_click/ext.py", line 590, in run
    return self._generate_nodes(prog_name, command, None, nested, commands)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx_click/ext.py", line 553, in _generate_nodes
    self._generate_nodes(
    ~~~~~~~~~~~~~~~~~~~~^
        command.name, command, parent=parent, nested=nested
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx_click/ext.py", line 528, in _generate_nodes
    for line in lines:
                ^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx_click/ext.py", line 361, in _format_command
    for line in _format_usage(ctx):
                ~~~~~~~~~~~~~^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx_click/ext.py", line 43, in process_lines
    lines = list(func(ctx))
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx_click/ext.py", line 174, in _format_usage
    for line in _get_usage(ctx).splitlines():
                ~~~~~~~~~~^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/sphinx_click/ext.py", line 67, in _get_usage
    pieces = ctx.command.collect_usage_pieces(ctx)
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/click/core.py", line 1012, in collect_usage_pieces
    rv.extend(param.get_usage_pieces(ctx))
              ~~~~~~~~~~~~~~~~~~~~~~^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/click/core.py", line 3104, in get_usage_pieces
    return [self.make_metavar(ctx)]
            ~~~~~~~~~~~~~~~~~^^^^^
  File "/home/feickert/Code/GitHub/scikit-hep/pyhf/.venv/lib/python3.13/site-packages/click/core.py", line 3075, in make_metavar
    var = self.type.get_metavar(param=self, ctx=ctx)
TypeError: DocumentedChoice.get_metavar() got an unexpected keyword argument 'ctx'

matthewfeickert avatar Oct 14 '25 08:10 matthewfeickert

The last working build of the docs on CI had the environment of

Package                       Version
----------------------------- --------------
accessible-pygments           0.0.5
aiohappyeyeballs              2.6.1
aiohttp                       3.13.0
aiosignal                     1.4.0
alabaster                     1.0.0
ansicolors                    1.1.8
anyio                         4.11.0
argcomplete                   3.6.2
argon2-cffi                   25.1.0
argon2-cffi-bindings          25.1.0
arrow                         1.3.0
asttokens                     3.0.0
async-lru                     2.0.5
attrs                         25.4.0
awkward                       2.8.9
awkward_cpp                   50
babel                         2.17.0
beautifulsoup4                4.14.2
bleach                        6.2.0
certifi                       2025.10.5
cffi                          2.0.0
charset-normalizer            3.4.3
click                         8.3.0
cloudpickle                   3.1.1
comm                          0.2.3
contourpy                     1.3.3
coverage                      7.10.7
cramjam                       2.11.0
cycler                        0.12.1
debugpy                       1.8.17
decorator                     5.2.1
defusedxml                    0.7.1
docutils                      0.21.2
doit                          0.36.0
entrypoints                   0.4
executing                     2.2.1
fastjsonschema                2.21.2
fonttools                     4.60.1
fqdn                          1.5.1
frozenlist                    1.8.0
fsspec                        2025.9.0
graphviz                      0.21
h11                           0.16.0
httpcore                      1.0.9
httpx                         0.28.1
idna                          3.10
imagesize                     1.4.1
importlib_metadata            8.7.0
iniconfig                     2.1.0
intersphinx_registry          0.2510.5
ipykernel                     6.30.1
ipympl                        0.9.7
ipython                       9.6.0
ipython_pygments_lexers       1.1.1
ipywidgets                    8.1.7
isoduration                   20.11.0
jedi                          0.19.2
Jinja2                        3.1.6
json5                         0.12.1
jsonpatch                     1.33
jsonpointer                   3.0.0
jsonschema                    4.25.1
jsonschema-specifications     2025.9.1
jupyter_client                8.6.3
jupyter_core                  5.8.1
jupyter-events                0.12.0
jupyter-lsp                   2.3.0
jupyter_server                2.17.0
jupyter_server_terminals      0.5.3
jupyterlab                    4.4.9
jupyterlab_pygments           0.3.0
jupyterlab_server             2.27.3
jupyterlab_widgets            3.0.15
jupyterlite-core              0.6.4
jupyterlite-pyodide-kernel    0.6.1
jupyterlite-sphinx            0.22.0
jupytext                      1.17.3
kiwisolver                    1.4.9
lark                          1.3.0
latexcodec                    3.0.1
markdown-it-py                4.0.0
MarkupSafe                    3.0.3
matplotlib                    3.10.6
matplotlib-inline             0.1.7
mdit-py-plugins               0.5.0
mdurl                         0.1.2
mistune                       3.1.4
multidict                     6.7.0
nbclient                      0.10.2
nbconvert                     7.16.6
nbformat                      5.10.4
nbsphinx                      0.9.7
nest-asyncio                  1.6.0
notebook                      7.4.7
notebook_shim                 0.2.4
numpy                         2.3.3
packaging                     25.0
pandas                        2.3.3
pandocfilters                 1.5.1
papermill                     2.6.0
parso                         0.8.5
pexpect                       4.9.0
pillow                        11.3.0
pip                           25.2
pkginfo                       1.12.1.2
platformdirs                  4.4.0
pluggy                        1.6.0
prometheus_client             0.23.1
prompt_toolkit                3.0.52
propcache                     0.4.0
psutil                        7.1.0
ptyprocess                    0.7.0
pure_eval                     0.2.3
py-cpuinfo                    9.0.0
pyarrow                       21.0.0
pybtex                        0.25.1
pybtex-docutils               1.0.3
pycparser                     2.23
pydata-sphinx-theme           0.16.1
pydocstyle                    6.3.0
pygal                         3.0.5
pygaljs                       1.0.2
Pygments                      2.19.2
pyhf                          0.7.1.dev294
pyparsing                     3.2.5
pytest                        8.4.2
pytest-benchmark              5.1.0
pytest-console-scripts        1.4.1
pytest-mock                   3.15.1
pytest-mpl                    0.17.0
pytest-socket                 0.7.0
python-dateutil               2.9.0.post0
python-json-logger            4.0.0
pytz                          2025.2
PyYAML                        6.0.3
pyzmq                         27.1.0
referencing                   0.36.2
requests                      2.32.5
requests-mock                 1.12.1
rfc3339-validator             0.1.4
rfc3986-validator             0.1.1
rfc3987-syntax                1.1.0
rpds-py                       0.27.1
scikit_hep_testdata           0.5.8
scipy                         1.15.3
scrapbook                     0.5.0
Send2Trash                    1.8.3
setuptools                    80.9.0
six                           1.17.0
sniffio                       1.3.1
snowballstemmer               3.0.1
soupsieve                     2.8
Sphinx                        8.1.3
sphinx-click                  6.1.0
sphinx-copybutton             0.5.2
sphinx-issues                 5.0.1
sphinxcontrib-applehelp       2.0.0
sphinxcontrib-bibtex          2.6.5
sphinxcontrib-devhelp         2.0.0
sphinxcontrib-htmlhelp        2.1.0
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          2.0.0
sphinxcontrib-serializinghtml 2.0.0
stack-data                    0.6.3
tenacity                      9.1.2
terminado                     0.18.1
tinycss2                      1.4.0
tomlkit                       0.13.3
tornado                       6.5.2
tqdm                          4.67.1
traitlets                     5.14.3
types-python-dateutil         2.9.0.20250822
typing_extensions             4.15.0
tzdata                        2025.2
uproot                        5.6.6
uri-template                  1.3.0
urllib3                       2.5.0
uv                            0.8.24
wcwidth                       0.2.14
webcolors                     24.11.1
webencodings                  0.5.1
websocket-client              1.8.0
widgetsnbextension            4.0.14
xmltodict                     1.0.2
xxhash                        3.6.0
yarl                          1.22.0
yq                            3.4.3
zipp                          3.23.0

with

$ grep click
click                         8.3.0
sphinx-click                  6.1.0
$ grep 'sphinx\|Sphinx'
intersphinx_registry          0.2510.5
jupyterlite-sphinx            0.22.0
nbsphinx                      0.9.7
pydata-sphinx-theme           0.16.1
Sphinx                        8.1.3
sphinx-click                  6.1.0
sphinx-copybutton             0.5.2
sphinx-issues                 5.0.1
sphinxcontrib-applehelp       2.0.0
sphinxcontrib-bibtex          2.6.5
sphinxcontrib-devhelp         2.0.0
sphinxcontrib-htmlhelp        2.1.0
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          2.0.0
sphinxcontrib-serializinghtml 2.0.0

matthewfeickert avatar Oct 14 '25 09:10 matthewfeickert

Seems like maybe a bit of a non-issue given that if a seperate docs environment is made with

uv pip install --upgrade ".[docs,test]"

then things build as expected with

$ uv pip list
Using Python 3.13.7 environment at: .docs
Package                       Version
----------------------------- --------------
accessible-pygments           0.0.5
alabaster                     1.0.0
ansicolors                    1.1.8
anyio                         4.11.0
argon2-cffi                   25.1.0
argon2-cffi-bindings          25.1.0
arrow                         1.3.0
asttokens                     3.0.0
async-lru                     2.0.5
attrs                         25.4.0
awkward                       2.8.9
awkward-cpp                   50
babel                         2.17.0
beautifulsoup4                4.14.2
bleach                        6.2.0
certifi                       2025.10.5
cffi                          2.0.0
charset-normalizer            3.4.4
click                         8.3.0
cloudpickle                   3.1.1
comm                          0.2.3
contourpy                     1.3.3
coverage                      7.10.7
cramjam                       2.11.0
cycler                        0.12.1
debugpy                       1.8.17
decorator                     5.2.1
defusedxml                    0.7.1
docutils                      0.21.2
doit                          0.36.0
entrypoints                   0.4
executing                     2.2.1
fastjsonschema                2.21.2
fonttools                     4.60.1
fqdn                          1.5.1
fsspec                        2025.9.0
graphviz                      0.21
h11                           0.16.0
httpcore                      1.0.9
httpx                         0.28.1
idna                          3.11
imagesize                     1.4.1
importlib-metadata            8.7.0
iniconfig                     2.1.0
intersphinx-registry          0.2510.9
ipykernel                     7.0.0
ipympl                        0.9.8
ipython                       9.6.0
ipython-pygments-lexers       1.1.1
ipywidgets                    8.1.7
isoduration                   20.11.0
jedi                          0.19.2
jinja2                        3.1.6
json5                         0.12.1
jsonpatch                     1.33
jsonpointer                   3.0.0
jsonschema                    4.25.1
jsonschema-specifications     2025.9.1
jupyter-client                8.6.3
jupyter-core                  5.8.1
jupyter-events                0.12.0
jupyter-lsp                   2.3.0
jupyter-server                2.17.0
jupyter-server-terminals      0.5.3
jupyterlab                    4.4.9
jupyterlab-pygments           0.3.0
jupyterlab-server             2.27.3
jupyterlab-widgets            3.0.15
jupyterlite-core              0.6.4
jupyterlite-pyodide-kernel    0.6.1
jupyterlite-sphinx            0.22.0
jupytext                      1.17.3
kiwisolver                    1.4.9
lark                          1.3.0
latexcodec                    3.0.1
markdown-it-py                4.0.0
markupsafe                    3.0.3
matplotlib                    3.10.7
matplotlib-inline             0.1.7
mdit-py-plugins               0.5.0
mdurl                         0.1.2
mistune                       3.1.4
nbclient                      0.10.2
nbconvert                     7.16.6
nbformat                      5.10.4
nbsphinx                      0.9.7
nest-asyncio                  1.6.0
notebook                      7.4.7
notebook-shim                 0.2.4
numpy                         2.3.3
packaging                     25.0
pandas                        2.3.3
pandocfilters                 1.5.1
papermill                     2.6.0
parso                         0.8.5
pexpect                       4.9.0
pillow                        11.3.0
pkginfo                       1.12.1.2
platformdirs                  4.5.0
pluggy                        1.6.0
prometheus-client             0.23.1
prompt-toolkit                3.0.52
psutil                        7.1.0
ptyprocess                    0.7.0
pure-eval                     0.2.3
py-cpuinfo                    9.0.0
pyarrow                       21.0.0
pybtex                        0.25.1
pybtex-docutils               1.0.3
pycparser                     2.23
pydata-sphinx-theme           0.16.1
pydocstyle                    6.3.0
pygal                         3.0.5
pygaljs                       1.0.2
pygments                      2.19.2
pyhf                          0.7.1.dev294
pyparsing                     3.2.5
pytest                        8.4.2
pytest-benchmark              5.1.0
pytest-console-scripts        1.4.1
pytest-mock                   3.15.1
pytest-mpl                    0.17.0
pytest-socket                 0.7.0
python-dateutil               2.9.0.post0
python-json-logger            4.0.0
pytz                          2025.2
pyyaml                        6.0.3
pyzmq                         27.1.0
referencing                   0.37.0
requests                      2.32.5
requests-mock                 1.12.1
rfc3339-validator             0.1.4
rfc3986-validator             0.1.1
rfc3987-syntax                1.1.0
rpds-py                       0.27.1
scikit-hep-testdata           0.5.8
scipy                         1.15.3
scrapbook                     0.5.0
send2trash                    1.8.3
setuptools                    80.9.0
six                           1.17.0
sniffio                       1.3.1
snowballstemmer               3.0.1
soupsieve                     2.8
sphinx                        8.1.3
sphinx-click                  6.1.0
sphinx-copybutton             0.5.2
sphinx-issues                 5.0.1
sphinxcontrib-applehelp       2.0.0
sphinxcontrib-bibtex          2.6.5
sphinxcontrib-devhelp         2.0.0
sphinxcontrib-htmlhelp        2.1.0
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          2.0.0
sphinxcontrib-serializinghtml 2.0.0
stack-data                    0.6.3
tenacity                      9.1.2
terminado                     0.18.1
tinycss2                      1.4.0
tornado                       6.5.2
tqdm                          4.67.1
traitlets                     5.14.3
types-python-dateutil         2.9.0.20251008
typing-extensions             4.15.0
tzdata                        2025.2
uproot                        5.6.6
uri-template                  1.3.0
urllib3                       2.5.0
wcwidth                       0.2.14
webcolors                     24.11.1
webencodings                  0.5.1
websocket-client              1.9.0
widgetsnbextension            4.0.14
xxhash                        3.6.0
zipp                          3.23.0

with

$ uv pip list | grep 'click'
click                         8.3.0
sphinx-click                  6.1.0
$ uv pip list | grep 'sphinx\|Sphinx'
intersphinx-registry          0.2510.9
jupyterlite-sphinx            0.22.0
nbsphinx                      0.9.7
pydata-sphinx-theme           0.16.1
sphinx                        8.1.3
sphinx-click                  6.1.0
sphinx-copybutton             0.5.2
sphinx-issues                 5.0.1
sphinxcontrib-applehelp       2.0.0
sphinxcontrib-bibtex          2.6.5
sphinxcontrib-devhelp         2.0.0
sphinxcontrib-htmlhelp        2.1.0
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          2.0.0
sphinxcontrib-serializinghtml 2.0.0

matthewfeickert avatar Oct 14 '25 09:10 matthewfeickert