nimviz
A wrapper for the graphviz c api.
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 |
Tags
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.