Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-sphinx-click for 
openSUSE:Factory checked in at 2026-03-25 21:20:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinx-click (Old)
 and      /work/SRC/openSUSE:Factory/.python-sphinx-click.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-sphinx-click"

Wed Mar 25 21:20:07 2026 rev:8 rq:1342407 version:6.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sphinx-click/python-sphinx-click.changes  
2024-07-01 11:23:07.217058358 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-sphinx-click.new.8177/python-sphinx-click.changes
        2026-03-27 06:49:08.537069646 +0100
@@ -1,0 +2,10 @@
+Wed Mar 25 08:49:39 UTC 2026 - Dirk Müller <[email protected]>
+
+ - update to 6.2.0:
+  * Update dependencies based on pyproject.toml:
+    + Update python-devel to >= 3.10
+    + Add BuildRequires: setuptools >= 80, setuptools_scm >= 8
+    + Add BuildRequires: click >= 8.0, sphinx >= 4.0, docutils
+    + Remove BuildRequires: pbr (no longer used)
+
+-------------------------------------------------------------------

Old:
----
  sphinx_click-6.0.0.tar.gz

New:
----
  sphinx_click-6.2.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-sphinx-click.spec ++++++
--- /var/tmp/diff_new_pack.QiNlfv/_old  2026-03-27 06:49:09.077091884 +0100
+++ /var/tmp/diff_new_pack.QiNlfv/_new  2026-03-27 06:49:09.077091884 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-sphinx-click
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,15 +18,19 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-sphinx-click
-Version:        6.0.0
+Version:        6.2.0
 Release:        0
 Summary:        Sphinx extension that automatically documents click 
applications
 License:        MIT
 URL:            https://github.com/stephenfin/sphinx-click
 Source:         
https://files.pythonhosted.org/packages/source/s/sphinx_click/sphinx_click-%{version}.tar.gz
-BuildRequires:  %{python_module devel >= 3.8}
-BuildRequires:  %{python_module pbr}
+BuildRequires:  %{python_module Sphinx >= 4.0}
+BuildRequires:  %{python_module click >= 8.0}
+BuildRequires:  %{python_module devel >= 3.10}
+BuildRequires:  %{python_module docutils}
 BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module setuptools >= 80}
+BuildRequires:  %{python_module setuptools_scm >= 8}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros

++++++ sphinx_click-6.0.0.tar.gz -> sphinx_click-6.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/.github/workflows/ci.yaml 
new/sphinx_click-6.2.0/.github/workflows/ci.yaml
--- old/sphinx_click-6.0.0/.github/workflows/ci.yaml    2024-05-15 
16:49:06.000000000 +0200
+++ new/sphinx_click-6.2.0/.github/workflows/ci.yaml    2025-12-04 
20:32:45.000000000 +0100
@@ -9,11 +9,11 @@
     runs-on: ubuntu-latest
     steps:
       - name: Checkout source code
-        uses: actions/checkout@v3
-      - name: Set up Python 3.12
-        uses: actions/setup-python@v4
+        uses: actions/checkout@v5
+      - name: Set up Python 3.13
+        uses: actions/setup-python@v5
         with:
-          python-version: "3.12"
+          python-version: "3.13"
       - name: Install dependencies
         run: python -m pip install tox
       - name: Run tox
@@ -23,15 +23,15 @@
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        python: ["3.8", "3.9", "3.10", "3.11", "3.12"]
+        python: ["3.10", "3.11", "3.12", "3.13"]
     steps:
       - name: Checkout source code
-        uses: actions/checkout@v3
+        uses: actions/checkout@v5
         # We need history to build the package
         with:
           fetch-depth: 0
       - name: Set up Python ${{ matrix.python }}
-        uses: actions/setup-python@v4
+        uses: actions/setup-python@v5
         with:
           python-version: ${{ matrix.python }}
       - name: Install dependencies
@@ -43,20 +43,20 @@
     runs-on: ubuntu-latest
     steps:
       - name: Checkout source code
-        uses: actions/checkout@v3
+        uses: actions/checkout@v5
         # We need history for release notes
         with:
           fetch-depth: 0
-      - name: Set up Python 3.12
-        uses: actions/setup-python@v4
+      - name: Set up Python 3.13
+        uses: actions/setup-python@v5
         with:
-          python-version: "3.12"
+          python-version: "3.13"
       - name: Install dependencies
         run: python -m pip install tox
       - name: Build docs (via tox)
         run: tox -e docs
       - name: Archive build results
-        uses: actions/upload-artifact@v3
+        uses: actions/upload-artifact@v4
         with:
           name: html-docs-build
           path: docs/_build/html
@@ -66,22 +66,25 @@
     runs-on: ubuntu-latest
     needs: test
     if: github.event_name == 'push'
+    environment:
+      name: pypi
+      url: https://pypi.org/p/sphinx-click
+    permissions:
+      id-token: write
     steps:
       - name: Checkout source code
-        uses: actions/checkout@v3
+        uses: actions/checkout@v5
         # We need history to build the package
         with:
           fetch-depth: 0
-      - name: Set up Python 3.12
-        uses: actions/setup-python@v4
+      - name: Set up Python 3.13
+        uses: actions/setup-python@v5
         with:
-          python-version: "3.12"
+          python-version: "3.13"
       - name: Install dependencies
         run: python -m pip install build
       - name: Build a binary wheel and a source tarball
         run: python -m build --sdist --wheel --outdir dist/ .
       - name: Publish distribution to PyPI
         if: startsWith(github.ref, 'refs/tags')
