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.

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
  • 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

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.1.0.tar.gz (22.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.1.0-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: edgegraph-0.1.0.tar.gz
  • Upload date:
  • Size: 22.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.1.0.tar.gz
Algorithm Hash digest
SHA256 0a1d439c146387f2377469f24e3f71a3fb1bf23d57c019b81c5a646ffaaaf710
MD5 f9ddec5101c1e07787e544ebfbe5c3a3
BLAKE2b-256 271f1cea97e2d146f48d0252e36d5d1c4c5d5be1f963ac279013a9a43429a07e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edgegraph-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 27.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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bf32184463296b27a938b79fc05bfbbf14146f56663618b0cddac9fd58d68612
MD5 1bd8269aeb4c7d16154eb91381b14c7b
BLAKE2b-256 e7edf7304f0abf4254e8401fb1caaf1725afbfa78a17bbe416c5d7342c2ded21

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