skillfed

graphtty

Turn any directed graph into colored ASCII art for your terminal

graphtty v0.1.8 404.9K downloads/30d#6,910 on PyPI13
Permissive license MIT Active released

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 graphtty

uv

uv add graphtty

poetry

poetry add graphtty

Installing 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

Intended Audience :: DevelopersProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Build Tools

Tags

ascii graph visualizationterminal graph renderingdirected graph ascii artdag visualization terminalworkflow diagram cligraph to text outputcolored terminal graphs
terminal-uigraph-visualizationascii-art

More Build Tools packages