pyvis
A Python network graph visualization library
What it is and what it does
Pyvis is a Python wrapper around the visjs JavaScript visualization library that lets you build interactive network graphs and export them as standalone HTML files. You create a Network object, add nodes and edges programmatically, and call show() to render an interactive visualization that users can pan, zoom, and drag in a web browser.
The package depends on networkx for graph data structures, jinja2 for HTML templating, ipython for notebook integration, and jsonpickle for serialization. It's designed for exploratory network analysis and interactive graph exploration rather than static batch rendering. The last release was in February 2023, and while the repository shows recent commits, the project is in dormant maintenance status.
Use it for:
- Visualize social networks or collaboration graphs in Jupyter notebooks for exploratory analysis.
- Display knowledge graphs or ontologies as interactive HTML for stakeholder review.
- Render network topology diagrams for infrastructure or system architecture documentation.
- Explore citation networks or co-authorship graphs interactively.
- Create standalone HTML network visualizations to share without requiring Python or special tools.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pyvis creates interactive network graph visualizations by wrapping the visjs JavaScript library, letting you build and display node-and-edge graphs as HTML files.
Yes, if you need interactive network visualization in Python and can tolerate dormant maintenance. The package is stable, has no known vulnerabilities, low install friction, and a permissive license. The main risk is that dormancy means bug fixes and compatibility updates are unlikely; if you need active support or cutting-edge features, consider alternatives. For exploratory work and one-off visualizations, it remains practical.
Install
pyvis on PyPI
pip
pip install pyvisuv
uv add pyvispoetry
poetry add pyvisInstalling pyvis
Before you install
Low friction: pure Python wheel with four runtime dependencies (networkx, jinja2, ipython, jsonpickle). Maintenance is dormant—last release was 2023-02-24, over a year ago, though the repository remains active with recent commits and no archived status.
License in practice
BSD license is permissive; you can use, modify, and distribute pyvis with minimal restrictions, though you must include a copy of the license.
Quickstart
pip install pyvis
from pyvis.network import Network
g = Network()
g.add_node(0)
g.add_node(1)
g.add_edge(0, 1)
g.show("basic.html")
Verify before relying
- Whether dormant maintenance status affects stability or compatibility with modern Python versions beyond the stated >3.6 requirement.
- Whether the visjs dependency (JavaScript library) is bundled or requires separate installation.
Package facts
| License | BSD (permissive) |
| Python support | supports the current Python release (>3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — ipython, jinja2, jsonpickle, networkx |
| Maintenance | dormant — 1,267 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,314,585/month — #3,145 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyvis-0.3.2-py3-none-any.whl
Tags
More Graphics packages
Pillow adds image processing capabilities to…
permissive · top 100 on PyPI
fonttoolsfonttools manipulates font files in multiple…
permissive · top 1,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
altairAltair is a declarative Python library for…
permissive · top 1,000 on PyPI
gravisGravis generates interactive graph…
permissive · top 15,000 on PyPI
pygraphvizPyGraphviz provides a Python interface to…
permissive · top 5,000 on PyPI
pydotplusPyDotPlus provides a Python interface to…
permissive · top 15,000 on PyPI
highcharts-mapsHighcharts Maps for Python wraps the Highcharts…
unclear · top 15,000 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
highcharts-coreGenerates interactive Highcharts data…
unclear · top 15,000 on PyPI
igraphigraph provides a Python interface to a…
copyleft · top 5,000 on PyPI
pydotpydot is a Python interface to Graphviz that…
permissive · top 1,000 on PyPI
streamlit-agraphRenders interactive network graphs in Streamlit…
unclear · top 15,000 on PyPI
python-nvd3Generates interactive NVD3 charts (pie, line,…
permissive · top 5,000 on PyPI