{ "info": { "author": "Adam Hopkins", "author_email": "admhpkns@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "**IMPORTANT NOTICE: I am still working on this project. Slowly, but I hope that it should be releasable by mid-2019.**\n\n=======\nPyDiggy\n=======\n\n\n.. .. image:: https://img.shields.io/pypi/v/pydiggy.svg\n.. :target: https://pypi.python.org/pypi/pydiggy\n\n.. .. image:: https://img.shields.io/travis/ahopkins/pydiggy.svg\n.. :target: https://travis-ci.org/ahopkins/pydiggy\n\n.. .. image:: https://readthedocs.org/projects/pydiggy/badge/?version=latest\n.. :target: https://pydiggy.readthedocs.io/en/latest/?badge=latest\n.. :alt: Documentation Status\n\n\n.. .. image:: https://pyup.io/repos/github/ahopkins/pydiggy/shield.svg\n.. :target: https://pyup.io/repos/github/ahopkins/pydiggy/\n.. :alt: Updates\n\n\n\nDgraph to Python object mapper\n\n\n* Free software: MIT license\n\n.. * Documentation: https://pydiggy.readthedocs.io.\n\n.. note::\n\n Python 3.7 only. Sorry.\n\n\nEXAMPLE\n-------\n\n.. code-block:: python\n\n # ./examples/__init__\n\n from .basic import * # noqa\n\n\n # ./examples/basic.py\n\n from __future__ import annotations\n\n\n from pydiggy import Node\n from typing import List\n\n\n class Region(Node):\n area: int\n population: int\n name: str\n borders: List[Region]\n\n\n\nCLI\n---\n\nPoint the CLI utility at an existing module to generate a Dgraph schema.\n\n.. code-block::\n\n $ python3 -m pydiggy generate examples\n\n Generating schema for: examples\n\n Nodes found: (1)\n - Region\n\n Your schema:\n ~~~~~~~~\n\n Region: bool @index(bool) .\n _type: string .\n area: int .\n borders: uid .\n name: string .\n population: int .\n\n ~~~~~~~~\n\nGENERATE MUTATIONS\n------------------\n\n.. code-block:: python\n\n from pydiggy import generate_mutation, Facets\n\n por = Region(uid=0x11, name=\"Portugal\")\n spa = Region(uid=0x12, name=\"Spain\")\n gas = Region(uid=0x13, name=\"Gascony\")\n mar = Region(uid=0x14, name=\"Marseilles\")\n\n por.borders = [spa]\n spa.borders = [por, gas, mar]\n gas.borders = [Facets(spa, foo='bar', hello='world'), mar]\n mar.borders = [spa, gas]\n\n por.stage()\n spa.stage()\n gas.stage()\n mar.stage()\n\n print(generate_mutation())\n\nThe result:\n\n.. code-block::\n\n {\n set {\n <0x11> \"true\" .\n <0x11> <_type> \"Region\" .\n <0x11> \"Portugal\" .\n <0x11> <0x12> .\n <0x12> \"true\" .\n <0x12> <_type> \"Region\" .\n <0x12> \"Spain\" .\n <0x12> <0x11> .\n <0x12> <0x13> .\n <0x12> <0x14> .\n <0x13> \"true\" .\n <0x13> <_type> \"Region\" .\n <0x13> \"Gascony\" .\n <0x13> <0x12> (foo=\"bar\", hello=\"world\") .\n <0x13> <0x14> .\n <0x14> \"true\" .\n <0x14> <_type> \"Region\" .\n <0x14> \"Marseilles\" .\n <0x14> <0x12> .\n <0x14> <0x13> .\n }\n }\n\nHYDATE FROM JSON TO PYTHON OBJECTS\n----------------------------------\n\nGiven some response from Dgraph:\n\n.. code-block:: JSON\n\n {\n \"data\": {\n \"allRegions\": [\n {\n \"uid\": \"0x11\",\n \"_type\": \"Region\",\n \"name\": \"Portugal\",\n \"borders\": [\n {\n \"uid\": \"0x12\",\n \"_type\": \"Region\",\n \"name\": \"Spain\"\n }\n ]\n },\n {\n \"uid\": \"0x12\",\n \"_type\": \"Region\",\n \"name\": \"Spain\",\n \"borders\": [\n {\n \"uid\": \"0x11\",\n \"_type\": \"Region\",\n \"name\": \"Portugal\"\n },\n {\n \"uid\": \"0x13\",\n \"_type\": \"Region\",\n \"name\": \"Gascony\"\n },\n {\n \"uid\": \"0x14\",\n \"_type\": \"Region\",\n \"name\": \"Marseilles\"\n }\n ]\n },\n {\n \"uid\": \"0x13\",\n \"_type\": \"Region\",\n \"name\": \"Gascony\",\n \"borders\": [\n {\n \"uid\": \"0x12\",\n \"_type\": \"Region\",\n \"name\": \"Spain\",\n \"borders|foo\": \"bar\",\n \"borders|hello\": \"world\"\n },\n {\n \"uid\": \"0x14\",\n \"_type\": \"Region\",\n \"name\": \"Marseilles\"\n }\n ]\n },\n {\n \"uid\": \"0x14\",\n \"_type\": \"Region\",\n \"name\": \"Marseilles\",\n \"borders\": [\n {\n \"uid\": \"0x12\",\n \"_type\": \"Region\",\n \"name\": \"Spain\"\n },\n {\n \"uid\": \"0x13\",\n \"_type\": \"Region\",\n \"name\": \"Gascony\"\n }\n ]\n }\n ]\n },\n \"extensions\": {\n \"server_latency\": {\n \"parsing_ns\": 23727,\n \"processing_ns\": 2000535,\n \"encoding_ns\": 7803450\n },\n \"txn\": {\n \"start_ts\": 117,\n \"lin_read\": {\n \"ids\": {\n \"1\": 49\n }\n }\n }\n }\n }\n\nWe can turn it into some Python objects:\n\n.. code-block:: python\n\n >>> data = hydrate(retrieved_data)\n\n {'allRegions': [, , , ]}\n\n\n=======\nHistory\n=======\n\n0.1.0 (2018-07-31)\n------------------\n\n* First release on PyPI.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ahopkins/pydiggy", "keywords": "pydiggy", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "pydiggy", "package_url": "https://pypi.org/project/pydiggy/", "platform": "", "project_url": "https://pypi.org/project/pydiggy/", "project_urls": { "Homepage": "https://github.com/ahopkins/pydiggy" }, "release_url": "https://pypi.org/project/pydiggy/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "Dgraph to Python object mapper", "version": "0.1.0" }, "last_serial": 5307314, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "252925cc08db41edfa60d0a4c3789b93", "sha256": "9ec07da656933aefbee33f89c0198ba923bfd049f252ba7f2dd6c0d77a607f65" }, "downloads": -1, "filename": "pydiggy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "252925cc08db41edfa60d0a4c3789b93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22774, "upload_time": "2019-05-23T12:18:08", "url": "https://files.pythonhosted.org/packages/2d/42/14f37fd4ddd5f05e21e03e5f468ca4767fe86e705d89daca05d2f02f879a/pydiggy-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "252925cc08db41edfa60d0a4c3789b93", "sha256": "9ec07da656933aefbee33f89c0198ba923bfd049f252ba7f2dd6c0d77a607f65" }, "downloads": -1, "filename": "pydiggy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "252925cc08db41edfa60d0a4c3789b93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22774, "upload_time": "2019-05-23T12:18:08", "url": "https://files.pythonhosted.org/packages/2d/42/14f37fd4ddd5f05e21e03e5f468ca4767fe86e705d89daca05d2f02f879a/pydiggy-0.1.0.tar.gz" } ] }