{ "info": { "author": "Amirouche Boubekki", "author_email": "amirouche@hypermove.net", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python :: 3.4", "Topic :: Software Development" ], "description": "=====================\n Ajgu Graph Database\n=====================\n\n**This program is alpha**\n\n(but you can use it, and report bugs and wishes)\n\n\nKesako?!\n========\n\nAjgu 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.\n\nThe supported backends are:\n\n- Oracle Berkeley Database (also know as sleepycat database, bsddb or simply db)\n- File based\n\nDevelopment happens @ https://git.framasoft.org/python-graphiti-love-story/AjguGraphDB\n\nChangeLog\n=========\n\n15.07.30\n--------\n\nAdd 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.\n\n15.07.11\n--------\n\n- Major fix in `NoTxnBSDDB3`. Now it's really a ACID less (transaction-less) backend.\n\n\n15.06.25\n--------\n\n- add syncless transaction with `sync=False` in BSDDB3 storage\n- add movielens latest small load script\n- improve http frontend and move it inside ajgu code\n- add documentation in docs directory using mkdocs\n\n\n15.06.21\n--------\n\n- ajgu: storage: Add File based backend\n- ajgu: storage: Add Transaction less bsddb3 backend\n- examples: Add conceptnet load script\n- examples: Add mini microblog app\n\n15.06.15\n--------\n\nImportant changes:\n\n- Several API changes\n- Transaction support was fully broken, please upgrade if you require transactions.\n\nDetails:\n\n- move to unittest.TestCase\n- use ``uuid4`` for identifier generation\n- move ``Element``, ``Vertex`` and ``Edge`` class to ``elements.py`` module\n- rework to implement ``Storage`` based backend to make future work on multiple backends easier\n- rework ``Element.properties()`` now it's ``Element.properties`` and ``Element.props`` with new API (with tests)\n- 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)``.\n- add ``txn.*.slice``\n- index elements by labels to speed up ``txn.*.label`` queries.\n- several cleanups, removed old index/query code (``uzelmumu`` module still works)\n- fix pypi example to work with new API\n\n15.06.10\n--------\n\n- add example app\n- better error when magic keys is used but fails\n- fix bug where edge and vertex weren't not saved\n- fix import error in tests\n\nGetting started\n===============\n\nDependencies:\n\n- python3\n- bsddb3\n- msgpack\n\nbsddb3 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.\n\nYou can use ``python setup.py develop`` or ``pip install ajgu`` but you will need python 3 and bsddb headers.\n\nContact\n=======\n\nFeel free to contact me at ``amirouche+dev@hypermove.net`` if you need suppport or want to discuss matters related to graph databases.\n\n\nFAQ\n===\n\n#. **What ajgu means?**\n \n *ajgu* is a beam used in house construction in amazigh language.\n\n#. **Why not use SQLite instead of bsddb3?**\n\n People say sqlite and relationnal database are not meant to store graph data. I believe them. Also\n key/value stores offer the necessary flexibility to store many kinds of data.\n \n#. **Where can I find a graph server with multi *thread* and *python querying*?**\n \n `GraphitiDB `_ I never used it for the real. It's relying on old version of Tinkerpop.\n\n#. **Are GraphDBs useful beyond prototyping?**\n \n You tell me!\n\n#. **GraphDBs are awesome, where can I learn more?**\n \n- https://groups.google.com/forum/#!forum/gremlin-users\n- https://groups.google.com/forum/#!forum/neo4j\n- https://groups.google.com/forum/#!forum/aureliusgraphs\n- https://groups.google.com/forum/#!forum/mogwai-python\n- and ArangoDB, OrientDB...", "description_content_type": null, "docs_url": "https://pythonhosted.org/ajgu/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://git.framasoft.org/python-graphiti-love-story/AjguGraphDB", "keywords": null, "license": "LGPLv3 or later", "maintainer": null, "maintainer_email": null, "name": "ajgu", "package_url": "https://pypi.org/project/ajgu/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ajgu/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://git.framasoft.org/python-graphiti-love-story/AjguGraphDB" }, "release_url": "https://pypi.org/project/ajgu/15.07.25/", "requires_dist": null, "requires_python": null, "summary": "Graph Database for everyday use", "version": "15.07.25" }, "last_serial": 1656432, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "8b7f5c87618226746a708ac9e53dd10a", "sha256": "6cf7676db11486f7db5b3e2124f451a20dc3469d6ebb6b46cac3c64fc844610a" }, "downloads": -1, "filename": "ajgu-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8b7f5c87618226746a708ac9e53dd10a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15534, "upload_time": "2010-09-10T15:29:57", "url": "https://files.pythonhosted.org/packages/4f/c3/2d0631af2b29ff73c4533e93ee4711fe7710f1dfb8dbe5c808a59acd087b/ajgu-0.1.0.tar.gz" } ], "1.99.0": [ { "comment_text": "", "digests": { "md5": "17e47b39fe6cdb9f0cd4adc6838f8af4", "sha256": "4a72cb533401201d73047c7ee92505dcdea809923cb7064040efaccde99aaceb" }, "downloads": -1, "filename": "ajgu-1.99.0.tar.gz", "has_sig": false, "md5_digest": "17e47b39fe6cdb9f0cd4adc6838f8af4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3043, "upload_time": "2013-12-18T14:59:56", "url": "https://files.pythonhosted.org/packages/8e/5b/ef8afd84f27474fc2486d7055a5c29f0fe15627c4d34b4dae6f0aa279d15/ajgu-1.99.0.tar.gz" } ], "1.99.2": [ { "comment_text": "", "digests": { "md5": "f037d727c1c316b6333bb75ea79981f3", "sha256": "ad0d36b18c167a4976b25161e54d528b38eb60578c307599a5f6ff50a5a183f0" }, "downloads": -1, "filename": "ajgu-1.99.2.tar.gz", "has_sig": false, "md5_digest": "f037d727c1c316b6333bb75ea79981f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4992, "upload_time": "2013-12-24T13:40:53", "url": "https://files.pythonhosted.org/packages/4f/77/024d5fd289ada6b8d33b735968d4c656fd731552bf5823dd7cabff30c019/ajgu-1.99.2.tar.gz" } ], "15.05.26.1": [ { "comment_text": "", "digests": { "md5": "8a945b4b074367495e01bc5389d5c4ed", "sha256": "09c3f86c99b7c60d3d235011a06bbe987bb34a7174962abe9338d4812b29bf56" }, "downloads": -1, "filename": "ajgu-15.05.26.1.tar.gz", "has_sig": false, "md5_digest": "8a945b4b074367495e01bc5389d5c4ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12863, "upload_time": "2015-05-26T16:33:12", "url": "https://files.pythonhosted.org/packages/b3/c9/b5acd229c6320f128985f1511a3cb1ceaba1475b812a3901c30144b5b0f6/ajgu-15.05.26.1.tar.gz" } ], "15.07.25": [ { "comment_text": "", "digests": { "md5": "3fd50b195472662c1ba02d6ce72dd315", "sha256": "a03967b8e8b50d1a02325b4b035fe0cd61443576a84c25b64c20467179a67124" }, "downloads": -1, "filename": "Ajgu-15.07.25.tar.gz", "has_sig": false, "md5_digest": "3fd50b195472662c1ba02d6ce72dd315", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 984887, "upload_time": "2015-07-29T22:17:12", "url": "https://files.pythonhosted.org/packages/a3/45/e57cb237d7f3da98dd6c1f2a27e6560ab70ba176a020bf760b7593d0c7a5/Ajgu-15.07.25.tar.gz" } ], "15.6.10": [ { "comment_text": "", "digests": { "md5": "0964ea9fec801d116801a10f66515391", "sha256": "45a3f66b9669f104fb4588ddbfd3bc90a75377a98e54b90b7dfbedcb202be523" }, "downloads": -1, "filename": "ajgu-15.6.10.tar.gz", "has_sig": false, "md5_digest": "0964ea9fec801d116801a10f66515391", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11027, "upload_time": "2015-06-10T15:25:03", "url": "https://files.pythonhosted.org/packages/31/4b/4392ad48e677f76d023a289ab09f12fb738a9d90f0f8bf5291cab854ae6e/ajgu-15.6.10.tar.gz" } ], "15.6.15": [ { "comment_text": "", "digests": { "md5": "13942bc64485c2c73399345f87825f9d", "sha256": "0eaa8aa36a5645c23a676b80c8330b133e6535485a4353bc1663648a918be244" }, "downloads": -1, "filename": "Ajgu-15.6.15.tar.gz", "has_sig": false, "md5_digest": "13942bc64485c2c73399345f87825f9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13008, "upload_time": "2015-06-15T13:24:15", "url": "https://files.pythonhosted.org/packages/7c/75/e014a85574a651e6a8c65c6e68bf494195e97a37030ac5fb0042b7626ee9/Ajgu-15.6.15.tar.gz" } ], "15.6.21": [], "15.6.25": [ { "comment_text": "", "digests": { "md5": "84edb8c61ae96016174daadff51e481e", "sha256": "b802da15cd03caec1270c061eaed10d7bbc5b5395a15657b4f4b2056a0cf62fe" }, "downloads": -1, "filename": "Ajgu-15.6.25.tar.gz", "has_sig": false, "md5_digest": "84edb8c61ae96016174daadff51e481e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 981795, "upload_time": "2015-06-25T15:57:20", "url": "https://files.pythonhosted.org/packages/4f/2d/d1e51267223da24d2bc205c66a23a7b2629c74f416460d83e73432e3cfaf/Ajgu-15.6.25.tar.gz" } ], "15.7.11": [ { "comment_text": "", "digests": { "md5": "fb42a1e1b022a5c33b1dab184f7fbae5", "sha256": "834caa4a49d768402cc33a597d264188be66c4f367d665a6da193f03012621bb" }, "downloads": -1, "filename": "Ajgu-15.7.11-py3-none-any.whl", "has_sig": false, "md5_digest": "fb42a1e1b022a5c33b1dab184f7fbae5", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 371161, "upload_time": "2015-07-11T19:13:07", "url": "https://files.pythonhosted.org/packages/ed/0f/7c2c0c873b3efce78813d3e73f5215527c87c9a8252b4825a776725f6854/Ajgu-15.7.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9dc5729fe177b15a5bca41a5d79d3684", "sha256": "253da095807fbdc6c754fbc9572c531cdb5111a49a6e6ff0b77a859b92e77e36" }, "downloads": -1, "filename": "Ajgu-15.7.11.tar.gz", "has_sig": false, "md5_digest": "9dc5729fe177b15a5bca41a5d79d3684", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 983044, "upload_time": "2015-07-11T19:12:59", "url": "https://files.pythonhosted.org/packages/38/24/ad92023137177ec1e09e155b5ed76bc9d2a67b1833c02017d944dbeb955a/Ajgu-15.7.11.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3fd50b195472662c1ba02d6ce72dd315", "sha256": "a03967b8e8b50d1a02325b4b035fe0cd61443576a84c25b64c20467179a67124" }, "downloads": -1, "filename": "Ajgu-15.07.25.tar.gz", "has_sig": false, "md5_digest": "3fd50b195472662c1ba02d6ce72dd315", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 984887, "upload_time": "2015-07-29T22:17:12", "url": "https://files.pythonhosted.org/packages/a3/45/e57cb237d7f3da98dd6c1f2a27e6560ab70ba176a020bf760b7593d0c7a5/Ajgu-15.07.25.tar.gz" } ] }