altgraph

0.17.5 · active · verified Thu Apr 09

altgraph is a foundational Python library for creating and manipulating directed and undirected graphs (networks). It provides a robust set of tools for graph data structures and basic algorithms, often used as a dependency in projects like PyInstaller. The current version is 0.17.5, with sporadic but active maintenance and releases typically a few times a year.

Warnings

Install

Imports

Quickstart

Demonstrates creating a simple directed graph, adding nodes and edges, and basic traversal operations.

from altgraph.Graph import Graph

# Create a new graph
g = Graph()

# Add nodes
g.add_node("Start")
g.add_node("Mid")
g.add_node("End")

# Add edges
g.add_edge("Start", "Mid")
g.add_edge("Mid", "End")
g.add_edge("Start", "End", label="direct")

print(f"Nodes: {list(g.nodes())}")
print(f"Edges: {list(g.edges())}")
print(f"Successors of 'Start': {list(g.forw_nodes("Start"))}")
print(f"Predecessors of 'End': {list(g.back_nodes("End"))}")

# Example of iterating over nodes and edges
for node in g.nodes():
    print(f"Node: {node}")

for head, tail, data in g.edges():
    print(f"Edge: {head} -> {tail} (data: {data})")

view raw JSON →