nimviz

A wrapper for the graphviz c api.

Wrapper score 15/100 · tests present · no docs generated

Wraps a native library — check OS Compatibility below for platform-specific linking notes.

Summary

Latest Version Unknown
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:24

Installation

nimble install nimviz
choosenim install nimviz
git clone https://github.com/Rekihyt/nimviz

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
nimviz - - - - - - -

Source

Repository https://github.com/Rekihyt/nimviz
Homepage https://github.com/Rekihyt/nimviz
Registry Source nimble_official

README

nimviz

A very barebones wrapper for the graphviz c api. Currently untested on windows/macos.

Requires the graphviz dev files and headers. The debian package for them is libgraphviz-dev.

Examples

Basic graph opening and closing and render. You can quickly view output using fim:

nimble build; ./binary | dot -Tjpg | fim -i --autowindow
import nimviz

var
  graph = agOpen("G", agDirected)
  context = gvContext()
  node1 = graph.agNode("node1")
  node2 = graph.agNode("node2")
  # Create an edge
  edge1 = graph.agEdge(node1, node2, "edge1")

# Set an attribute
discard node2.agSafeSet("color", "green")

discard gvLayout(context, graph, "fdp")
discard gvRender(context, graph, "dot", cast[ptr File](stdout))

discard gvFreeLayout(context, graph)
discard agClose(graph)
discard gvFreeContext(context)

Not Working

Any nested structures, such as DtLinkT and their dependencies.