New port: math/py-grandalf: Graph experimentation and drawing algorithms framework

This commit is contained in:
Yuri Victorovich 2019-02-18 18:46:34 +00:00
parent f74dc579c9
commit 9c07198a38
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=493310
4 changed files with 44 additions and 0 deletions

View File

@ -717,6 +717,7 @@
SUBDIR += py-gmpy
SUBDIR += py-gmpy2
SUBDIR += py-gnuplot
SUBDIR += py-grandalf
SUBDIR += py-graphillion
SUBDIR += py-igakit
SUBDIR += py-igraph

23
math/py-grandalf/Makefile Normal file
View File

@ -0,0 +1,23 @@
# $FreeBSD$
PORTNAME= grandalf
PORTVERSION= 0.6
CATEGORIES= math graphics python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Graph experimentation and drawing algorithms framework
LICENSE= MIT
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-runner>0:devel/py-pytest-runner@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}future>0:devel/py-future@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyparsing>0:devel/py-pyparsing@${PY_FLAVOR}
USES= python
USE_PYTHON= distutils autoplist
NO_ARCH= yes
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1550515145
SHA256 (grandalf-0.6.tar.gz) = 7471db231bd7338bc0035b16edf0dc0c900c82d23060f4b4d0c4304caedda6e4
SIZE (grandalf-0.6.tar.gz) = 36699

View File

@ -0,0 +1,17 @@
Grandalf is a python package made for experimentations with graphs and drawing
algorithms. It is written in pure python, and implements two layouts: the
Sugiyama hierarchical layout and the force-driven or energy minimization
approach. While not as fast or featured as _graphviz_ or other libraries like
_OGDF_ (C++), _GDToolkit_ (C), _tulip_ (Java), it provides a way to draw and
navigate graphs no larger than thousands of nodes, while keeping the source code
simple enough to make it possible to easily tweak and hack any part of it for
experimental purpose. With a total of about 1500 lines of python, the code
involved in drawing the Sugiyama (dot) layout fits in less than 600 lines.
The energy minimization approach is comprised of only 250 lines!
Grandalf does only two not-so-simple things:
* computing the nodes (x,y) coordinates (based on provided nodes dimensions, and
a chosen layout)
* routing the edges with lines or nurbs
WWW: https://github.com/bdcht/grandalf