/AdharaDB

A Simple Graph DB implementation in Python

Primary LanguagePythonApache License 2.0Apache-2.0

This is an implementation of a Graph DB System in Python. It is very early and may change significantly. Check it out and file issues with your feedback!

  • Requires Python 3.4
  • Designed to be general purpose.
  • Supports in memory or persisted graphs
  • Persist graphs to any storage backend supported by ZODB
  • Each Node or Edge is identified by a UUID
  • Nodes and Edges can have an unlimited number of Attributes
  • Supports directed or undirected edges
  • Optional weighted graphs (May merge to make all graphs weighted?)
  • Only Supports undirected graphs at this time

What it is missing (for now!)

  • No fancy Graph processing algorithms (yet- contributions welcome, see below :)
  • it has not been tested for performance or really big graphs, though the ZODB backend should provide decent support for it!
  • Documentation (This is what I am working on right now!)

#Road Map#

  • Documentation
  • An ORM with constraint support for graph models
  • Implementations of basic graph algorithms (Perhaps I can port these from NetworkX?)
  • More, better unit tests

#Contributing#

  • All code is Apache 2 licensed
  • Currently this library is in its infancy. Please open an issue before you begin work on any contributions so that we can properly plan together and save a ton of potentially wasted time :)

#Usage# I really should write some documentation here :)