This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

This program is alpha

(but you can use it, and report bugs and wishes)

Kesako?!

Ajgu is graph database with several backends. It’s meant to be an easy to use, just works persistent property graph for people that want to experiment with graph databases. Hopefully, SQLite for graphs.

The supported backends are:

  • Oracle Berkeley Database (also know as sleepycat database, bsddb or simply db)
  • File based

Development happens @ https://git.framasoft.org/python-graphiti-love-story/AjguGraphDB

ChangeLog

15.07.30

Add property indices. Only str and int can be indexed. To index a property you must register the property name with graph.index(name). This will index properties that have this for both Edge and Vertex so becarful how you name properties. Then you can use txn.element.filter(name=value) where element is as usual edge or vertex to retrieve the interesting elements. Have a look at movielens example for example usage.

15.07.11

  • Major fix in NoTxnBSDDB3. Now it’s really a ACID less (transaction-less) backend.

15.06.25

  • add syncless transaction with sync=False in BSDDB3 storage
  • add movielens latest small load script
  • improve http frontend and move it inside ajgu code
  • add documentation in docs directory using mkdocs

15.06.21

  • ajgu: storage: Add File based backend
  • ajgu: storage: Add Transaction less bsddb3 backend
  • examples: Add conceptnet load script
  • examples: Add mini microblog app

15.06.15

Important changes:

  • Several API changes
  • Transaction support was fully broken, please upgrade if you require transactions.

Details:

  • move to unittest.TestCase
  • use uuid4 for identifier generation
  • move Element, Vertex and Edge class to elements.py module
  • rework to implement Storage based backend to make future work on multiple backends easier
  • rework Element.properties() now it’s Element.properties and Element.props with new API (with tests)
  • implement Transaction.edge & Transaction.vertex API via manager classes (cf. manager.py). Same API as before but element specific. Now you create a vertex with txn.vertex.create('software'), and retrieve an edge with txn.edge.get(ajgu_depends_bsddb).
  • add txn.*.slice
  • index elements by labels to speed up txn.*.label queries.
  • several cleanups, removed old index/query code (uzelmumu module still works)
  • fix pypi example to work with new API

15.06.10

  • add example app
  • better error when magic keys is used but fails
  • fix bug where edge and vertex weren’t not saved
  • fix import error in tests

Getting started

Dependencies:

  • python3
  • bsddb3
  • msgpack

bsddb3 must be installed on you system. Dependending on the distribution it’s called db or bdb. If you have a python3-bsddb3 package use that one.

You can use python setup.py develop or pip install ajgu but you will need python 3 and bsddb headers.

Contact

Feel free to contact me at amirouche+dev@hypermove.net if you need suppport or want to discuss matters related to graph databases.

FAQ

  1. What ajgu means?

    ajgu is a beam used in house construction in amazigh language.

  2. Why not use SQLite instead of bsddb3?

    People say sqlite and relationnal database are not meant to store graph data. I believe them. Also key/value stores offer the necessary flexibility to store many kinds of data.

  3. Where can I find a graph server with multi *thread* and *python querying*?

    GraphitiDB I never used it for the real. It’s relying on old version of Tinkerpop.

  4. Are GraphDBs useful beyond prototyping?

    You tell me!

  5. GraphDBs are awesome, where can I learn more?

Release History

Release History

15.07.25

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

15.7.11

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

15.6.25

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

15.6.21

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

15.6.15

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

15.6.10

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

15.05.26.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.99.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

1.99.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
Ajgu-15.07.25.tar.gz (984.9 kB) Copy SHA256 Checksum SHA256 Source Jul 29, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting