From 55b7abd8241db505c28157175743a69783bc5fc0 Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 7 Mar 2026 13:13:58 +0100 Subject: [PATCH 1/2] Added try-catch for autodoc mock-import --- sphinxarg/ext.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sphinxarg/ext.py b/sphinxarg/ext.py index 2e79880..2cbbab2 100644 --- a/sphinxarg/ext.py +++ b/sphinxarg/ext.py @@ -14,12 +14,17 @@ from docutils.statemachine import StringList from sphinx.domains import Domain, Index, IndexEntry from sphinx.errors import ExtensionError -from sphinx.ext.autodoc import mock from sphinx.roles import XRefRole from sphinx.util import logging from sphinx.util.docutils import SphinxDirective, new_document from sphinx.util.nodes import make_id, make_refnode, nested_parse_with_titles +try: + from sphinx.ext.autodoc.mock import mock +except ImportError: + from sphinx.ext.autodoc import mock + # A persistent bug in sphinx / autodoc causes problems during importing (#82) + from sphinxarg import __version__ from sphinxarg.parser import parse_parser, parser_navigate from sphinxarg.utils import command_pos_args, target_to_anchor_id From 88cd1f0359f730177bfaffb352423c8c1c87badd Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 7 Mar 2026 13:26:52 +0100 Subject: [PATCH 2/2] Changed autodoc mock import priority --- sphinxarg/ext.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sphinxarg/ext.py b/sphinxarg/ext.py index 2cbbab2..b07fd53 100644 --- a/sphinxarg/ext.py +++ b/sphinxarg/ext.py @@ -5,6 +5,7 @@ import os import sys from argparse import ArgumentParser +from inspect import ismodule from typing import TYPE_CHECKING, ClassVar, cast from docutils import nodes @@ -14,16 +15,15 @@ from docutils.statemachine import StringList from sphinx.domains import Domain, Index, IndexEntry from sphinx.errors import ExtensionError +from sphinx.ext.autodoc import mock from sphinx.roles import XRefRole from sphinx.util import logging from sphinx.util.docutils import SphinxDirective, new_document from sphinx.util.nodes import make_id, make_refnode, nested_parse_with_titles -try: - from sphinx.ext.autodoc.mock import mock -except ImportError: - from sphinx.ext.autodoc import mock - # A persistent bug in sphinx / autodoc causes problems during importing (#82) +if ismodule(mock): + mock = mock.mock + # A persistent bug in sphinx / autodoc might cause problems during importing (#82) from sphinxarg import __version__ from sphinxarg.parser import parse_parser, parser_navigate