https://github.com/disruptek/gram
generic graphs in Nim 🕸
https://github.com/disruptek/gram
gram graph nim
Last synced: 28 days ago
JSON representation
generic graphs in Nim 🕸
- Host: GitHub
- URL: https://github.com/disruptek/gram
- Owner: disruptek
- License: mit
- Created: 2020-05-26T02:43:12.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-13T16:51:01.000Z (over 2 years ago)
- Last Synced: 2025-04-09T16:18:24.377Z (28 days ago)
- Topics: gram, graph, nim
- Language: Nim
- Homepage:
- Size: 206 KB
- Stars: 17
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gram
[](https://github.com/disruptek/gram/actions?query=workflow%3ACI)
[](https://github.com/disruptek/gram/releases/latest)

[](#license)Simple generic graphs
## Goals
- generic node and edge types
- predictably fast performance
- predictably mild memory behavior
- predictably _idiomatic_ API
- **hard to misuse**## Installation
```
$ nimph clone disruptek/gram
```
or if you're still using Nimble like it's 2012,
```
$ nimble install https://github.com/disruptek/gram
```### Graphviz (dot) Output
For this, you'll need to install
[haxscramper's](https://github.com/haxscramper)
[hmisc](https://github.com/haxscramper/hmisc) and
[hasts](https://github.com/haxscramper/hasts) libraries; then you can
`import gram/graphviz` to get the `dotRepr` and `toPng` procedures.```
$ nimph clone hmisc
$ nimph clone hasts
```## Documentation
I'm going to try a little harder with these docs by using `runnableExamples`
so the documentation demonstrates _current_ usage examples and working tests
despite the rapidly-evolving API.[See the documentation for the gram module as generated directly from the
source.](https://disruptek.github.io/gram/gram.html)## License
MIT