From 87bfc3d5acff263855ee220cb075adea70c94538 Mon Sep 17 00:00:00 2001 From: Matthew Watkins Date: Wed, 4 Mar 2026 16:29:57 +0000 Subject: [PATCH] Docs: Replace blockdiag/seqdiag with Mermaid Remove sphinxcontrib-blockdiag and sphinxcontrib-seqdiag from all configuration files, requirements, and constraints. Add sphinxcontrib-mermaid as the replacement. Changes across docs/conf.py, example templates, and constraints: - Replace blockdiag/seqdiag extensions with sphinxcontrib.mermaid - Remove Pillow dependency (only needed for blockdiag rendering) - Drop setuptools<82 cap (only needed for blockdiag pkg_resources) - Remove blockdiag family from OS constraints (blockdiag, seqdiag, actdiag, nwdiag, funcparserlib, and their sphinxcontrib wrappers) - Bump tox.ini basepython to 3.13 (matches .readthedocs.yaml) Verified: pip install succeeds on Python 3.13 with zero blockdiag/seqdiag/Pillow packages. sphinx-build completes with no errors or warnings using -W flag. Issue-ID: CIMAN-33 Co-Authored-By: Claude Change-Id: If9f3aafb387972d057d98f60cfb6d79b5136000c Signed-off-by: Matthew Watkins --- docs/conf.py | 5 ++--- docs/requirements-docs.txt | 6 ++---- docs/tox.ini | 6 +++--- etc/upper-constraints.onap.txt | 4 +--- etc/upper-constraints.os.txt | 26 +++++++++----------------- examples/sphinx/master/conf.py | 4 +--- examples/sphinx/master/requirements-docs.txt | 5 ++--- examples/sphinx/release/conf.py | 4 +--- examples/sphinx/release/requirements-docs.txt | 5 ++--- 9 files changed, 23 insertions(+), 42 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index a626f4bf1..19be6f2d2 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -39,10 +39,9 @@ html_show_sphinx = False extensions = [ 'sphinx.ext.intersphinx', 'sphinx.ext.graphviz', - 'sphinxcontrib.blockdiag', + 'sphinxcontrib.mermaid', 'sphinxcontrib.plantuml', - 'sphinxcontrib.seqdiag', - 'sphinxcontrib.spelling' , + 'sphinxcontrib.spelling', 'sphinxcontrib.openapi', 'sphinx_toolbox.collapse' ] diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt index c159b599a..b3583a153 100644 --- a/docs/requirements-docs.txt +++ b/docs/requirements-docs.txt @@ -1,14 +1,12 @@ # Compatibility -setuptools>=65.0.0,<82 -Pillow>=10.1.0 +setuptools>=65.0.0 # Core Sphinx sphinx>=7.1.2 sphinx-rtd-theme>=2.0.0 # Diagram extensions -sphinxcontrib-blockdiag>=3.0.0 -sphinxcontrib-seqdiag>=3.0.0 +sphinxcontrib-mermaid>=1.0.0 sphinxcontrib-plantuml>=0.27 # API documentation diff --git a/docs/tox.ini b/docs/tox.ini index 34f7dd223..8ea46be07 100644 --- a/docs/tox.ini +++ b/docs/tox.ini @@ -4,7 +4,7 @@ envlist = docs,docs-linkcheck,docs-spellcheck skipsdist = true [testenv:docs] -basepython = python3.12 +basepython = python3.13 deps = setuptools>=65.0.0 -r{toxinidir}/requirements-docs.txt @@ -16,7 +16,7 @@ allowlist_externals = sh [testenv:docs-linkcheck] -basepython = python3.12 +basepython = python3.13 deps = setuptools>=65.0.0 -r{toxinidir}/requirements-docs.txt @@ -24,7 +24,7 @@ deps = commands = sphinx-build -W -q -b linkcheck -d {envtmpdir}/doctrees {toxinidir} {toxinidir}/_build/linkcheck [testenv:docs-spellcheck] -basepython = python3.12 +basepython = python3.13 deps = setuptools>=65.0.0 -r{toxinidir}/requirements-docs.txt diff --git a/etc/upper-constraints.onap.txt b/etc/upper-constraints.onap.txt index 2be9f1856..c5974b0d0 100644 --- a/etc/upper-constraints.onap.txt +++ b/etc/upper-constraints.onap.txt @@ -1,14 +1,12 @@ # Compatibility setuptools===69.0.3 -Pillow===10.4.0 # Core Sphinx sphinx===7.1.2 sphinx-rtd-theme===2.0.0 # Diagram extensions -sphinxcontrib-blockdiag===3.0.0 -sphinxcontrib-seqdiag===3.0.0 +sphinxcontrib-mermaid===2.0.0 sphinxcontrib-plantuml===0.29 # API documentation diff --git a/etc/upper-constraints.os.txt b/etc/upper-constraints.os.txt index 1b1fbe893..5676466f4 100644 --- a/etc/upper-constraints.os.txt +++ b/etc/upper-constraints.os.txt @@ -17,8 +17,7 @@ smmap===5.0.0 confget===4.1.0 XStatic-Angular-Bootstrap===2.5.0.0 WebOb===1.8.7 -sphinxcontrib-actdiag===2.0.0;python_version=='3.6' -sphinxcontrib-actdiag===3.0.0;python_version=='3.8' + pecan===1.4.1 ryu===4.34 os-api-ref===2.3.0 @@ -39,7 +38,7 @@ python-slugify===6.1.0 cursive===0.2.2 oslo.service===2.8.0 django-appconf===1.0.5 -sphinxcontrib-nwdiag===2.0.0 + rbd-iscsi-client===0.1.8 requests-aws===0.1.8 alabaster===0.7.12 @@ -143,8 +142,7 @@ jsonpointer===2.2 defusedxml===0.7.1 netaddr===0.8.0 pyghmi===1.5.34 -sphinxcontrib-blockdiag===2.0.0;python_version=='3.6' -sphinxcontrib-blockdiag===3.0.0;python_version=='3.8' + thrift===0.15.0 gnocchiclient===7.0.7 wcwidth===0.2.5 @@ -258,8 +256,7 @@ tinyrpc===1.1.4 google-auth-httplib2===0.1.0 daiquiri===3.0.1 influxdb===5.3.1 -# differs from https://github.com/openstack/requirements/blob/stable/yoga/upper-constraints.txt -funcparserlib===1.0.0a0 + passlib===1.7.4 dib-utils===0.0.11 cliff===3.10.1 @@ -293,8 +290,7 @@ pyperclip===1.8.2 cassandra-driver===3.25.0 XStatic-Angular-Schema-Form===0.8.13.0 gabbi===2.4.0 -nwdiag===2.0.0;python_version=='3.6' -nwdiag===3.0.0;python_version=='3.8' + XStatic-bootswatch===3.3.7.0 pytest-xdist===2.5.0 XStatic-JS-Yaml===3.8.1.0 @@ -321,8 +317,7 @@ dogtag-pki===10.7.4.1 types-ipaddress===1.0.8 XStatic-Angular-UUID===0.0.4.0 purestorage===1.19.0 -sphinxcontrib-seqdiag===2.0.0;python_version=='3.6' -sphinxcontrib-seqdiag===3.0.0;python_version=='3.8' + os-win===5.6.0 capacity===1.3.14 retrying===1.3.3 @@ -373,8 +368,7 @@ asgiref===3.5.0;python_version=='3.8' XStatic-JQuery.TableSorter===2.14.5.2 pifpaf===3.1.5 pysmi===0.3.4 -blockdiag===2.0.1;python_version=='3.6' -blockdiag===3.0.0;python_version=='3.8' + testtools===2.5.0 infi.dtypes.iqn===0.4.0 XStatic-tv4===1.2.7.0 @@ -419,8 +413,7 @@ PyNaCl===1.5.0 osc-lib===2.5.0 async-generator===1.10;python_version=='3.6' python-consul===1.1.0 -seqdiag===2.0.0;python_version=='3.6' -seqdiag===3.0.0;python_version=='3.8' + numpy===1.19.5;python_version=='3.6' numpy===1.22.2;python_version=='3.8' msgpack===1.0.3 @@ -633,8 +626,7 @@ ironic-lib===5.2.0 pytz===2021.3 pytest-forked===1.4.0 XStatic-D3===3.5.17.0 -actdiag===2.0.0;python_version=='3.6' -actdiag===3.0.0;python_version=='3.8' + sysv-ipc===1.1.0 sphinxcontrib-applehelp===1.0.2 scikit-learn===0.24.2;python_version=='3.6' diff --git a/examples/sphinx/master/conf.py b/examples/sphinx/master/conf.py index a9c42b672..18a3cdd4d 100644 --- a/examples/sphinx/master/conf.py +++ b/examples/sphinx/master/conf.py @@ -19,9 +19,7 @@ html_show_sphinx = False extensions = [ 'sphinx.ext.intersphinx', 'sphinx.ext.graphviz', - 'sphinxcontrib.blockdiag', - 'sphinxcontrib.seqdiag', - 'sphinxcontrib.swaggerdoc', + 'sphinxcontrib.mermaid', 'sphinxcontrib.plantuml' ] diff --git a/examples/sphinx/master/requirements-docs.txt b/examples/sphinx/master/requirements-docs.txt index 299a4138d..00f4c87da 100644 --- a/examples/sphinx/master/requirements-docs.txt +++ b/examples/sphinx/master/requirements-docs.txt @@ -1,8 +1,7 @@ -setuptools>=65.0.0,<82 # MIT; pinned <82 to retain pkg_resources for blockdiag/seqdiag +setuptools>=65.0.0 # MIT sphinx>=4.2.0 # BSD sphinx-rtd-theme>=1.0.0 # MIT -sphinxcontrib-blockdiag # BSD -sphinxcontrib-seqdiag # BSD +sphinxcontrib-mermaid # BSD sphinxcontrib-swaggerdoc sphinxcontrib-spelling sphinxcontrib-plantuml diff --git a/examples/sphinx/release/conf.py b/examples/sphinx/release/conf.py index e13e05171..28b2fa1d4 100644 --- a/examples/sphinx/release/conf.py +++ b/examples/sphinx/release/conf.py @@ -19,9 +19,7 @@ html_show_sphinx = False extensions = [ 'sphinx.ext.intersphinx', 'sphinx.ext.graphviz', - 'sphinxcontrib.blockdiag', - 'sphinxcontrib.seqdiag', - 'sphinxcontrib.swaggerdoc', + 'sphinxcontrib.mermaid', 'sphinxcontrib.plantuml' ] diff --git a/examples/sphinx/release/requirements-docs.txt b/examples/sphinx/release/requirements-docs.txt index 299a4138d..00f4c87da 100644 --- a/examples/sphinx/release/requirements-docs.txt +++ b/examples/sphinx/release/requirements-docs.txt @@ -1,8 +1,7 @@ -setuptools>=65.0.0,<82 # MIT; pinned <82 to retain pkg_resources for blockdiag/seqdiag +setuptools>=65.0.0 # MIT sphinx>=4.2.0 # BSD sphinx-rtd-theme>=1.0.0 # MIT -sphinxcontrib-blockdiag # BSD -sphinxcontrib-seqdiag # BSD +sphinxcontrib-mermaid # BSD sphinxcontrib-swaggerdoc sphinxcontrib-spelling sphinxcontrib-plantuml -- 2.16.6