graphtty
Turn any directed graph into colored ASCII art for your terminal
What it is and what it does
graphtty converts a directed graph structure (nodes and edges) into formatted ASCII art suitable for terminal display. You define your graph as a JSON-like dictionary with node and edge lists, then call render() to get a text representation with box-drawing characters, optional labels, and color themes. It's designed for visualizing workflows, agent pipelines, and decision trees in the terminal without requiring external graphing libraries.
The package includes a CLI tool for rendering graphs from JSON files, supports nested subgraphs and node descriptions, and offers ten built-in color themes (monokai, ocean, dracula, nord, and others). It uses a custom Sugiyama-style layout engine and is optimized for fast rendering—the benchmarks show typical graphs render in under a millisecond.
Use it for:
- Visualize AI agent workflows and decision trees directly in the terminal during development and debugging.
- Display ETL pipelines, data processing workflows, and orchestration graphs in CLI tools and dashboards.
- Generate ASCII diagrams of system architectures and component dependencies for documentation and terminal output.
- Render graph structures in real-time monitoring or inspection tools without pulling in heavy graphing dependencies.
- Create reproducible, version-controllable graph visualizations by storing graph definitions as JSON.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Renders directed graphs as colored ASCII art in the terminal using a pure Python implementation with no external dependencies.
Yes. graphtty is a lightweight, dependency-free tool for terminal graph visualization with active maintenance, permissive licensing, and no known vulnerabilities. Install it if you need to display directed graphs in the terminal—it's particularly useful for agent workflows and CLI-based tools. The early version number (0.1.8) suggests the API may evolve, so pin the version if stability is critical.
Install
graphtty on PyPI
pip
pip install graphttyuv
uv add graphttypoetry
poetry add graphttyInstalling graphtty
Before you install
Low friction install with no runtime dependencies. Active maintenance as of August 2026, though the project is relatively young (first released February 2026).
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal obligations.
Quickstart
pip install graphtty
from graphtty import render
graph = {
"nodes": [{"id": "a", "name": "Start", "type": "entry"}],
"edges": []
}
print(render(graph))
Requires Python 3.11 or later.
Verify before relying
- Whether the package handles very large graphs (thousands of nodes) without performance degradation beyond the benchmarked samples.
- Stability and API compatibility guarantees given the 0.1.x version number and recent first release.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 180 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 404,924/month — #6,910 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: graphtty-0.1.8-py3-none-any.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
asciidagRenders directed acyclic graphs as ASCII art in…
copyleft · top 15,000 on PyPI
structoutFormats and displays graphs and large integer…
copyleft · top 15,000 on PyPI
streamlit-agraphRenders interactive network graphs in Streamlit…
unclear · top 15,000 on PyPI
pycowsayDisplays text in a formatted ASCII art cow…
permissive · top 15,000 on PyPI
planarityTests whether a graph is planar, computes…
permissive · top 15,000 on PyPI
rich-pixelsRenders pixel images and ASCII art grids to the…
unclear · top 15,000 on PyPI
rich-pyfigletRenders ASCII art banners in the terminal using…
permissive · top 15,000 on PyPI
pyfigletRenders ASCII text as ASCII art using a variety…
permissive · top 5,000 on PyPI
cowsayRenders ASCII art animals and custom characters…
copyleft · top 5,000 on PyPI
terminaltexteffectsRenders animated visual effects for text…
permissive · top 15,000 on PyPI