pentagram 0.1.0

graph library with a focus on ergonomics and minimalism
Documentation
  • Coverage
  • 0%
    0 out of 26 items documented0 out of 18 items with examples
  • Size
  • Source code size: 12.45 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.02 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • mkovaxx

rust-pentagram

Pentagram is a graph library with a focus on ergonomics and minimalism.

Goals

  1. Create an ergonomic yet minimal library.
  2. Encode the semantics of each type of graph (simple vs multi, undirected vs directed, etc) into a trait.
  3. Provide a reference implementation for each trait.
  4. Write each graph algorithm on top of a trait, so it works with multiple graph implementations.

Design

Pentagram is the black sheep of Rust graph libraries. It is inspired by the dark arts of functional programming.

Key Ideas

  • Graphs are functors: nodes and edges contain associated data.
  • Traversals and other algorithms are higher-order functions that allow flexible processing of associated data.