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.8.0.tar.gz (45.2 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.8.0-py3-none-any.whl (53.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: edgegraph-0.8.0.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for edgegraph-0.8.0.tar.gz
Algorithm Hash digest
SHA256 192d9aa08442954f2d9991a6c52090e3696448130d8d175bb1988c827bfc9c72
MD5 c62c806486984a5906b02499f753c32d
BLAKE2b-256 1f0f643af2a90842bf8797441449b3147a3a3131cebaa736b90603c7bf056c00

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edgegraph-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 53.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for edgegraph-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 046283b3cb803f0620b193e3cf913197a2ab038ce1d2c5fe4cc7036d8c600691
MD5 34403e4505054ee7b9b37f612a2cc9e1
BLAKE2b-256 3c090943353084a9df52a16752fc07afee3c622997aa17ef45967837f12dcff2

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