skip to navigation
skip to content

Not Logged In

graphlite 1.0.1

embedded graph datastore

Latest Version: 1.0.5

Graphlite is a tiny graph datastore that stores adjacency lists similar to FlockDB but like conventional graph databases, allow you to query them with traversals (graph-walking queries), and works with datasets that you can fit into your SQLite database.

from graphlite import connect, V
graph = connect(':memory:', graphs=['knows'])

with graph.transaction() as tr:
    for i in range(2, 5):
        tr.store(V(1).knows(i))
    tr.store(V(2).knows(3))
    tr.store(V(3).knows(5))

# who are the friends of the mutual friends
# of both 1 and 2?
graph.find(V(1).knows)\
     .intersection(V(2).knows)\
     .traverse(V().knows)

Graphlite is thread safe, meaning that when transactions are comitted (at the end of the with block), a lock is held and only the thread that commits gets to run. Thread safety is emphasised if you look at the test suite.

Installing

$ pip install graphlite

Contributing

If you want to contribute, we follow the Github workflow, so fork the repo, work on the code and just make a pull request (make sure all tests pass beforehand, at least in the last commit of your pull request). In short:

$ git clone ssh://git@github.com/$USERNAME/graphlite.git
$ cd graphlite
$ git checkout -b $FEATURE
$ # hackedy hack hack
$ py.test tests
$ git commit -a
$ git push

Note that we use py.test for testing so if you haven’t, make sure you pip install pytest. But you should.

  • Code status:
  • Maintainer: Eugene Eeo
  • License: MIT
 
File Type Py Version Uploaded on Size
graphlite-1.0.1.tar.gz (md5) Source 2014-08-20 6KB
  • Downloads (All Versions):
  • 14 downloads in the last day
  • 113 downloads in the last week
  • 381 downloads in the last month