mkdocs-topoviewer
Support status: Supported
mkdocs-topoviewer is the MkDocs plugin wrapper for TopoViewer. It lets MkDocs users install TopoViewer with pip and embed declarative topology diagrams with a fenced Markdown block.
This package is licensed under Apache-2.0, like TopoViewer. It is publish-shaped for intentional public Python package releases, while private/customer-specific material should stay in separate packages or private indexes.
Repository Boundary
This package is intentionally separate from the npm renderer package, but both packages are intended to live in one monorepo:
topoviewer/
package.json # npm workspace orchestrator
packages/
topoviewer/ # npm package: topoviewer
mkdocs-topoviewer/ # Python package: mkdocs-topoviewer
The renderer package owns the React component, compiler, schemas, and browser bundle. This package owns only the MkDocs integration: fenced-block parsing, page-relative reference resolution, asset injection, and packaging the approved browser bundle for Python users.
The dependency direction is one way: build TopoViewer first, then vendor its browser-ready embed assets into this package. MkDocs users should not need npm, Vite, React, or TypeScript in their documentation build pipeline.
Install
Install from PyPI:
pip install mkdocs-topoviewer
For local plugin development inside the TopoViewer repository:
pip install -e packages/mkdocs-topoviewer
Private distribution should use an approved package index:
pip install --index-url https://<private-index>/simple mkdocs-topoviewer
Configure
plugins:
- search
- topoviewer
Optional plugin config:
plugins:
- topoviewer:
asset_path: assets/topoviewer
Use
```topoviewer
topology: ./topoviewer-topo.yaml
stylesheet: ./topoviewer-style.yaml
height: 640px
title: MV network SR-TE service path
controls: true
controlsOpen: false
```
The plugin resolves topology and stylesheet relative to the Markdown page.
What The Plugin Ships
The Python package vendors the browser-ready TopoViewer bundle:
topoviewer-embed.iife.jstopoviewer-embed.csstopoviewer-mkdocs.css
MkDocs receives those files as generated site assets. Projects using the plugin do not need to run npm or copy assets manually.
Development
When the TopoViewer browser bundle changes, refresh the vendored assets from the npm package:
cd ../topoviewer
npm run build
npm run sync:mkdocs
When changing only this Python plugin, work from this package root:
python -m pip install -e .
python -m build
The plugin package should remain independently buildable and publishable. Do not import source files from ../topoviewer; use only the vendored browser assets under mkdocs_topoviewer/assets/.
Release Model
mkdocs-topovieweris the MkDocs wrapper for the stable TopoViewer browser bundle.- Public plugin releases should contain stable behavior, docs, schemas, and vendored assets.
- Internal preview builds should use approved private package indexes.
- Customer-specific templates, private assets, or proprietary importers belong in separate private packages, not in this generic plugin.
Release files for mkdocs-topoviewer 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mkdocs_topoviewer-0.5.0.tar.gz | 243.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mkdocs_topoviewer-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 489.3 kB
Release files / mkdocs_topoviewer-0.5.0.tar.gz
| Download URL | mkdocs_topoviewer-0.5.0.tar.gz |
|---|---|
| Size | 243.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c801b130bc0dbe89c7c926ebfe3303580d2e87a89ab2d391f6e518157a5b13f4
|
|
BLAKE2b-256 checksum How to use checksums |
8300889b68bef0fdf0fbb2267d3b59f7172712634fdb6f3965ba314db1074e45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.
Transparency logRelease files / mkdocs_topoviewer-0.5.0-py3-none-any.whl
| Download URL | mkdocs_topoviewer-0.5.0-py3-none-any.whl |
|---|---|
| Size | 245.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
73dce2272f2439784b407e3eeca503dbb450ce02624d6592e4aa95a8fd5a6a63
|
|
BLAKE2b-256 checksum How to use checksums |
298ddeda3103564d23d4eca141541eff84a907fb9752859998a246e3b8c63365
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 1, 2026.
Transparency log