Skip to main content

Object oriented edge-vertex graph library.

Project description

EdgeGraph

EdgeGraph is an object-oriented approach to network graphs. It provides classes to inherit from in other applications / modules, and provides out-of-the-box operations for these classes and any subclasses of.

The intent of EdgeGraph is to allow applications to model related data with a method closer to reality, without having to implement a custom graph module. It provides facilities to this end, such as the base classes to allow linking and the functions to perform it.

The base classes are also usable directly, should you wish to test-drive this idea or study abstract graphs.

See the docs for more.

Prealpha

At this time, this project is extremely young. Per semantic versioning, it is in version 0. This means that the API may be changed at any time, without warning.

Planned features include:

  • Single base class for all objects, with custom data support
  • Vertex-edge graphs
  • "Universe" class to contain graphs as a single unit
  • Class-based edges, can associate arbitrary data with edges
  • Automatic edge update propagation to necessary endpoints
  • Adjacency list / matrix build-a-graph
  • Build-an-adjlist / build-an-adjmat from graphs
  • Breadth-first search and traversal
  • Depth-first search and traversal
  • Topological sorting
  • Strongly connected component detection
  • Universe island detection
  • Shortest path detection
  • Graph drawing generation via PlantUML
  • Graph export to PyVis, ready for interactive display
  • Formal automata modelling (DFA, NFA, etc)
  • Operation flow graph modelling (nodes as operations instead of states)
  • "Functional graphs" -- attach executable code to nodes and run a graph as a program
  • Object serialization, save-to- and load-from-file
  • Singleton and semi-singleton utilities

These features, as with the API, may be changed or dropped at any time without warning. I do have a day job, after all :)

Sphinx documentation and full Pytest-driven unit testing coverage is expected to match the progress of the code.

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

edgegraph-0.5.0.tar.gz (39.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edgegraph-0.5.0-py3-none-any.whl (47.4 kB view details)

Uploaded Python 3

File details

Details for the file edgegraph-0.5.0.tar.gz.

File metadata

  • Download URL: edgegraph-0.5.0.tar.gz
  • Upload date:
  • Size: 39.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for edgegraph-0.5.0.tar.gz
Algorithm Hash digest
SHA256 73da6d5f426b401c42d764f5543179c9b85ac2fb6ec8a4de09de04be9a8d7620
MD5 2b8ecc5ee54af626f9884b5bda04500b
BLAKE2b-256 68ff201d4db0b70f233bfbdeefadb4aa359a865152fbe1c4f55bf2483b3b8d85

See more details on using hashes here.

File details

Details for the file edgegraph-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: edgegraph-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 47.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for edgegraph-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eaeac0ac7f4a4cee0c16856367d010417ce844c0ee927716f5d8cd0a0db078b8
MD5 c899a42c229a485a4d938b563ce425cd
BLAKE2b-256 207ffbe27e53b2e10bbd4d298409271ac513b03d1b0c430d7cc76d744d12293b

See more details on using hashes here.

Supported by

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