name: spelling run_id: install_deps env HOME: /home/jenkins env LANG: C.UTF-8 env PATH: /w/workspace/docs-tox-verify-vanadium/.tox/spelling/bin:/opt/pyenv/bin:/tmp/venv-x6eO/bin:/opt/pyenv/shims:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin env PIP_DISABLE_PIP_VERSION_CHECK: 1 env PYTHONHASHSEED: 592242011 env PYTHONIOENCODING: utf-8 env SSH_AUTH_SOCK: ******************************** env TOX_ENV_DIR: /w/workspace/docs-tox-verify-vanadium/.tox/spelling env TOX_ENV_NAME: spelling env TOX_WORK_DIR: /w/workspace/docs-tox-verify-vanadium/.tox env VIRTUAL_ENV: /w/workspace/docs-tox-verify-vanadium/.tox/spelling metadata pid: 3571 cwd: /w/workspace/docs-tox-verify-vanadium allow: /w/workspace/docs-tox-verify-vanadium/.tox/spelling/bin/*:sh cmd: python -I -m pip install PyEnchant sphinxcontrib-spelling -r docs/requirements.txt exit_code: 0 Looking in indexes: https://nexus3.opendaylight.org/repository/PyPi/simple Collecting PyEnchant Downloading https://nexus3.opendaylight.org/repository/PyPi/packages/pyenchant/3.2.2/pyenchant-3.2.2-py3-none-any.whl (55 kB) Collecting sphinxcontrib-spelling Downloading https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-spelling/8.0.1/sphinxcontrib_spelling-8.0.1-py3-none-any.whl (14 kB) Collecting lfdocs-conf>0.6.1 (from -r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/lfdocs-conf/0.9.0/lfdocs_conf-0.9.0-py2.py3-none-any.whl (8.4 kB) Collecting jira (from -r docs/requirements.txt (line 2)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/jira/3.10.5/jira-3.10.5-py3-none-any.whl (79 kB) Collecting Sphinx>=3.0.0 (from sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinx/8.2.3/sphinx-8.2.3-py3-none-any.whl (3.6 MB) Collecting requests>=2.32.3 (from sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/requests/2.32.4/requests-2.32.4-py3-none-any.whl (64 kB) Collecting PyYAML (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/pyyaml/6.0.2/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (762 kB) Collecting sphinx-bootstrap-theme (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinx-bootstrap-theme/0.8.1/sphinx_bootstrap_theme-0.8.1-py2.py3-none-any.whl (1.2 MB) Collecting sphinx-tabs (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinx-tabs/3.4.7/sphinx_tabs-3.4.7-py3-none-any.whl (9.7 kB) Collecting sphinxcontrib-blockdiag (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-blockdiag/3.0.0/sphinxcontrib_blockdiag-3.0.0-py2.py3-none-any.whl (6.8 kB) Collecting sphinxcontrib-needs (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-needs/0.7.9/sphinxcontrib_needs-0.7.9-py3-none-any.whl (2.6 MB) Collecting sphinxcontrib.plantuml (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached sphinxcontrib_plantuml-0.30-py3-none-any.whl Collecting sphinxcontrib-nwdiag (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-nwdiag/2.0.0/sphinxcontrib_nwdiag-2.0.0-py2.py3-none-any.whl (13 kB) Collecting sphinxcontrib-seqdiag (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-seqdiag/3.0.0/sphinxcontrib_seqdiag-3.0.0-py2.py3-none-any.whl (6.9 kB) Collecting sphinxcontrib-swaggerdoc (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-swaggerdoc/0.1.7/sphinxcontrib_swaggerdoc-0.1.7-py2.py3-none-any.whl (7.6 kB) Collecting sphinx-rtd-theme (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinx-rtd-theme/3.0.2/sphinx_rtd_theme-3.0.2-py2.py3-none-any.whl (7.7 MB) Collecting funcparserlib>=1.0.0a0 (from lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/funcparserlib/2.0.0a0/funcparserlib-2.0.0a0-py3-none-any.whl (16 kB) Collecting defusedxml (from jira->-r docs/requirements.txt (line 2)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/defusedxml/0.7.1/defusedxml-0.7.1-py2.py3-none-any.whl (25 kB) Collecting packaging (from jira->-r docs/requirements.txt (line 2)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/packaging/25.0/packaging-25.0-py3-none-any.whl (66 kB) Collecting requests-oauthlib>=1.1.0 (from jira->-r docs/requirements.txt (line 2)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/requests-oauthlib/2.0.0/requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB) Collecting requests_toolbelt (from jira->-r docs/requirements.txt (line 2)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/requests-toolbelt/1.0.0/requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB) Collecting typing_extensions>=3.7.4.2 (from jira->-r docs/requirements.txt (line 2)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/typing-extensions/4.14.1/typing_extensions-4.14.1-py3-none-any.whl (43 kB) Collecting charset_normalizer<4,>=2 (from requests>=2.32.3->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/charset-normalizer/3.4.2/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (147 kB) Collecting idna<4,>=2.5 (from requests>=2.32.3->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/idna/3.10/idna-3.10-py3-none-any.whl (70 kB) Collecting urllib3<3,>=1.21.1 (from requests>=2.32.3->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/urllib3/2.5.0/urllib3-2.5.0-py3-none-any.whl (129 kB) Collecting certifi>=2017.4.17 (from requests>=2.32.3->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/certifi/2025.8.3/certifi-2025.8.3-py3-none-any.whl (161 kB) Collecting oauthlib>=3.0.0 (from requests-oauthlib>=1.1.0->jira->-r docs/requirements.txt (line 2)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/oauthlib/3.3.1/oauthlib-3.3.1-py3-none-any.whl (160 kB) Collecting sphinxcontrib-applehelp>=1.0.7 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-applehelp/2.0.0/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB) Collecting sphinxcontrib-devhelp>=1.0.6 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-devhelp/2.0.0/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB) Collecting sphinxcontrib-htmlhelp>=2.0.6 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-htmlhelp/2.1.0/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB) Collecting sphinxcontrib-jsmath>=1.0.1 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-jsmath/1.0.1/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Collecting sphinxcontrib-qthelp>=1.0.6 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-qthelp/2.0.0/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB) Collecting sphinxcontrib-serializinghtml>=1.1.9 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-serializinghtml/2.0.0/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB) Collecting Jinja2>=3.1 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/jinja2/3.1.6/jinja2-3.1.6-py3-none-any.whl (134 kB) Collecting Pygments>=2.17 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/pygments/2.19.2/pygments-2.19.2-py3-none-any.whl (1.2 MB) Collecting docutils<0.22,>=0.20 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/docutils/0.21.2/docutils-0.21.2-py3-none-any.whl (587 kB) Collecting snowballstemmer>=2.2 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/snowballstemmer/3.0.1/snowballstemmer-3.0.1-py3-none-any.whl (103 kB) Collecting babel>=2.13 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/babel/2.17.0/babel-2.17.0-py3-none-any.whl (10.2 MB) Collecting alabaster>=0.7.14 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/alabaster/1.0.0/alabaster-1.0.0-py3-none-any.whl (13 kB) Collecting imagesize>=1.3 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/imagesize/1.4.1/imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB) Collecting roman-numerals-py>=1.0.0 (from Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/roman-numerals-py/3.1.0/roman_numerals_py-3.1.0-py3-none-any.whl (7.7 kB) Collecting MarkupSafe>=2.0 (from Jinja2>=3.1->Sphinx>=3.0.0->sphinxcontrib-spelling) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/markupsafe/3.0.2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23 kB) Collecting sphinxcontrib-jquery<5,>=4 (from sphinx-rtd-theme->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinxcontrib-jquery/4.1/sphinxcontrib_jquery-4.1-py2.py3-none-any.whl (121 kB) Collecting blockdiag>=1.5.0 (from sphinxcontrib-blockdiag->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/blockdiag/3.0.0/blockdiag-3.0.0-py3-none-any.whl (2.7 MB) Requirement already satisfied: setuptools in ./.tox/spelling/lib/python3.11/site-packages (from blockdiag>=1.5.0->sphinxcontrib-blockdiag->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) (80.9.0) Collecting Pillow>3.0 (from blockdiag>=1.5.0->sphinxcontrib-blockdiag->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/pillow/11.3.0/pillow-11.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.6 MB) Collecting webcolors (from blockdiag>=1.5.0->sphinxcontrib-blockdiag->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/webcolors/24.11.1/webcolors-24.11.1-py3-none-any.whl (14 kB) Collecting jsonschema==3.2.0 (from sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/jsonschema/3.2.0/jsonschema-3.2.0-py2.py3-none-any.whl (56 kB) Collecting matplotlib>3.1.0 (from sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/matplotlib/3.10.5/matplotlib-3.10.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.7 MB) Collecting requests-file<2.0.0,>=1.5.1 (from sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/requests-file/1.5.1/requests_file-1.5.1-py2.py3-none-any.whl (3.7 kB) Collecting sphinx-data-viewer<0.2.0,>=0.1.1 (from sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/sphinx-data-viewer/0.1.5/sphinx_data_viewer-0.1.5-py3-none-any.whl (8.2 kB) Collecting attrs>=17.4.0 (from jsonschema==3.2.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/attrs/25.3.0/attrs-25.3.0-py3-none-any.whl (63 kB) Collecting pyrsistent>=0.14.0 (from jsonschema==3.2.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/pyrsistent/0.20.0/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (120 kB) Collecting six>=1.11.0 (from jsonschema==3.2.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/six/1.17.0/six-1.17.0-py2.py3-none-any.whl (11 kB) Collecting contourpy>=1.0.1 (from matplotlib>3.1.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/contourpy/1.3.3/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (355 kB) Collecting cycler>=0.10 (from matplotlib>3.1.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/cycler/0.12.1/cycler-0.12.1-py3-none-any.whl (8.3 kB) Collecting fonttools>=4.22.0 (from matplotlib>3.1.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/fonttools/4.59.0/fonttools-4.59.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.0 MB) Collecting kiwisolver>=1.3.1 (from matplotlib>3.1.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/kiwisolver/1.4.8/kiwisolver-1.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB) Collecting numpy>=1.23 (from matplotlib>3.1.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/numpy/2.3.2/numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.9 MB) Collecting pyparsing>=2.3.1 (from matplotlib>3.1.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/pyparsing/3.2.3/pyparsing-3.2.3-py3-none-any.whl (111 kB) Collecting python-dateutil>=2.7 (from matplotlib>3.1.0->sphinxcontrib-needs->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/python-dateutil/2.9.0.post0/python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) Collecting nwdiag>=1.0.3 (from sphinxcontrib-nwdiag->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/nwdiag/3.0.0/nwdiag-3.0.0-py3-none-any.whl (7.7 MB) Collecting seqdiag>=0.9.3 (from sphinxcontrib-seqdiag->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/seqdiag/3.0.0/seqdiag-3.0.0-py3-none-any.whl (2.6 MB) Collecting future (from sphinxcontrib-swaggerdoc->lfdocs-conf>0.6.1->-r docs/requirements.txt (line 1)) Using cached https://nexus3.opendaylight.org/repository/PyPi/packages/future/1.0.0/future-1.0.0-py3-none-any.whl (491 kB) Installing collected packages: sphinx-bootstrap-theme, webcolors, urllib3, typing_extensions, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, six, roman-numerals-py, PyYAML, pyrsistent, pyparsing, Pygments, PyEnchant, Pillow, packaging, oauthlib, numpy, MarkupSafe, kiwisolver, imagesize, idna, future, funcparserlib, fonttools, docutils, defusedxml, cycler, charset_normalizer, certifi, babel, attrs, alabaster, requests, python-dateutil, jsonschema, Jinja2, contourpy, blockdiag, Sphinx, seqdiag, requests_toolbelt, requests-oauthlib, requests-file, nwdiag, matplotlib, sphinxcontrib-swaggerdoc, sphinxcontrib-spelling, sphinxcontrib-seqdiag, sphinxcontrib.plantuml, sphinxcontrib-nwdiag, sphinxcontrib-jquery, sphinxcontrib-blockdiag, sphinx-tabs, sphinx-data-viewer, jira, sphinxcontrib-needs, sphinx-rtd-theme, lfdocs-conf Successfully installed Jinja2-3.1.6 MarkupSafe-3.0.2 Pillow-11.3.0 PyEnchant-3.2.2 PyYAML-6.0.2 Pygments-2.19.2 Sphinx-8.2.3 alabaster-1.0.0 attrs-25.3.0 babel-2.17.0 blockdiag-3.0.0 certifi-2025.8.3 charset_normalizer-3.4.2 contourpy-1.3.3 cycler-0.12.1 defusedxml-0.7.1 docutils-0.21.2 fonttools-4.59.0 funcparserlib-2.0.0a0 future-1.0.0 idna-3.10 imagesize-1.4.1 jira-3.10.5 jsonschema-3.2.0 kiwisolver-1.4.8 lfdocs-conf-0.9.0 matplotlib-3.10.5 numpy-2.3.2 nwdiag-3.0.0 oauthlib-3.3.1 packaging-25.0 pyparsing-3.2.3 pyrsistent-0.20.0 python-dateutil-2.9.0.post0 requests-2.32.4 requests-file-1.5.1 requests-oauthlib-2.0.0 requests_toolbelt-1.0.0 roman-numerals-py-3.1.0 seqdiag-3.0.0 six-1.17.0 snowballstemmer-3.0.1 sphinx-bootstrap-theme-0.8.1 sphinx-data-viewer-0.1.5 sphinx-rtd-theme-3.0.2 sphinx-tabs-3.4.7 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-blockdiag-3.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jquery-4.1 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-needs-0.7.9 sphinxcontrib-nwdiag-2.0.0 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-seqdiag-3.0.0 sphinxcontrib-serializinghtml-2.0.0 sphinxcontrib-spelling-8.0.1 sphinxcontrib-swaggerdoc-0.1.7 sphinxcontrib.plantuml-0.30 typing_extensions-4.14.1 urllib3-2.5.0 webcolors-24.11.1