| Crates.io | linnet |
| lib.rs | linnet |
| version | 0.16.1 |
| created_at | 2025-03-28 15:49:52.697975+00 |
| updated_at | 2026-01-13 08:36:04.667697+00 |
| description | A library for working with half-edge data structures, and subgraphs, and drawing them |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1609808 |
| size | 1,687,546 |
Linnet is a graph library, specifically designed and developed to represent tensor networks and Feynman diagrams as used in projects like gammaloop and spenso.
The choice of a half-edge data structure is central to Linnet's design. This structure is exceptionally well-suited for these applications because it intrinsically supports the definition and manipulation of subgraphs that can be cleanly and efficiently "split" along edges (so that node degree is preserved).
All of the graph algorithms, iterators and graph manipulations operate at the level of subgraphs (which can also be the whole graph).
dot-parser curtesy of Martin Vassor integrated in a macro.To start using Linnet in your Rust project, add it as a dependency in your Cargo.toml:
[dependencies]
linnet = "0.6.2"
For AI agents working with this codebase: See .agent/README.md for comprehensive project knowledge and .agent/notes.md for session notes. Key concepts:
just notes and just knowledge for agent context managementThis crate was written by Lucien Huber