gravis
Interactive graph visualizations with Python and HTML/CSS/JS.
What it is and what it does
Gravis is a Python library for creating interactive graph visualizations that render as standalone HTML files. It takes graph data (nodes and edges) and generates a web-based visualization you can open in any browser to explore the structure interactively. The library is designed for developers and researchers who need to visualize networks, hierarchies, or relationship diagrams without building a full web application.
The package depends only on setuptools and produces pure HTML/CSS/JavaScript output, making it portable and easy to share. However, it has been abandoned since its initial 0.1.0 release in December 2021 and receives no maintenance, so there will be no bug fixes, feature additions, or compatibility updates for newer Python versions or browser standards.
Use it for:
- Visualize knowledge graphs or semantic networks for research and documentation.
- Explore social network structures or organizational hierarchies interactively in a browser.
- Generate interactive diagrams of software dependencies or system architectures.
- Create educational visualizations of algorithms or data structures for teaching.
- Export graph data from Python analysis pipelines as shareable HTML reports.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Gravis generates interactive graph visualizations as HTML/CSS/JavaScript output that can be viewed in a web browser, letting you explore network structures and relationships visually.
Yes, but with caution. Gravis is worth installing if you need a lightweight way to turn Python graph data into interactive HTML visualizations and you don't require ongoing maintenance or support. The permissive Apache License, Version 2.0 and low install friction make it accessible. However, its abandoned status since 2021-12-08 means no updates for Python version compatibility, browser standards, or bug fixes—use it only for one-off visualizations or internal tools where stagnation is acceptable.
Install
gravis on PyPI
pip
pip install gravisuv
uv add gravispoetry
poetry add gravisInstalling gravis
Before you install
Installation is straightforward with low friction—a pure Python wheel with only setuptools as a runtime dependency. However, the package has been abandoned since its single release on 2021-12-08, with no maintenance activity in years, so expect no bug fixes or updates.
License in practice
Apache License 2.0 is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute gravis freely as long as you include a copy of the license and state any changes.
Quickstart
pip install gravis
import gravis
# Create and visualize a simple graph
graph = gravis.Graph()
graph.add_node('A')
graph.add_node('B')
graph.add_edge('A', 'B')
gravis.render(graph, output_file='graph.html')
Requires Python 3.5 or later; output is HTML/CSS/JS intended for viewing in a web browser.
Verify before relying
- Whether the package handles large graphs efficiently or has known performance limits.
- What graph layout algorithms are available and how customizable the visualization styling is.
- Whether the HTML output works with modern browser versions and what dependencies it expects client-side.
- What specific graph data structures and methods the API provides beyond basic node/edge operations.
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | supports the current Python release (>=3.5) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — setuptools |
| Maintenance | abandoned — 1,710 days since the last release |
| First released | |
| Downloads | 82,650/month — #14,147 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: gravis-0.1.0-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
pyvisPyvis creates interactive network graph…
permissive · top 5,000 on PyPI
trameTrame is a Python web framework for building…
permissive · top 5,000 on PyPI
torchvizGenerates visual diagrams of PyTorch neural…
permissive · top 5,000 on PyPI
pygraphvizPyGraphviz provides a Python interface to…
permissive · top 5,000 on PyPI
pygexfPygexf writes network graph data to GEXF (Graph…
unclear · top 15,000 on PyPI
missingnoVisualizes missing data patterns in DataFrames…
permissive · top 15,000 on PyPI
dash-cytoscapeDash Cytoscape wraps Cytoscape.js to let you…
permissive · top 15,000 on PyPI
highcharts-coreGenerates interactive Highcharts data…
unclear · top 15,000 on PyPI
brancaBranca generates HTML and JavaScript pages from…
permissive · top 5,000 on PyPI
sphinxcontrib-jsmathA Sphinx extension that renders mathematical…
permissive · top 1,000 on PyPI