{ "info": { "author": "Diego Mu\u00f1oz Escalante", "author_email": "escalant3@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP" ], "description": "pyblueprints\n============\n\nSYNOPSIS: Provides a layer to abstract the Python developer from the graph database system used\n\nFollowing the set of interfaces provided by tinkerpop for Blueprints,\nthis proyect aims to give Python developers a similar functionality.\nA set of abstract classes are defined in order to guide the design of\nimplementations for the different graph database engines.\n\nFeatures\n--------\n\nThis is an experimental version only permitting partial functionality to:\n\n - Rexster infrastructure, supporting every database supported by Rexster (https://github.com/tinkerpop/rexster/)\n - Neo4j database providing abstraction over the neo4j-rest-client API.\n\nPlease keep in mind to backup your data before trying this library.\n\nInstallation\n------------\nThe easiest way to get pyblueprints installed in your virtualenv is by:\n\n pip install pyblueprints\n\nUsage\n-----\n\nThis version of pybluerprints allows you to connect to graph databases by a Rexster Instance or through the neo4j-rest-client API. Therefore a Neo4j database can be accessed with both options, although the Neo4j transactional mode is only available through the later.\nThe Rexster instance also provides connection to the following databases:\n\n - TinkerGraph\n - OrientDB\n - DEX\n - Sail RDF Stores\n\n\nRexster\n\"\"\"\"\"\"\"\nConnecting to a Rexster instance\n\n>>> from pyblueprints import RexsterServer, RexsterGraph \n>>> #Connecting to server\n>>> HOST = 'http://localhost:8182'\n>>> server = RexsterServer(HOST)\n>>> #List graphs availbale in server\n>>> server.graphs()\n[u'tinkergraph', u'gratefulgraph', u'tinkergraph-readonly', u'sailgraph', u'emptygraph']\n>>> #Connecting to a given graph\n>>> graph = RexsterIndexableGraph(server, 'tinkergraph')\n\n\n\nneo4j-rest-client\n\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nCreating a graph object through the neo4j-rest-client API\n\n>>> from pyblueprints.neo4j import Neo4jGraph\n>>> graph = Neo4jGraph('http://localhost:7474/db/data')\n\nCreating an indexable graph object through the neo4j-rest-client API\n\n>>> from pyblueprints.neo4j import Neo4jIndexableGraph\n>>> graph = Neo4jIndexableGraph('http://localhost:7474/db/data')\n\nThe available classes are:\n - Neo4jGraph\n - Neo4jIndexableGraph\n - Neo4jTransactionalGraph\n - Neo4jTransactionalIndexableGraph\n\n\ncode examples\n\"\"\"\"\"\"\"\"\"\"\"\"\"\n\nAdd/Remove Vertex\n'''''''''''''''''\n>>> vertex = graph.addVertex()\n>>> graph.removeVertex(vertex)\n\nAdd/Remove Edge\n'''''''''''''''\n>>> v1 = graph.addVertex()\n>>> v2 = graph.addVertex()\n>>> newEdge = graph.addEdge(v1, v2, 'myLabel')\n>>> graph.removeEdge(newEdge)\n\nVertex Methods\n''''''''''''''\n>>> graph= Neo4jGraph(HOST)\n>>> v1 = graph.addVertex()\n>>> v2 = graph.addVertex()\n>>> newEdge = graph.addEdge(v1, v2, 'myLabel')\n>>> vertex = graph.getVertex(_id)\n>>> # get methods return a generator function\n>>> edge = list(vertex.getBothEdges())[0]\n>>> edge = list(vertex.getOutEdges())[0]\n>>> edges = list(vertex.getInEdges())\n\nVertex/Edges properties\n'''''''''''''''''''''''\n>>> vertex_id = vertex.getId()\n>>> vertex.setProperty('name', 'paquito')\n>>> print vertex.getPropertyKeys()\n>>> print vertex.getProperty('name')\n>>> vertex.removeProperty('name')\n\nEdge Methods\n''''''''''''\n>>> outVertex = edge.getOutVertex()\n>>> inVertex = edge.getInVertex()\n>>> print getLabel()\n\nAdd/Remove Manual Index\n'''''''''''''''''''''''\n>>> index = graph.createManualIndex('myManualIndex', 'vertex')\n>>> graph.dropIndex('myManualIndex', 'vertex')\n \nIndex Methods\n'''''''''''''\n>>> index = graph.getIndex('myManualIndex', 'vertex')\n>>> vertex = graph.addVertex()\n>>> index.put('key1', 'value1', vertex)\n>>> print index.count('key1', 'value1')\n>>> print index.getIndexName()\n>>> print index.getIndexClass()\n>>> print index.getIndexType()\n>>> # get returns a generator function\n>>> vertex2 = list(index.get('key1', 'value1'))[0]\n>>> index.remove('key1', 'value1', vertex)\n\nTransactional Methods\n'''''''''''''''''''''\n>>> graph= Neo4jTransactionalGraph(HOST)\n>>> graph.startTransaction()\n>>> v = graph.addVertex()\n# Stoping calls the commit\n>>> graph.stopTransaction()\n>>> vertexId = v.getId()\n>>> v = graph.getVertex(vertexId)\n>>> graph.startTransaction()\n>>> v.setProperty('p1', 'v1')\n>>> graph.stopTransaction()\n\n\nChanges\n-------\n\n0.6.0 (2012-02-27)\n------------------\n- Tested new transactions supported by neo4j-rest-client 1.6\n\n0.5.1 (2011-11-13)\n------------------\n- Transactions refactored delegating management to the restclient\n\n0.5 (2011-07-26)\n----------------\n- Added Transactional operations support\n- Added dropIndex functionality for Neo4j-API\n- Added code examples to documentation\n- Added tests\n\n0.3.2 (2011-07-15)\n------------------\n- Bugfixes\n\n0.3.1 (2011-07-14)\n------------------\n- Fixed removeProperty bug\n\n0.3 (2011-07-12)\n----------------\n- Added unittests\n- Added getEdge, removeProperty and getBothEdges methods\n- Returning None in NotFoundErrors instead of raising exception\n- Bugfixes\n\n0.2.2 (2011-07-11)\n------------------\n- Added basic installation and usage documentation\n\n0.2.1 (2011-07-06)\n------------------\n- Updated documentation\n\n0.2 (2011-07-06)\n----------------\n- Added integration with python-rexster\n\n0.1 (2011-06-29)\n----------------\n- First Python Index Package release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/escalant3/pyblueprints", "keywords": "property graph model interface graphdb graphdatabase\n database blueprints orientdb neo4j", "license": "GPL 3", "maintainer": null, "maintainer_email": null, "name": "pyblueprints", "package_url": "https://pypi.org/project/pyblueprints/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyblueprints/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/escalant3/pyblueprints" }, "release_url": "https://pypi.org/project/pyblueprints/0.6.0/", "requires_dist": null, "requires_python": null, "summary": "A Python version of the Blueprints\n property graph model interface", "version": "0.6.0" }, "last_serial": 797018, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "d9a63372acaddc0ff527b071abd66b8c", "sha256": "93f70a3e447a3a2ffc21ba72641f13eb170f33bd157f761733c37f67f02615f3" }, "downloads": -1, "filename": "pyblueprints-0.1.tar.gz", "has_sig": false, "md5_digest": "d9a63372acaddc0ff527b071abd66b8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17182, "upload_time": "2011-06-29T21:14:22", "url": "https://files.pythonhosted.org/packages/9a/17/d9a61f3aae6ad415db65ce21dec4a170ea7a6b952f62d1583f4e93c8350c/pyblueprints-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "85365d58a0c72a5d3eb95fc33fcc12e2", "sha256": "c0259035bb8b3817a9c39c88dc571655b189a917f161fd2b52153af69490ce61" }, "downloads": -1, "filename": "pyblueprints-0.2.tar.gz", "has_sig": false, "md5_digest": "85365d58a0c72a5d3eb95fc33fcc12e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22752, "upload_time": "2011-07-06T22:45:06", "url": "https://files.pythonhosted.org/packages/5b/16/6218572acab4b493f1d2ad63e3e0c72413506f68b20bcb2629885f816694/pyblueprints-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "87f713b150dbf27c3a5340221552de01", "sha256": "b32ed7d30d3299680f58ebc60ebec11d3bfee56e5edd2bee3026b0d78671d51a" }, "downloads": -1, "filename": "pyblueprints-0.2.1.tar.gz", "has_sig": false, "md5_digest": "87f713b150dbf27c3a5340221552de01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22811, "upload_time": "2011-07-06T22:49:50", "url": "https://files.pythonhosted.org/packages/a2/4d/8e2b2c2f8e1f08f29194447a3f295aee932366b041c286e2f43d84e169d8/pyblueprints-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "82de914626484906ef04e7158609d66b", "sha256": "90e4a1299662ca790becb7d3ea594d4220358282b333c1911b9f364467cf0abe" }, "downloads": -1, "filename": "pyblueprints-0.2.2.tar.gz", "has_sig": false, "md5_digest": "82de914626484906ef04e7158609d66b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23489, "upload_time": "2011-07-11T18:51:46", "url": "https://files.pythonhosted.org/packages/d1/25/35780ebba17ab7c63328e2646597b8aaa7100a4f89a5dc0b9cc2c91cc3fb/pyblueprints-0.2.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "bc4e4040f48c05c76a49fefe47bcceb4", "sha256": "64150985c912f7bbfc965da536de0f93aaf0481d9685248e794959850d302506" }, "downloads": -1, "filename": "pyblueprints-0.3.tar.gz", "has_sig": false, "md5_digest": "bc4e4040f48c05c76a49fefe47bcceb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23599, "upload_time": "2011-07-12T22:15:13", "url": "https://files.pythonhosted.org/packages/cc/82/54cad1da08f64d7a2f6e09b1ab5a2767a5e31953ed7501d6fb16af2d700a/pyblueprints-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "2abfb9ab5ac19c1e6012f6275c8fc5a9", "sha256": "3d5ad608fc432eddddd68c3e4ff1992f8adfc9ac2e6b8fd760b4d1bc0ea7b358" }, "downloads": -1, "filename": "pyblueprints-0.3.1.tar.gz", "has_sig": false, "md5_digest": "2abfb9ab5ac19c1e6012f6275c8fc5a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23326, "upload_time": "2011-07-14T21:35:23", "url": "https://files.pythonhosted.org/packages/e8/be/1d5178ec6155af7c4af9cae347f5967cf9fa6188856f94093ed38b80608c/pyblueprints-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "9481d8114ad0ad71eeb724eaed76b428", "sha256": "953f89f778d89d3edf4eb89e7b181e323b05676b48c61dd5cb1ccfc6055bec9e" }, "downloads": -1, "filename": "pyblueprints-0.3.2.tar.gz", "has_sig": false, "md5_digest": "9481d8114ad0ad71eeb724eaed76b428", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24035, "upload_time": "2011-07-15T23:29:19", "url": "https://files.pythonhosted.org/packages/d9/1d/a92140d1a0457e8bb86c3667a65bd2672b72ff2463539925e6f634739010/pyblueprints-0.3.2.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "c0c4f92179077dd6010e95cbde88e2f9", "sha256": "e95ef655cd216876a88b9e79a75477cd1878e49c4c4df316f175dfc6e330f78b" }, "downloads": -1, "filename": "pyblueprints-0.5.tar.gz", "has_sig": false, "md5_digest": "c0c4f92179077dd6010e95cbde88e2f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32006, "upload_time": "2011-07-26T20:40:41", "url": "https://files.pythonhosted.org/packages/a9/47/7aefa15c66affb28664eb2cbdde4e35c5a6526398369b26377f5890a52e2/pyblueprints-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "da2044a608ca18667f5e0e9ff12a6cf7", "sha256": "767ca2865272bce3422c2ab520ca62bd2428079690eb792d7653fa87c905bba2" }, "downloads": -1, "filename": "pyblueprints-0.5.1.tar.gz", "has_sig": false, "md5_digest": "da2044a608ca18667f5e0e9ff12a6cf7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27536, "upload_time": "2011-11-13T23:36:17", "url": "https://files.pythonhosted.org/packages/61/8f/4d2c36eb317ae4498a2b21ea027af75822d64ba7817201422d22feda8116/pyblueprints-0.5.1.tar.gz" } ], "0.5.2": [], "0.5.3": [], "0.6.0": [] }, "urls": [] }