-        uses: pypa/gh-action-pypi-publish@master
-        with:
-          password: ${{ secrets.PYPI_API_TOKEN }}
+        uses: pypa/gh-action-pypi-publish@release/v1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/.gitignore 
new/sphinx_click-6.2.0/.gitignore
--- old/sphinx_click-6.0.0/.gitignore   1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx_click-6.2.0/.gitignore   2025-12-04 20:32:45.000000000 +0100
@@ -0,0 +1,70 @@
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# Distribution / packaging
+.Python
+env/
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+*.egg-info/
+.installed.cfg
+*.egg
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*,cover
+.hypothesis/
+
+# Translations
+*.mo
+*.pot
+
+# Sphinx documentation
+docs/_build/
+
+# reno
+RELEASENOTES.rst
+releasenotes/notes/reno.cache
+
+# pbr
+AUTHORS
+ChangeLog
+
+# virtualenv
+/.venv
+
+# vim
+*.swp
+
+# Intellij
+.idea
+
+# VSCode
+.vscode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/.pre-commit-config.yaml 
new/sphinx_click-6.2.0/.pre-commit-config.yaml
--- old/sphinx_click-6.0.0/.pre-commit-config.yaml      2024-05-15 
16:49:06.000000000 +0200
+++ new/sphinx_click-6.2.0/.pre-commit-config.yaml      2025-12-04 
20:32:45.000000000 +0100
@@ -1,21 +1,13 @@
 # See https://pre-commit.com for more information
-# See https://pre-commit.com/hooks.html for more hooks
 ---
-default_language_version:
-  # force all unspecified python hooks to run python3
-  python: python3
 repos:
-  - repo: https://github.com/ambv/black
-    rev: 23.7.0
-    hooks:
-      - id: black
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.4.0
+    rev: v6.0.0
     hooks:
       - id: trailing-whitespace
       - id: mixed-line-ending
         args: ['--fix', 'lf']
-      - id: check-byte-order-marker
+      - id: fix-byte-order-marker
       - id: check-executables-have-shebangs
       - id: check-merge-conflict
       - id: debug-statements
@@ -23,12 +15,13 @@
       - id: check-yaml
         files: .*\.(yaml|yml)$
       - id: check-added-large-files
-  - repo: https://github.com/pycqa/flake8
-    rev: 6.1.0
+  - repo: https://github.com/astral-sh/ruff-pre-commit
+    rev: v0.13.0
     hooks:
-      - id: flake8
+      - id: ruff
+      - id: ruff-format
   - repo: https://github.com/pre-commit/mirrors-mypy
-    rev: v1.4.1
+    rev: v1.17.1
     hooks:
       - id: mypy
         additional_dependencies:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/.readthedocs.yaml 
new/sphinx_click-6.2.0/.readthedocs.yaml
--- old/sphinx_click-6.0.0/.readthedocs.yaml    2024-05-15 16:49:06.000000000 
+0200
+++ new/sphinx_click-6.2.0/.readthedocs.yaml    2025-12-04 20:32:45.000000000 
+0100
@@ -4,12 +4,15 @@
   install:
     - method: pip
       path: .
+      extra_requirements:
+        - docs
 sphinx:
   builder: "dirhtml"
+  configuration: "docs/conf.py"
 build:
-  os: "ubuntu-22.04"
+  os: "ubuntu-24.04"
   tools:
