4 ms·
I'm working on Eland (Extensible Layered Algorithm for Network Drawing), a graph layout library strongly inspired by Elk, but a complete reimplementation. The
by mcv 2mo ago
I'm working on Eland (Extensible Layered Algorithm for Network Drawing), a graph layout library strongly inspired by Elk, but a complete reimplementation.
The reason I need a complete reimplementation is that existing graph layout libraries tend to be black boxes that you can't really fiddle with. If you want to tweak part of the algorithm, you have to fork it or write your own. With Eland, you can replace individual steps with your own implementation while keeping the rest of the algorithm unchanged. To ensure validity of the various steps, I've introduced contracts where every step specifies what properties it requires from the graph, which properties it promises to add, and which it invalidates, which I think is pretty cool.
The reason I need all of this is that I'm working on a system to display and browse through data lineage graphs. I've noticed through experience that existing graph layout libraries don't do quite what I need, so I ended up building my own.
- elric 2mo agoSounds cool. Is this going to be open source, and can we find it somewhere?
- mcv 2mo agoI definitely intend to open source eland. The data lineage stuff I'm less sure about. I hope to build a business out of it, and it will probably always require some custom work to adapt it to specific data sets, specific needs, etc. I'm not at a point where I can make it an easily configurable package yet. Maybe after I've sold it to a couple of banks.