Skip to main content

Graph and drawing algorithms framework

Project description

Grandalf is a python package made for experimentations with graphs drawing algorithms. It is written in pure python, and currently 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++), it provides a way to walk and draw graphs no larger than thousands of nodes, while keeping the source code simple enough to 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 2 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

It doesn’t depend on any GTK/Qt/whatever graphics toolkit. This means that it will help you find where to draw things like nodes and edges, but it’s up to you to actually draw things with your favorite toolkit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grandalf-0.8.tar.gz (38.1 kB view details)

Uploaded Source

Built Distributions

grandalf-0.8-py3.8.egg (74.3 kB view details)

Uploaded Source

grandalf-0.8-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file grandalf-0.8.tar.gz.

File metadata

  • Download URL: grandalf-0.8.tar.gz
  • Upload date:
  • Size: 38.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.0

File hashes

Hashes for grandalf-0.8.tar.gz
Algorithm Hash digest
SHA256 2813f7aab87f0d20f334a3162ccfbcbf085977134a17a5b516940a93a77ea974
MD5 a1577e1d1945215c01a064eb25259e7c
BLAKE2b-256 950e4ac934b416857969f9135dec17ac80660634327e003a870835dd1f382659

See more details on using hashes here.

File details

Details for the file grandalf-0.8-py3.8.egg.

File metadata

  • Download URL: grandalf-0.8-py3.8.egg
  • Upload date:
  • Size: 74.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.0

File hashes

Hashes for grandalf-0.8-py3.8.egg
Algorithm Hash digest
SHA256 e62f76c6abadf74e9489bf6a5db0afce544a5e3e543708cf52e4707fd0a1a4f3
MD5 b2d7b445a5efe97c9e2d87c79e3e3ce9
BLAKE2b-256 af1f47b3cebb3012aac08b2ecb0f70722533dfa068b55937481f2efc4f5ae280

See more details on using hashes here.

File details

Details for the file grandalf-0.8-py3-none-any.whl.

File metadata

  • Download URL: grandalf-0.8-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.0

File hashes

Hashes for grandalf-0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 793ca254442f4a79252ea9ff1ab998e852c1e071b863593e5383afee906b4185
MD5 6e5a3801884e36b0b8a7b5621944b9b9
BLAKE2b-256 613044c7eb0a952478dbb5f2f67df806686d6a7e4b19f6204e091c4f49dc7c69

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page