-    python: "3.11"
+    python: "3.13"
   jobs:
     post_checkout:
       - git fetch --unshallow
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/AUTHORS 
new/sphinx_click-6.2.0/AUTHORS
--- old/sphinx_click-6.0.0/AUTHORS      2024-05-15 16:49:10.000000000 +0200
+++ new/sphinx_click-6.2.0/AUTHORS      1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-A Wegner <[email protected]>
-Adam Dangoor <[email protected]>
-Adam Liddell <[email protected]>
-Ahmed Masud <[email protected]>
-AlexTereshenkov <[email protected]>
-Andreas Eisenbarth <[email protected]>
-Andy Wegner <[email protected]>
-Arie Bovenberg <[email protected]>
-Giel van Schijndel <[email protected]>
-Giel van Schijndel <[email protected]>
-Hood Chatham <[email protected]>
-Hugo Osvaldo Barrera <[email protected]>
-James Ennis <[email protected]>
-Jared Dillard <[email protected]>
-JeremyB <[email protected]>
-Jiri Kuncar <[email protected]>
-José Sánchez-Gallego <[email protected]>
-Kevin Deldycke <[email protected]>
-Lev Gorodetskiy <[email protected]>
-Maarten ter Huurne <[email protected]>
-Miro Hrončok <[email protected]>
-Omer Cohen <[email protected]>
-Patrik.Hlobil <[email protected]>
-Phillip Smyth <[email protected]>
-Régis Behmo <[email protected]>
-Stephen Finucane <[email protected]>
-Tim Abramson <[email protected]>
-William Jamir Silva <[email protected]>
-coloursofnoise <[email protected]>
-frostming <[email protected]>
-jtrakk <[email protected]>
-oleg.hoefling <[email protected]>
-pdmurray <[email protected]>
-tomMoral <[email protected]>
-u-shiori <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/ChangeLog 
new/sphinx_click-6.2.0/ChangeLog
--- old/sphinx_click-6.0.0/ChangeLog    2024-05-15 16:49:10.000000000 +0200
+++ new/sphinx_click-6.2.0/ChangeLog    1970-01-01 01:00:00.000000000 +0100
@@ -1,343 +0,0 @@
-CHANGES
-=======
-
-6.0.0
------
-
-* FIX Format string defaults correctly
-* Remove errant prints
-* Drop support for click 7.x, Sphinx < 5.x
-* readthedocs: Use dirhtml builder
-
-5.2.1
------
-
-* docs: Add discrete mocking section
-* actions: Integrate tox-gh-actions
-* Distinguish between click and asyncclick
-* tests: Set maxDiff
-* Skip test with click 7.x
-* FIX If the \`help\` of an argument is \`None\`, don't fail
-* Add defusedxml to tox deps
-* Add defusedxml as test requirement
-* typing: Remove unused ignore
-* Add readthedocs config file
-
-5.2.0
------
-
-* Fix show\_default with context\_settings
-* tests: Add tests for 'commands' option
-* Add support, testing for Python 3.12
-* Add release note for typer arg help text feature
-* Interpret help for arguments
-* typing: Update for latest types-docutils
-
-5.1.0
------
-
-* tox: Remove py37 entries
-* Add support for mocking modules
-* docs: Fix indentation
-* setup: Add Sphinx classifier
-
-5.0.1
------
-
-* Fix compatibility with Sphinx 7.2.x
-
-5.0.0
------
-
-* Add release note for events support
-* Process events (#126)
-* Add release note for end of Python 3.7 support
-* setup.cfg: Add click keyword
-* Drop Python 3.7 support
-* tox: Use pre-commit for 'style' target
-* mypy: Follow imports
-* pre-commit: Enable black
-* pre-commit: Version bumps
-* examples: Add typing info
-* Typo
-
-4.4.0
------
-
-* Add release note for Python 3.11 support
-* actions: Test Python 3.11
-* Points to alternative to complement Click-based CLI documentation
-* Add Sphinx extension classifier
-* Add pull request template
-* Trivial setup.py, setup.cfg changes
-* Render option defaults as literals
-* Change target Python version used for black
-* actions: Update to latest versions of actions
-* Use deep clone for GitHub actions
-* docs: Add more examples
-* tests: Add more application tests
-* Add our first "extension" test
-* Switch to pytest for testing
-* Run mypy as part of CI job
-
-4.3.0
------
-
-* Fix typo
-* Add release note for auto\_envvar\_prefix support
-* add functionality to also render env-variables that are created via the 
'auto\_envvar\_prefix' option
-
-4.2.0
------
-
-* Extend pre-wrapped text support to options
-* tests: Use Command tests, not Group tests
-* tests: Add test for boolean options
-
-4.1.0
------
-
-* docs: Don't recommend using 'setup.py'
-* docs: Indicate support for asyncclick
-* asyncclick target
-* docs: Remove 'language' configuration
-* docs: Add root directory to PATH for docs build
-* docs: Remove noise from conf.py
-* tox: Enable nitpicky mode for docs builds
-
-4.0.3
------
-
-* Correct 'get\_command' argument type error
-
-4.0.2
------
-
-* Correctly ignore empty 'commands' parameter
-
-4.0.1
------
-
-* docs: Correct typo
-* Configure mypy
-* Add typing hints
-* Pass Context, not self, to MultiCommand
-* Add test for truncation
-
-4.0.0
------
-
-* Add Python 3.10 support, drop Python 3.6 support
-* Uncap coverage, remove test-requirements.txt
-* Update pre-commit hooks
-* Add support for click 8.1.x
-* setup: Update URL
-
-3.1.0
------
-
-* Display 'show\_default' string even when 'default=None'
-* docs: Improve information on cross-referencing
-* docs: Update URLs
-* setup: Switch from hyphens to underscores
-
-3.0.3
------
-
-* Handle iterables of iterables as default values
-* tests: Move tests to correct TestCase
-* Deduplicate help block formatting code
-* Add support for wrapping suppression using \`\b\` in epilogs
-* tox: Allow us to specify a test
-* tox: Remove Travis remnants
-* pre-commit: Update requirements
-* Switch to GitHub Actions
-
-3.0.2
------
-
-* Enable parallel modes
-* Return sphinx extension options
-
-3.0.1
------
-
-* Update requirements.txt
-* travis: Drop pypy testing
-* travis: Fix config
-
-3.0.0
------
-
-* Drop Sphinx, click version caps
-* Drop Python 2.7, click 6 support
-* support sphinx==4.0
-
-2.7.1
------
-
-* Strip ANSI escape codes
-
-2.7.0
------
-
-* Strip ANSI escape codes
-* Support numeric choices
-* Fix black issues
-
-2.6.0
------
-
-* Don't require pbr on runtime
-* Explicitly add used requires
-* CLN typos and nitpicks
-* TST formater for CommandCollection with != nesting
-* DOC add basic example with CommandCollection
-* ENH allow for grouped documentation with CommandCollection
-* add whitespace to option choice separator to allow wrapping
-
-2.5.0
------
-
-* Make show-nested more granualar
-* Add support for epilogs
-* Support 'metavar'
-* Prettier formatting of detailed opt information
-* Allow extension to be used as simply 'sphinx\_click'
-* trivial: Separate imports
-
-2.4.0
------
-
-* tests: Add docstrings
-* Use 'nested\_parse\_with\_titles'
-* Switch to black
-
-2.3.2
------
-
-* requirements: Add support for Sphinx 3.x
-
-2.3.1
------
-
-* Make sphinx version in sync with the conda package
-* Fixed sphinx version in requirements.txt (#52)
-
-2.3.0
------
-
-* improvement: remove the excessive comma in list.append() function call
-* improvement: describe when and why show\_default can be a string
-* fix: when 'show\_default' is a string use it as the default description
-* trivial: Unify 'hidden' checks
-* Don't show hidden commands in toctree
-* trivial: Black fixups
-* Drop support for Python 3.4
-
-2.2.0
------
-
-* Add pre-commit support
-* Misc formatting fixes
-* Add instruction to usage docs to enable extension (#45)
-* Change display format to pull options out of in line help text
-* Add click.Choice options to help text
-* Update sphinx supported version
-
-2.1.0
------
-
-* Support and test Sphinx 2 and Python 3.7
-
-2.0.1
------
-
-* Do not show hidden subcommands as valid command options
-
-2.0.0
------
-
-* Misc formatting fixes
-* Remove use of 'build\_sphinx'
-* README: Add docs badge
-* Ignore hidden commands
-* Start testing Click 7.x, drop support for 5.x
-* Fix compatibility with Click 7.0
-
-1.4.1
------
-
-* Use unique anchors for envvars
-* Log output
-* README: Add Travis badge
-
-1.4.0
------
-
-* Use unique identifiers for envvars
-* travis: Update PyPI password
-* Add tests for disabled line rewrapping
-* Updated implementation of philipstarkey's fix
-* Revert "tox: Start testing Python 3.7"
-* tox: Start testing Python 3.7
-* doc: Document how cross-referencing works
-* travis: Use travis to publish packages
-* tox: Add pypy testing
-* travis: Reformat file using travis linter
-
-1.3.0
------
-
-* docs: Expand on what a "click object" is
-* Check type of object to document
-* trivial: Fix formatting issues
-* tox: Apply style changes
-
-1.2.0
------
-
-* tests: Add tests for MultiCommand
-* Support lazyload commands
-
-1.1.0
------
-
-* Use short\_help if help is absent
-* trivial: style target for Tox
-* Improved code style using Yapf and ISort
-* travis: Add basic configuration
-* trivial: Fix broken pep8 target
-* Add :commands: option for click directive
-
-1.0.4
------
-
-* Provide more context for import errors
-
-1.0.3
------
-
-* Fix Sphinx 1.7 compatibility
-* Fix unicode from breaking module import
-* Add various \_format\_XXX functions
-
-1.0.2
------
-
-* sorts the commands and subcommands
-* tox: Add 'release' target
-
-1.0.1
------
-
-* docs: Add example for modifying 'sys.path'
-* Handle commands without a docstring
-* README: Update usage example
-
-1.0.0
------
-
-* Initial release
-* Basic project setup
-* Initial commit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/PKG-INFO 
new/sphinx_click-6.2.0/PKG-INFO
--- old/sphinx_click-6.0.0/PKG-INFO     2024-05-15 16:49:10.946174900 +0200
+++ new/sphinx_click-6.2.0/PKG-INFO     2025-12-04 20:32:52.600320300 +0100
@@ -1,15 +1,13 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: sphinx-click
-Version: 6.0.0
+Version: 6.2.0
 Summary: Sphinx extension that automatically documents click applications
-Home-page: https://github.com/click-contrib/sphinx-click
-Author: Stephen Finucane
-Author-email: [email protected]
+Author-email: Stephen Finucane <[email protected]>
 License: MIT License
 Project-URL: Bug Tracker, https://github.com/click-contrib/sphinx-click/issues
 Project-URL: Documentation, https://sphinx-click.readthedocs.io/en/latest
 Project-URL: Source Code, https://github.com/click-contrib/sphinx-click
-Keywords: sphinx click
+Keywords: sphinx,click
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Console
 Classifier: Framework :: Sphinx :: Extension
@@ -23,12 +21,18 @@
 Classifier: Topic :: Documentation
 Classifier: Topic :: Documentation :: Sphinx
 Classifier: Topic :: Utilities
-Requires-Python: >=3.8
-Description-Content-Type: text/x-rst; charset=UTF-8
+Requires-Python: >=3.10
+Description-Content-Type: text/x-rst
 License-File: LICENSE
 Requires-Dist: sphinx>=4.0
 Requires-Dist: click>=8.0
 Requires-Dist: docutils
+Provides-Extra: docs
+Requires-Dist: reno; extra == "docs"
+Provides-Extra: test
+Requires-Dist: pytest; extra == "test"
+Requires-Dist: pytest-cov; extra == "test"
+Dynamic: license-file
 
 ============
 sphinx-click
@@ -105,4 +109,3 @@
 
 __ https://github.com/kdeldycke/click-extra/
 __ https://kdeldycke.github.io/click-extra/sphinx.html
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/docs/changelog.rst 
new/sphinx_click-6.2.0/docs/changelog.rst
--- old/sphinx_click-6.0.0/docs/changelog.rst   2024-05-15 16:49:06.000000000 
+0200
+++ new/sphinx_click-6.2.0/docs/changelog.rst   2025-12-04 20:32:45.000000000 
+0100
@@ -1,5 +1,4 @@
 Changes
 =======
 
-.. include:: ../ChangeLog
-   :start-line: 2
+.. release-notes::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/docs/conf.py 
new/sphinx_click-6.2.0/docs/conf.py
--- old/sphinx_click-6.0.0/docs/conf.py 2024-05-15 16:49:06.000000000 +0200
+++ new/sphinx_click-6.2.0/docs/conf.py 2025-12-04 20:32:45.000000000 +0100
@@ -17,7 +17,7 @@
 # Add any Sphinx extension module names here, as strings. They can be
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
-extensions = ['sphinx_click']
+extensions = ['sphinx_click', 'reno.sphinxext']
 
 # The suffix(es) of source filenames.
 # You can specify multiple suffix as a list of string:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/docs/usage.rst 
new/sphinx_click-6.2.0/docs/usage.rst
--- old/sphinx_click-6.0.0/docs/usage.rst       2024-05-15 16:49:06.000000000 
+0200
+++ new/sphinx_click-6.2.0/docs/usage.rst       2025-12-04 20:32:45.000000000 
+0100
@@ -24,7 +24,8 @@
 
    The directive takes the import name of a *click* object as its sole
    argument. This should be a subclass of |click.core.BaseCommand|_, such as
-   ``click.Command``, ``click.Group``, ``click.MultiCommand``, etc.
+   ``click.Command``, ``click.Group``, ``click.MultiCommand`` (deprecated),
+   etc.
 
    In addition, the following options are required:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/pyproject.toml 
new/sphinx_click-6.2.0/pyproject.toml
--- old/sphinx_click-6.0.0/pyproject.toml       2024-05-15 16:49:06.000000000 
+0200
+++ new/sphinx_click-6.2.0/pyproject.toml       2025-12-04 20:32:45.000000000 
+0100
@@ -1,16 +1,80 @@
-[tool.black]
+[build-system]
+requires = ["setuptools>=80", "setuptools-scm>=8"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "sphinx-click"
+description = "Sphinx extension that automatically documents click 
applications"
+authors = [
+    {name = "Stephen Finucane", email = "[email protected]"}
+]
+readme = {file = "README.rst", content-type = "text/x-rst"}
+license = {text = "MIT License"}
+requires-python = ">=3.10"
+keywords = ["sphinx", "click"]
+classifiers = [
+    "Development Status :: 5 - Production/Stable",
+    "Environment :: Console",
+    "Framework :: Sphinx :: Extension",
+    "Intended Audience :: Developers",
+    "Intended Audience :: Information Technology",
+    "License :: OSI Approved :: MIT License",
+    "Operating System :: OS Independent",
+    "Programming Language :: Python",
+    "Programming Language :: Python :: 3",
+    "Programming Language :: Python :: 3 :: Only",
+    "Topic :: Documentation",
+    "Topic :: Documentation :: Sphinx",
+    "Topic :: Utilities",
+]
+dependencies = [
+    "sphinx>=4.0",
+    "click>=8.0",
+    "docutils",
+]
+dynamic = ["version"]
+
+[project.optional-dependencies]
+docs = [
+    "reno",
+]
+test = [
+    "pytest",
+    "pytest-cov",
+]
+
+[project.urls]
+"Bug Tracker" = "https://github.com/click-contrib/sphinx-click/issues";
+"Documentation" = "https://sphinx-click.readthedocs.io/en/latest";
+"Source Code" = "https://github.com/click-contrib/sphinx-click";
+
+[tool.setuptools]
+packages = [
+    "sphinx_click"
+]
+
+[tool.setuptools_scm]
+
+[tool.ruff]
 line-length = 88
-target-version = ['py37']
-skip-string-normalization = true
+
+[tool.ruff.format]
+quote-style = "preserve"
+
+[tool.mypy]
+disallow_untyped_defs = true
+disallow_incomplete_defs = true
+no_implicit_optional = true
+show_column_numbers = true
+show_error_context = true
+ignore_missing_imports = true
+check_untyped_defs = true
+warn_unused_ignores = true
+warn_return_any = true
+strict_optional = true
 exclude = '''
-(
-  /(
-      \.eggs
-    | \.git
-    | \.tox
-    | \.venv
-    | build
-    | dist
-  )
+(?x)(
+    docs
+    | tests
 )
 '''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx_click-6.0.0/releasenotes/notes/drop-python-38-39-0da4002e198b0e4b.yaml
 
new/sphinx_click-6.2.0/releasenotes/notes/drop-python-38-39-0da4002e198b0e4b.yaml
--- 
old/sphinx_click-6.0.0/releasenotes/notes/drop-python-38-39-0da4002e198b0e4b.yaml
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/sphinx_click-6.2.0/releasenotes/notes/drop-python-38-39-0da4002e198b0e4b.yaml
   2025-12-04 20:32:45.000000000 +0100
@@ -0,0 +1,8 @@
+---
+upgrade:
+  - |
+    Python 3.8 and Python 3.9 are no longer supported as they have reached
+    end-of-life.
+features:
+  - |
+    Python 3.13 is now officially supported.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx_click-6.0.0/releasenotes/notes/print-usage-c83518ec412eca7c.yaml 
new/sphinx_click-6.2.0/releasenotes/notes/print-usage-c83518ec412eca7c.yaml
--- old/sphinx_click-6.0.0/releasenotes/notes/print-usage-c83518ec412eca7c.yaml 
1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx_click-6.2.0/releasenotes/notes/print-usage-c83518ec412eca7c.yaml 
2025-12-04 20:32:45.000000000 +0100
@@ -0,0 +1,4 @@
+---
+features:
+  - |
+    Add a "Usage" label (rubric) before printing the command's usage format.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/requirements.txt 
new/sphinx_click-6.2.0/requirements.txt
--- old/sphinx_click-6.0.0/requirements.txt     2024-05-15 16:49:06.000000000 
+0200
+++ new/sphinx_click-6.2.0/requirements.txt     1970-01-01 01:00:00.000000000 
+0100
@@ -1,3 +0,0 @@
-sphinx>=4.0
-click>=8.0
-docutils
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/setup.cfg 
new/sphinx_click-6.2.0/setup.cfg
--- old/sphinx_click-6.0.0/setup.cfg    2024-05-15 16:49:10.946174900 +0200
+++ new/sphinx_click-6.2.0/setup.cfg    2025-12-04 20:32:52.600320300 +0100
@@ -1,57 +1,3 @@
-[metadata]
-name = sphinx-click
-summary = Sphinx extension that automatically documents click applications
-description_file = README.rst
-description_content_type = text/x-rst; charset=UTF-8
-author = Stephen Finucane
-author_email = [email protected]
-url = https://github.com/click-contrib/sphinx-click
-project_urls = 
-       Bug Tracker = https://github.com/click-contrib/sphinx-click/issues
-       Documentation = https://sphinx-click.readthedocs.io/en/latest
-       Source Code = https://github.com/click-contrib/sphinx-click
-license = MIT License
-classifiers = 
-       Development Status :: 5 - Production/Stable
-       Environment :: Console
-       Framework :: Sphinx :: Extension
-       Intended Audience :: Developers
-       Intended Audience :: Information Technology
-       License :: OSI Approved :: MIT License
-       Operating System :: OS Independent
-       Programming Language :: Python
-       Programming Language :: Python :: 3
-       Programming Language :: Python :: 3 :: Only
-       Topic :: Documentation
-       Topic :: Documentation :: Sphinx
-       Topic :: Utilities
-python_requires = >=3.8
-keywords = sphinx click
-
-[files]
-packages = 
-       sphinx_click
-
-[flake8]
-max-line-length = 88
-ignore = E203,E501,E741,W503
-
-[mypy]
-disallow_untyped_defs = true
-disallow_incomplete_defs = true
-no_implicit_optional = true
-show_column_numbers = true
-show_error_context = true
-ignore_missing_imports = true
-check_untyped_defs = true
-warn_unused_ignores = true
-warn_return_any = true
-strict_optional = true
-exclude = (?x)(
-       docs/.* \
-       | tests/.*
-       )
-
 [egg_info]
 tag_build = 
 tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/setup.py 
new/sphinx_click-6.2.0/setup.py
--- old/sphinx_click-6.0.0/setup.py     2024-05-15 16:49:06.000000000 +0200
+++ new/sphinx_click-6.2.0/setup.py     1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#!/usr/bin/env python3
-
-from setuptools import setup
-
-setup(
-    setup_requires=['pbr>=2.0'],
-    pbr=True,
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/sphinx_click/ext.py 
new/sphinx_click-6.2.0/sphinx_click/ext.py
--- old/sphinx_click-6.0.0/sphinx_click/ext.py  2024-05-15 16:49:06.000000000 
+0200
+++ new/sphinx_click-6.2.0/sphinx_click/ext.py  2025-12-04 20:32:45.000000000 
+0100
@@ -1,3 +1,4 @@
+import importlib.metadata
 import inspect
 import functools
 import re
@@ -28,6 +29,10 @@
 
 ANSI_ESC_SEQ_RE = re.compile(r'\x1B\[\d+(;\d+){0,2}m', flags=re.MULTILINE)
 
+CLICK_VERSION = tuple(
+    int(x) for x in importlib.metadata.version('click').split('.')[0:2]
+)
+
 _T_Formatter = ty.Callable[[click.Context], ty.Generator[str, None, None]]
 
 
@@ -116,7 +121,7 @@
             % (
                 ', '.join(repr(d) for d in opt.default)
                 if isinstance(opt.default, (list, tuple))
-                else repr(opt.default),
+                else repr(opt.default)
             )
         )
 
@@ -239,7 +244,7 @@
 
 
 def _format_envvar(
-    param: ty.Union[click.core.Option, click.Argument]
+    param: ty.Union[click.core.Option, click.Argument],
 ) -> ty.Generator[str, None, None]:
     """Format the envvars of a `click.Option` or `click.Argument`."""
     yield '.. envvar:: {}'.format(param.envvar)
@@ -319,8 +324,14 @@
     commands: ty.Optional[ty.List[str]] = None,
 ) -> ty.List[click.Command]:
     """Return list of used commands."""
+    # click 8.2.0 deprecated MultiCommand and made it a subclass of Group
+    if CLICK_VERSION >= (8, 2):
+        group_cls = click.Group
+    else:
+        group_cls = click.MultiCommand
+
     lookup = getattr(ctx.command, 'commands', {})
-    if not lookup and isinstance(ctx.command, click.MultiCommand):
+    if not lookup and isinstance(ctx.command, group_cls):
         lookup = _get_lazyload_commands(ctx)
 
     if commands is None:
@@ -347,15 +358,20 @@
 
     # usage
 
-    for line in _format_usage(ctx):
+    lines = list(_format_usage(ctx))
+    if lines:
+        # we use rubric to provide some separation without exploding the table
+        # of contents
+        yield '.. rubric:: Usage'
+        yield ''
+
+    for line in lines:
         yield line
 
     # options
 
     lines = list(_format_options(ctx))
     if lines:
-        # we use rubric to provide some separation without exploding the table
-        # of contents
         yield '.. rubric:: Options'
         yield ''
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/sphinx_click.egg-info/PKG-INFO 
new/sphinx_click-6.2.0/sphinx_click.egg-info/PKG-INFO
--- old/sphinx_click-6.0.0/sphinx_click.egg-info/PKG-INFO       2024-05-15 
16:49:10.000000000 +0200
+++ new/sphinx_click-6.2.0/sphinx_click.egg-info/PKG-INFO       2025-12-04 
20:32:52.000000000 +0100
@@ -1,15 +1,13 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
 Name: sphinx-click
-Version: 6.0.0
+Version: 6.2.0
 Summary: Sphinx extension that automatically documents click applications
-Home-page: https://github.com/click-contrib/sphinx-click
-Author: Stephen Finucane
-Author-email: [email protected]
+Author-email: Stephen Finucane <[email protected]>
 License: MIT License
 Project-URL: Bug Tracker, https://github.com/click-contrib/sphinx-click/issues
 Project-URL: Documentation, https://sphinx-click.readthedocs.io/en/latest
 Project-URL: Source Code, https://github.com/click-contrib/sphinx-click
-Keywords: sphinx click
+Keywords: sphinx,click
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Environment :: Console
 Classifier: Framework :: Sphinx :: Extension
@@ -23,12 +21,18 @@
 Classifier: Topic :: Documentation
 Classifier: Topic :: Documentation :: Sphinx
 Classifier: Topic :: Utilities
-Requires-Python: >=3.8
-Description-Content-Type: text/x-rst; charset=UTF-8
+Requires-Python: >=3.10
+Description-Content-Type: text/x-rst
 License-File: LICENSE
 Requires-Dist: sphinx>=4.0
 Requires-Dist: click>=8.0
 Requires-Dist: docutils
+Provides-Extra: docs
+Requires-Dist: reno; extra == "docs"
+Provides-Extra: test
+Requires-Dist: pytest; extra == "test"
+Requires-Dist: pytest-cov; extra == "test"
+Dynamic: license-file
 
 ============
 sphinx-click
@@ -105,4 +109,3 @@
 
 __ https://github.com/kdeldycke/click-extra/
 __ https://kdeldycke.github.io/click-extra/sphinx.html
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/sphinx_click.egg-info/SOURCES.txt 
new/sphinx_click-6.2.0/sphinx_click.egg-info/SOURCES.txt
--- old/sphinx_click-6.0.0/sphinx_click.egg-info/SOURCES.txt    2024-05-15 
16:49:10.000000000 +0200
+++ new/sphinx_click-6.2.0/sphinx_click.egg-info/SOURCES.txt    2025-12-04 
20:32:52.000000000 +0100
@@ -1,14 +1,10 @@
 .editorconfig
+.gitignore
 .pre-commit-config.yaml
 .readthedocs.yaml
-AUTHORS
-ChangeLog
 LICENSE
 README.rst
 pyproject.toml
-requirements.txt
-setup.cfg
-setup.py
 tox.ini
 .github/pull_request_template.md
 .github/workflows/ci.yaml
@@ -34,6 +30,8 @@
 releasenotes/notes/better-string-defaults-3664ae102b044972.yaml
 releasenotes/notes/drop-click-7-cbdaccc6a64029d0.yaml
 releasenotes/notes/drop-python-3-7-support-3d3cab951fc6ae82.yaml
+releasenotes/notes/drop-python-38-39-0da4002e198b0e4b.yaml
+releasenotes/notes/print-usage-c83518ec412eca7c.yaml
 releasenotes/notes/python-3.11-support-64013e70ae9926f4.yaml
 releasenotes/notes/python-3.12-support-f2ed1dc438bd42ee.yaml
 releasenotes/notes/show-typer-arg-help-text-fae802f6878fa100.yaml
@@ -42,8 +40,6 @@
 sphinx_click.egg-info/PKG-INFO
 sphinx_click.egg-info/SOURCES.txt
 sphinx_click.egg-info/dependency_links.txt
-sphinx_click.egg-info/not-zip-safe
-sphinx_click.egg-info/pbr.json
 sphinx_click.egg-info/requires.txt
 sphinx_click.egg-info/top_level.txt
 tests/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx_click-6.0.0/sphinx_click.egg-info/not-zip-safe 
new/sphinx_click-6.2.0/sphinx_click.egg-info/not-zip-safe
--- old/sphinx_click-6.0.0/sphinx_click.egg-info/not-zip-safe   2024-05-15 
16:49:10.000000000 +0200
+++ new/sphinx_click-6.2.0/sphinx_click.egg-info/not-zip-safe   1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/sphinx_click.egg-info/pbr.json 
new/sphinx_click-6.2.0/sphinx_click.egg-info/pbr.json
--- old/sphinx_click-6.0.0/sphinx_click.egg-info/pbr.json       2024-05-15 
16:49:10.000000000 +0200
+++ new/sphinx_click-6.2.0/sphinx_click.egg-info/pbr.json       1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-{"git_version": "7f29172", "is_release": false}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sphinx_click-6.0.0/sphinx_click.egg-info/requires.txt 
new/sphinx_click-6.2.0/sphinx_click.egg-info/requires.txt
--- old/sphinx_click-6.0.0/sphinx_click.egg-info/requires.txt   2024-05-15 
16:49:10.000000000 +0200
+++ new/sphinx_click-6.2.0/sphinx_click.egg-info/requires.txt   2025-12-04 
20:32:52.000000000 +0100
@@ -1,3 +1,10 @@
 sphinx>=4.0
 click>=8.0
 docutils
+
+[docs]
+reno
+
+[test]
+pytest
+pytest-cov
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/tests/test_extension.py 
new/sphinx_click-6.2.0/tests/test_extension.py
--- old/sphinx_click-6.0.0/tests/test_extension.py      2024-05-15 
16:49:06.000000000 +0200
+++ new/sphinx_click-6.2.0/tests/test_extension.py      2025-12-04 
20:32:45.000000000 +0100
@@ -20,8 +20,9 @@
     #     section:
     #       title:
     #       paragraph:
+    #       rubric:  (Usage)
     #       literal_block:
-    #       rubric:
+    #       rubric:  (Commands)
     #       index:
     #       desc:
     #         desc_signature:
@@ -38,16 +39,18 @@
     assert section[0].astext() == 'greet'
     assert isinstance(section[1], nodes.paragraph)
     assert section[1].astext() == 'A sample command group.'
-    assert isinstance(section[2], nodes.literal_block)
-
-    assert isinstance(section[3], nodes.rubric)
-    assert section[3].astext() == 'Commands'
-    assert isinstance(section[4], sphinx_nodes.index)
-    assert isinstance(section[5], sphinx_nodes.desc)
-    assert section[5].astext() == 'hello\n\nGreet a user.'
-    assert isinstance(section[6], sphinx_nodes.index)
-    assert isinstance(section[7], sphinx_nodes.desc)
-    assert section[7].astext() == 'world\n\nGreet the world.'
+    assert isinstance(section[2], nodes.rubric)
+    assert section[2].astext() == 'Usage'
+    assert isinstance(section[3], nodes.literal_block)
+
+    assert isinstance(section[4], nodes.rubric)
+    assert section[4].astext() == 'Commands'
+    assert isinstance(section[5], sphinx_nodes.index)
+    assert isinstance(section[6], sphinx_nodes.desc)
+    assert section[6].astext() == 'hello\n\nGreet a user.'
+    assert isinstance(section[7], sphinx_nodes.index)
+    assert isinstance(section[8], sphinx_nodes.desc)
+    assert section[8].astext() == 'world\n\nGreet the world.'
 
 
 def test_commands(make_app, rootdir):
@@ -66,8 +69,9 @@
     #     section:
     #       title:
     #       paragraph:
+    #       rubric:  (Usage)
     #       literal_block:
-    #       rubric:
+    #       rubric:  (Commands)
     #       index:
     #       desc:
     #         desc_signature:
@@ -80,14 +84,16 @@
     assert section[0].astext() == 'greet'
     assert isinstance(section[1], nodes.paragraph)
     assert section[1].astext() == 'A sample command group.'
-    assert isinstance(section[2], nodes.literal_block)
+    assert isinstance(section[2], nodes.rubric)
+    assert section[2].astext() == 'Usage'
+    assert isinstance(section[3], nodes.literal_block)
 
     # we should only show a single command, 'world'
-    assert isinstance(section[3], nodes.rubric)
-    assert section[3].astext() == 'Commands'
-    assert isinstance(section[4], sphinx_nodes.index)
-    assert isinstance(section[5], sphinx_nodes.desc)
-    assert section[5].astext() == 'world\n\nGreet the world.'
+    assert isinstance(section[4], nodes.rubric)
+    assert section[4].astext() == 'Commands'
+    assert isinstance(section[5], sphinx_nodes.index)
+    assert isinstance(section[6], sphinx_nodes.desc)
+    assert section[6].astext() == 'world\n\nGreet the world.'
 
 
 def test_nested_full(make_app, rootdir):
@@ -106,15 +112,18 @@
     #     section:
     #       title:
     #       paragraph:
+    #       rubric:  (Usage)
     #       literal_block:
     #       section:
     #         title
     #         paragraph
+    #         rubric:  (Usage)
     #         literal_block
     #         ...
     #       section:
     #         title
     #         paragraph
+    #         rubric:  (Usage)
     #         literal_block
 
     section = content[0][1]
@@ -124,23 +133,29 @@
     assert section[0].astext() == 'greet'
     assert isinstance(section[1], nodes.paragraph)
     assert section[1].astext() == 'A sample command group.'
-    assert isinstance(section[2], nodes.literal_block)
+    assert isinstance(section[2], nodes.rubric)
+    assert section[2].astext() == 'Usage'
+    assert isinstance(section[3], nodes.literal_block)
 
-    subsection_a = section[3]
+    subsection_a = section[4]
     assert isinstance(subsection_a, nodes.section)
 
     assert isinstance(subsection_a[0], nodes.title)
     assert subsection_a[0].astext() == 'hello'
     assert isinstance(subsection_a[1], nodes.paragraph)
     assert subsection_a[1].astext() == 'Greet a user.'
-    assert isinstance(subsection_a[2], nodes.literal_block)
+    assert isinstance(subsection_a[2], nodes.rubric)
+    assert subsection_a[2].astext() == 'Usage'
+    assert isinstance(subsection_a[3], nodes.literal_block)
     # we don't need to verify the rest of this: that's done elsewhere
 
-    subsection_b = section[4]
+    subsection_b = section[5]
     assert isinstance(subsection_b, nodes.section)
 
     assert isinstance(subsection_b[0], nodes.title)
     assert subsection_b[0].astext() == 'world'
     assert isinstance(subsection_b[1], nodes.paragraph)
     assert subsection_b[1].astext() == 'Greet the world.'
-    assert isinstance(subsection_b[2], nodes.literal_block)
+    assert isinstance(subsection_b[2], nodes.rubric)
+    assert subsection_b[2].astext() == 'Usage'
+    assert isinstance(subsection_b[3], nodes.literal_block)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/tests/test_formatter.py 
new/sphinx_click-6.2.0/tests/test_formatter.py
--- old/sphinx_click-6.0.0/tests/test_formatter.py      2024-05-15 
16:49:06.000000000 +0200
+++ new/sphinx_click-6.2.0/tests/test_formatter.py      2025-12-04 
20:32:45.000000000 +0100
@@ -4,8 +4,6 @@
 import click
 from sphinx_click import ext
 
-CLICK_VERSION = tuple(int(x) for x in click.__version__.split('.')[0:2])
-
 
 class CommandTestCase(unittest.TestCase):
     """Validate basic ``click.Command`` instances."""
@@ -33,6 +31,8 @@
         A sample command.
 
         .. program:: foobar
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             foobar [OPTIONS]
@@ -81,6 +81,8 @@
         A sample command.
 
         .. program:: foobar
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             foobar [OPTIONS] ARG
@@ -154,6 +156,8 @@
         A sample command.
 
         .. program:: foobar
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             foobar [OPTIONS]
@@ -199,6 +203,8 @@
         A sample command.
 
         .. program:: foobar
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             foobar [OPTIONS] ARG ARG_NO_HELP
@@ -263,6 +269,8 @@
         A sample command.
 
         .. program:: foobar
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             foobar [OPTIONS]
@@ -315,6 +323,8 @@
         A sample command.
 
         .. program:: foobar
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             foobar [OPTIONS]
@@ -376,6 +386,8 @@
             my_cli hello --name "Jack"
 
         .. program:: hello
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             hello [OPTIONS]
@@ -430,6 +442,8 @@
         dash of bold and even some underlined words.
 
         .. program:: foobar
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             foobar [OPTIONS]
@@ -457,7 +471,7 @@
         )
 
     @unittest.skipIf(
-        CLICK_VERSION < (8, 1), 'Click < 8.1.0 stores the modified help string'
+        ext.CLICK_VERSION < (8, 1), 'Click < 8.1.0 stores the modified help 
string'
     )
     def test_no_truncation(self):
         r"""Validate behavior when a \f character is present.
@@ -497,6 +511,8 @@
         :param click.core.Context ctx: Click context.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS]
@@ -566,6 +582,8 @@
         that will be rewrapped again.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS]
@@ -623,6 +641,8 @@
         A sample command group.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -654,6 +674,8 @@
         A sample command group.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] ARG COMMAND [ARGS]...
@@ -726,6 +748,8 @@
         A sample command group.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -755,6 +779,8 @@
         A sample command group.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -778,6 +804,8 @@
         A sample command group.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -820,6 +848,8 @@
         A sample command group.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -842,6 +872,8 @@
         A sample command group.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -866,6 +898,7 @@
 
     maxDiff = None
 
+    @unittest.skipIf(ext.CLICK_VERSION > (9, 0), 'MultiCommand is removed in 
Click 9.0')
     def test_basics(self):
         """Validate a custom ``click.MultiCommand`` with no parameters.
 
@@ -903,6 +936,8 @@
         A sample custom multicommand.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -921,6 +956,7 @@
             '\n'.join(output),
         )
 
+    @unittest.skipIf(ext.CLICK_VERSION > (9, 0), 'MultiCommand is removed in 
Click 9.0')
     def test_hidden(self):
         """Ensure 'hidden' subcommands are not shown."""
 
@@ -960,6 +996,8 @@
         A sample custom multicommand.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -1017,6 +1055,8 @@
         A simple CommandCollection.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -1033,6 +1073,8 @@
         A simple CommandCollection.
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS] COMMAND [ARGS]...
@@ -1083,6 +1125,8 @@
         A simple CLI with auto-env vars .
 
         .. program:: cli
+        .. rubric:: Usage
+
         .. code-block:: shell
 
             cli [OPTIONS]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sphinx_click-6.0.0/tox.ini 
new/sphinx_click-6.2.0/tox.ini
--- old/sphinx_click-6.0.0/tox.ini      2024-05-15 16:49:06.000000000 +0200
+++ new/sphinx_click-6.2.0/tox.ini      2025-12-04 20:32:45.000000000 +0100
@@ -1,20 +1,19 @@
 [tox]
 minversion = 2.0
-envlist = py{38,39,310,311,312}-click{8,8-async},style,docs
+envlist = py{310,311,312,313}-click{8,8-async},style,docs
 
 [testenv]
 setenv =
     PYTHONDEVMODE = 1
     PYTHONWARNINGS = all
     PYTEST_ADDOPTS = {env:PYTEST_ADDOPTS:} --color yes
+extras =
+    test
 deps =
     pytest
     pytest-cov
-    coverage
-    defusedxml
     click8: click>=8.0,<9.0
     click8-async: asyncclick>=8.0,<9.0
-    defusedxml
 commands =
     python -m pytest --cov {toxinidir}/sphinx_click {posargs}
 pip_pre =
@@ -33,16 +32,18 @@
     pre-commit run --all-files --show-diff-on-failure
 
 [testenv:docs]
+deps =
+extras =
+    docs
 commands =
     sphinx-build -Wn -b html -d docs/_build/doctrees docs docs/_build/html
 
 [gh-actions]
 python =
-    3.8: py38
-    3.9: py39
     3.10: py310
     3.11: py311
     3.12: py312
+    3.13: py313
 
 [coverage:run]
 branch = True

Reply via email to