skillfed

asciidag

Draw DAGs (directed acyclic graphs) as ASCII art, à la git log --graph

asciidag v0.2.0 179.4K downloads/30d#10,174 on PyPI41
Copyleft license GPL-2.0-only Abandoned released

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 asciidag

uv

uv add asciidag

poetry

poetry add asciidag

Installing 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

Development Status :: 3 - AlphaEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: GNU General Public License v2 (GPLv2)Programming Language :: Python :: 2Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.0Programming Language :: Python :: 3.1Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development

Tags

ascii art graph visualizationdag drawing terminaldirected acyclic graph asciigit log graph styletext-based dag rendererconsole graph displayascii dag visualization
ascii-visualizationdag-renderingterminal-graphics

More Software Development packages