asciidag
Draw DAGs (directed acyclic graphs) as ASCII art, à la git log --graph
What it is and what it does
asciidag is a Python library that visualizes directed acyclic graphs (DAGs) as ASCII art in the terminal, modeled directly on Git's commit graph rendering from `git log --graph`. It provides a Graph class and Node class to construct and display hierarchical structures as text-based diagrams.
The package is a mechanical port of Git's internal graphing code, so it retains Git's visual style and approach but removes Git-specific dependencies. It depends only on enum34 for backward compatibility. The project is marked as alpha quality and has been abandoned since 2020, with no active maintenance or updates.
Use it for:
- Visualize commit histories or version control DAGs in terminal-based tools without a GUI.
- Display hierarchical dependency or family-tree structures as ASCII diagrams for debugging or documentation.
- Render workflow or state-machine DAGs in CLI applications where graphical output is not available.
- Integrate graph visualization into terminal-based development utilities or build systems.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Renders directed acyclic graphs as ASCII art in the terminal, ported from Git's commit graph visualization logic.
No, unless you have a specific legacy need. The package is abandoned (last release October 2020, last commit June 2022) with no maintenance path forward. The GPL-2.0-only license also restricts use in proprietary code. For new projects, consider maintained alternatives or modern graph visualization libraries.
Install
asciidag on PyPI
pip
pip install asciidaguv
uv add asciidagpoetry
poetry add asciidagInstalling asciidag
Before you install
Low install friction with a single runtime dependency (enum34). However, the package is marked abandoned with no releases since October 2020 and the last commit in June 2022, so expect no maintenance or bug fixes going forward.
License in practice
Licensed under GPL-2.0-only (copyleft). This means any code that links to or distributes asciidag must also be released under a compatible GPL license, which may restrict use in proprietary or closed-source projects.
Quickstart
pip install asciidag
from asciidag.graph import Graph
from asciidag.node import Node
graph = Graph()
root = Node('root')
child = Node('child', parents=[root])
graph.show_nodes([child])
Verify before relying
- Whether the package works reliably with Python versions beyond 3.9 (classifiers list 3.9 as the latest tested version).
- Whether enum34 dependency is actually needed on Python 3.4+ where enum is built-in.
- Current state of the Git source code it was ported from and whether significant divergence has occurred.
Package facts
| License | GPL-2.0-only (copyleft) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — enum34 |
| Maintenance | abandoned — 2,139 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 179,375/month — #10,174 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: asciidag-0.2.0-py2.py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
graphttyRenders directed graphs as colored ASCII art in…
permissive · top 15,000 on PyPI
asciitreeRenders tree data structures as formatted ASCII…
permissive · top 5,000 on PyPI
ipydagred3ipydagred3 is an ipywidgets library for…
permissive · top 15,000 on PyPI
planarityTests whether a graph is planar, computes…
permissive · top 15,000 on PyPI
DAWG2-PythonRead-only access to DAWG (directed acyclic word…
permissive · top 15,000 on PyPI
ascii-magicConverts images into ASCII art for display in…
permissive · top 15,000 on PyPI
DAWG-PythonReads DAWG (Directed Acyclic Word Graph) files…
permissive · top 15,000 on PyPI
bigtreeBigtree provides tree, binary tree, and…
permissive · top 15,000 on PyPI
seedirGenerates ASCII tree diagrams of folder…
permissive · top 15,000 on PyPI
adagioAdagio provides a directed acyclic graph (DAG)…
permissive · top 5,000 on PyPI