mirror of
https://gitea.osmocom.org/sim-card/pysim.git
synced 2026-04-10 15:01:05 +03:00
docs/conf.py: add autodoc_mock_imports for klein and twisted
The eSIM SM-DP+ server modules (`pySim.esim.es2p`, `pySim.esim.es9p`, `pySim.esim.http_json_api`) unconditionally import optional server-side dependencies at module level: pySim.esim.es2p -- from klein import Klein pySim.esim.http_json_api -- from twisted.web.server import Request Both imports fail during a docs build if the packages are absent or broken, causing three "autodoc: failed to import" warnings and three missing chapters in the generated manual. Even when klein and twisted are installed, twisted 23.10.0 (the version pulled in transitively by smpp.twisted3's `Twisted~=23.10.0` constraint) is incompatible with Python 3.13+ because twisted.web.http unconditionally executes `import cgi`, a module that was removed from the standard library in Python 3.13. Fix: add `autodoc_mock_imports = ['klein', 'twisted']` to conf.py. Sphinx inserts mock entries into sys.modules before each autodoc import attempt, so the modules can be imported and documented without requiring the real packages to be importable at build time. Change-Id: I71650466f02a6a6d150650deed167c05d2cb6e64
This commit is contained in:
@@ -65,6 +65,10 @@ html_static_path = ['_static']
|
||||
|
||||
autoclass_content = 'both'
|
||||
|
||||
# Mock optional server-side deps of es2p and http_json_api/es9p,
|
||||
# so that autodoc can import and document those modules.
|
||||
autodoc_mock_imports = ['klein', 'twisted']
|
||||
|
||||
# Workaround for duplicate label warnings:
|
||||
# https://github.com/sphinx-doc/sphinx-argparse/issues/14
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user