Purpleprotocol Graphlib Save Abandoned

Simple but powerful graph library for Rust

Project README


Build Status Discord Badge Latest Version Documentation

Graphlib is a simple and powerful Rust graph library.

This library attempts to provide a generic api for building, mutating and iterating over graphs that is similar to that of other data-structures found in Rust i.e. Vec, HashMap, VecDeque, etc.

Using Graphlib

use graphlib::Graph;

let mut graph: Graph<usize> = Graph::new();

// Add two vertices to the graph
let id1 = graph.add_vertex(1);
let id2 = graph.add_vertex(2);

// Add an edge between the two vertices
graph.add_edge(&id1, &id2);

assert_eq!(*graph.fetch(&id1).unwrap(), 1);
assert_eq!(*graph.fetch(&id2).unwrap(), 2);

// The graph has 2 vertices and one edge at this point
assert_eq!(graph.vertex_count(), 2);
assert_eq!(graph.edge_count(), 1);

// Remove one of the connected vertices

assert_eq!(graph.vertex_count(), 1);
assert_eq!(graph.edge_count(), 0);

Using without std

In Cargo.toml:

graphlib = { version = "*", features = ["no_std"] }


We welcome anyone wishing to contribute to Graphlib! Check out the issues section of the repository before starting out.


Graphlib is licensed under the MIT license.

Open Source Agenda is not affiliated with "Purpleprotocol Graphlib" Project. README Source: purpleprotocol/graphlib
Open Issues
Last Commit
1 year ago

Open Source Agenda Badge

Open Source Agenda Rating