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.4.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.4.0-py3-none-any.whl (47.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: edgegraph-0.4.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.4.0.tar.gz
Algorithm Hash digest
SHA256 6f28e58955055c79074c23a3cb985019b5303b79c58ebc890777473ae3197ddd
MD5 86cac6c0d5349b23a7549383d8b5a8d2
BLAKE2b-256 006e06cbbcb74af3bbc0691f27699d9d886fc22f2fa2a1d91d6d24c7cc76dfce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edgegraph-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 47.5 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 352b0d23a40b91566eaf9e04ec9a7a7642e8b879828077b84e94a5f69b1b344d
MD5 8d98313fa102aa46caa8b8e3e5de5d3a
BLAKE2b-256 02ceff2415466ce0d2d00538a31130e0034e228ef965203cd548ba91dde405ce

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