{ "info": { "author": "Oleg Krasnikov", "author_email": "a.insolite@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries" ], "description": "=====================\ngraphene-peewee-async\n=====================\n\n`graphene `_ + `peewee-async `_ integration :heart:\n\n\nFeatures\n========\n\n- Querying\n - Fields selection (considered by ``SELECT`` statement)\n - Related entities subselection (using foreign key joins)\n - Filters (django-style lookups, like ``peewee.SelectQuery.filter`` args)\n - Order (multiple fields, asc/dsc support)\n - Pagination (``page``, ``paginate_by`` support plus unpaginated ``total`` count auto-fetching)\n- Mutations (both single object and bulk operating, filtering just like for querying)\n - Create\n - Update\n - Delete\n - Clone\n\n\nUsage sample\n============\n\n.. code-block:: python\n\n # Define models\n\n class Author(Model):\n name = CharField()\n rating = IntegerField()\n\n class Book(Model):\n name = CharField()\n year = IntegerField()\n author = ForeignKeyField(Author)\n\n # Create nodes\n\n class BookNode(PeeweeObjectType):\n class Meta:\n model = Book\n manager = db_manager\n\n class AuthorNode(PeeweeObjectType):\n class Meta:\n model = Author\n manager = db_manager\n\n # Create connections\n\n class BookConnection(PeeweeConnection):\n class Meta:\n node = BookNode\n\n # Aggregate queries\n\n class Query(ObjectType):\n books = PeeweeConnectionField(BookConnection)\n\n # Create schema\n\n schema = Schema(query=Query, auto_camelcase=False)\n\n # Execute graphql query\n\n result = schema.execute('''\n query {\n books (filters: {author__name__ilike: \"%Lovecraft%\"}) {\n total\n edges {\n node {\n id\n name\n author {\n id\n name\n }\n }\n }\n }\n }''',\n return_promise=True,\n executor=AsyncioExecutor()\n )\n\n # Await result if required (failed queries are usually returning result\n # synchronously with non-empty `result.errors`\n # while successful ones requires awaiting\n # of peewee/DB level queries of course)\n\n if not isinstance(result, ExecutionResult):\n result = await result\n\n # Enjoy the result :)\n\n print(result.data)\n #\n # ===>\n #\n # {'books': {\n # 'total': 2,\n # 'edges': [\n # {'node': {\n # 'id': 5,\n # 'name': 'Dagon',\n # 'author': {\n # 'id': 1,\n # 'name': 'Howard Lovecraft'\n # }\n # }},\n # {'node': {\n # 'id': 6,\n # 'name': 'At the Mountains of Madness',\n # 'author': {\n # 'id': 1,\n # 'name': 'H.P. Lovecraft'\n # }\n # }}\n # ]\n # }}\n\n\nAdvanced usage\n==============\n\nBe sure to check `API tests `_\nfor advanced query/mutation usages and\n`auto-generating `_\nsuch schema for them.\n\nInstall\n=======\n\nInstall as package:\n\n.. code-block:: bash\n\n pip3 install graphene-peewee-async", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/insolite/graphene-peewee-async", "keywords": "api graphql protocol rest relay graphene", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "graphene-peewee-async", "package_url": "https://pypi.org/project/graphene-peewee-async/", "platform": "any", "project_url": "https://pypi.org/project/graphene-peewee-async/", "project_urls": { "Homepage": "https://github.com/insolite/graphene-peewee-async" }, "release_url": "https://pypi.org/project/graphene-peewee-async/3.0.0/", "requires_dist": null, "requires_python": "", "summary": "Graphene peewee-async integration", "version": "3.0.0" }, "last_serial": 4717772, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "0d34b7d37387d128a3fcd836237c5bef", "sha256": "efeb132b1e33e6e1116ce83ca0754908b46a391dc4982b7fa3ec53bd57dbc06e" }, "downloads": -1, "filename": "graphene-peewee-async-1.0.0.tar.gz", "has_sig": false, "md5_digest": "0d34b7d37387d128a3fcd836237c5bef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11075, "upload_time": "2017-02-02T11:27:36", "url": "https://files.pythonhosted.org/packages/82/21/c304c8a185e1fa77a7c357a6cfdee0444175fce65d15bd217ade38905ff4/graphene-peewee-async-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "8b1f5929fa6f8c8abe2b51746af10fa4", "sha256": "99cbbea358729899af0b52a29b14dfee08d990d2a07780f2763cb3df94b58fc0" }, "downloads": -1, "filename": "graphene-peewee-async-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8b1f5929fa6f8c8abe2b51746af10fa4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11152, "upload_time": "2017-03-14T13:20:25", "url": "https://files.pythonhosted.org/packages/50/80/a404f0dc5899c9b32a7d387d06c596a9701e6e06f2408ebd61908b70847b/graphene-peewee-async-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7020e1e2b28a278157dd9cb78131a34c", "sha256": "102eacddf676a7fd63fc4831a559704b2d1542c6384e8cd7162aca4447871eb1" }, "downloads": -1, "filename": "graphene-peewee-async-1.0.2.tar.gz", "has_sig": false, "md5_digest": "7020e1e2b28a278157dd9cb78131a34c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6756, "upload_time": "2017-04-18T15:02:45", "url": "https://files.pythonhosted.org/packages/35/28/3aa0c291090f5425fef72bfd0618f47446bc068013c928a2eaba099feedf/graphene-peewee-async-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "cc8cd2319e7e5db859da633c27b34681", "sha256": "a9f3e79b99fdd7b6e75faca864b663e1a9e6e60c76d799765cc42f32522055f4" }, "downloads": -1, "filename": "graphene-peewee-async-1.0.3.tar.gz", "has_sig": false, "md5_digest": "cc8cd2319e7e5db859da633c27b34681", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7124, "upload_time": "2017-06-30T08:25:41", "url": "https://files.pythonhosted.org/packages/c3/51/d6fad0b57017544f9c77ff42dd81e3493c6bbd5c2f8c830d590bedc0af81/graphene-peewee-async-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "4594c0d1c9fe977ecbf132cca2caf620", "sha256": "9c9f99672ffacf3aca3c36f692c0da3d40728e24a9b07b24cb40eac688223d0e" }, "downloads": -1, "filename": "graphene-peewee-async-1.0.4.tar.gz", "has_sig": false, "md5_digest": "4594c0d1c9fe977ecbf132cca2caf620", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7255, "upload_time": "2017-08-18T13:42:16", "url": "https://files.pythonhosted.org/packages/35/d5/57fec19a4cbbffaa70a9779001a3609011f5c67e42c855d9295fcf60f644/graphene-peewee-async-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "0f0e151759c51e0a353aed4c74ed827e", "sha256": "ebe885319c0ceff142df5ce329a80abed8ac2590ed453ef7bf8137bc92ae96dc" }, "downloads": -1, "filename": "graphene-peewee-async-1.0.5.tar.gz", "has_sig": false, "md5_digest": "0f0e151759c51e0a353aed4c74ed827e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16443, "upload_time": "2017-08-24T10:57:22", "url": "https://files.pythonhosted.org/packages/ca/09/49ac11749abc7cc2da4e755d7faf27951b9e48ac5f479a24d3a3358f2533/graphene-peewee-async-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "2a9067e96c1a4ffacd67efca1c07661e", "sha256": "27c9466504f9229e3929259383745b6dc479010a528543f4e06113f04222a404" }, "downloads": -1, "filename": "graphene-peewee-async-1.0.6.tar.gz", "has_sig": false, "md5_digest": "2a9067e96c1a4ffacd67efca1c07661e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8347, "upload_time": "2017-08-25T10:46:19", "url": "https://files.pythonhosted.org/packages/41/b9/835afe9242738eb84f331793aa313ac9bd0a9424027a4133fd312dc0ca13/graphene-peewee-async-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "b0e9c5086e01630d3f2c4fa87d8c98a0", "sha256": "c7805c7f68629c6af1f2208745a6662ad63816b497b0d882eaf21934c62a53ff" }, "downloads": -1, "filename": "graphene-peewee-async-1.0.7.tar.gz", "has_sig": false, "md5_digest": "b0e9c5086e01630d3f2c4fa87d8c98a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8365, "upload_time": "2017-09-07T10:14:19", "url": "https://files.pythonhosted.org/packages/e6/b7/c7ea921f1db7af02a9d4870f7a67c575b6718c31d31abc83032ccbaebe1a/graphene-peewee-async-1.0.7.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "d4ccda61c19e9aa3ea2afd85bbbbd93d", "sha256": "b81903bba96787bb7c1c9f1056de783e33dc70a2372a025235a25095c50d1146" }, "downloads": -1, "filename": "graphene-peewee-async-2.0.0.tar.gz", "has_sig": false, "md5_digest": "d4ccda61c19e9aa3ea2afd85bbbbd93d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7015, "upload_time": "2017-09-11T07:15:16", "url": "https://files.pythonhosted.org/packages/07/cb/0d0f96201435b3ba1769b3b61fef3eb5542ad4b22e1eb95943a65ef20a5e/graphene-peewee-async-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "69ffc79edf1ba9bb16b0f2b0ae392fcb", "sha256": "fbae9e7d8d2e62fed81e813940bd43873559c5dcded3c8fbec9900c5b37063ad" }, "downloads": -1, "filename": "graphene-peewee-async-2.0.1.tar.gz", "has_sig": false, "md5_digest": "69ffc79edf1ba9bb16b0f2b0ae392fcb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7009, "upload_time": "2017-10-26T08:01:48", "url": "https://files.pythonhosted.org/packages/e7/e6/335a52d4935ad8f2b2ac1a4c2c4eccd11bcfae689e901956ee4c45cc7c40/graphene-peewee-async-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "0f296c2abb91d2ac610ee63b765c3703", "sha256": "9c29be7f6469032c4ffa469ed70c8204f22d286685c575d938b1d4403a16f7d5" }, "downloads": -1, "filename": "graphene-peewee-async-2.0.2.tar.gz", "has_sig": false, "md5_digest": "0f296c2abb91d2ac610ee63b765c3703", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7159, "upload_time": "2017-11-06T13:36:28", "url": "https://files.pythonhosted.org/packages/e0/44/2803415f4e063e3c149fcafb27a500d3a81da93b2263e3220ce4a8330462/graphene-peewee-async-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "783695b2ac5c365aa773088433f8c590", "sha256": "eaee68a91ab7fae1b0d7166ac385b171012260cc0837579febacf764a756efd8" }, "downloads": -1, "filename": "graphene-peewee-async-2.0.3.tar.gz", "has_sig": false, "md5_digest": "783695b2ac5c365aa773088433f8c590", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7050, "upload_time": "2017-11-09T09:12:23", "url": "https://files.pythonhosted.org/packages/12/f5/2eaeee92509d119c2ff8ae54bf82c8277e0adda206a8628baffc896bacd2/graphene-peewee-async-2.0.3.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "0a8b08b1066dfe955cd22dc057886999", "sha256": "9aa7b08e3daab6ec2e7bdffce6faca9a6ff36dcb7ae38ed144613cac08bcfc71" }, "downloads": -1, "filename": "graphene-peewee-async-2.1.0.tar.gz", "has_sig": false, "md5_digest": "0a8b08b1066dfe955cd22dc057886999", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13975, "upload_time": "2017-11-27T18:59:14", "url": "https://files.pythonhosted.org/packages/f7/b2/90aeb0bb321b767cd378dc5eed54452016181792fbcb90c3413b8ef5ed4a/graphene-peewee-async-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "c607e0f81a3b18d3f7bda9917f8c7896", "sha256": "cfa66a5b9fb276395f902a02eb952c5ec7e75fb2bb695f9fbd1f139759ac1cbd" }, "downloads": -1, "filename": "graphene-peewee-async-2.1.1.tar.gz", "has_sig": false, "md5_digest": "c607e0f81a3b18d3f7bda9917f8c7896", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15332, "upload_time": "2017-12-18T14:37:55", "url": "https://files.pythonhosted.org/packages/83/70/86640ce55f329325e37483f257ebccdd35ae92eb731c897bbc9cc663ac98/graphene-peewee-async-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "f5b1bb6263618ab2a9b5e672880a36b2", "sha256": "711f8fd4791bbb0f2d011c22512a53479f99bbb38a651bab6c8a46c84d0aa6a6" }, "downloads": -1, "filename": "graphene-peewee-async-2.1.2.tar.gz", "has_sig": false, "md5_digest": "f5b1bb6263618ab2a9b5e672880a36b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15547, "upload_time": "2018-01-31T15:54:41", "url": "https://files.pythonhosted.org/packages/0a/de/09b76ee64c543e458e2be219eede14331d533ca28d5ce559bc2fed6016f8/graphene-peewee-async-2.1.2.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "13b484d7c9251c030606dfb0e12444fb", "sha256": "aa92d67f3292e29dcaf766b58fc4ef8fdb66bf97714738c7f21e49b6645a957a" }, "downloads": -1, "filename": "graphene-peewee-async-2.1.3.tar.gz", "has_sig": false, "md5_digest": "13b484d7c9251c030606dfb0e12444fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15590, "upload_time": "2018-04-24T08:10:50", "url": "https://files.pythonhosted.org/packages/0f/74/72ea1de45c7af79ae8f36620c454fe27f7eaa040ae03624e891ac9e7a7da/graphene-peewee-async-2.1.3.tar.gz" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "4700d945068ca8ebcf543df657641383", "sha256": "95341fa453790d2f2133e4119ba06628e70071c0e2befa4c1466b63eba84e3b9" }, "downloads": -1, "filename": "graphene-peewee-async-2.1.4.tar.gz", "has_sig": false, "md5_digest": "4700d945068ca8ebcf543df657641383", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15575, "upload_time": "2018-05-03T08:02:27", "url": "https://files.pythonhosted.org/packages/4e/3d/66cd351a6310541a562570a5461e51df5a77db08ea4cb7cb16bcf0eef077/graphene-peewee-async-2.1.4.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "b56a5845730fcfe013a24be81c891cbf", "sha256": "dc4dc13e710d167270a201314ce55ad8fc7cb46150e5e42977d9e557355eec55" }, "downloads": -1, "filename": "graphene-peewee-async-2.2.0.tar.gz", "has_sig": false, "md5_digest": "b56a5845730fcfe013a24be81c891cbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14488, "upload_time": "2018-09-23T08:26:21", "url": "https://files.pythonhosted.org/packages/ca/db/d0f5a0219a8d50611fe7d6d5fc679b76cbaf7dcb37868d9f630d9ace6d99/graphene-peewee-async-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "6e7917e44a6114208b467a43a9feecea", "sha256": "47635c63335e46e604d4a0705a623ace4bbc6290c237b9f2a7fa97d62b6b4f62" }, "downloads": -1, "filename": "graphene-peewee-async-2.2.1.tar.gz", "has_sig": false, "md5_digest": "6e7917e44a6114208b467a43a9feecea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15850, "upload_time": "2019-01-20T07:50:53", "url": "https://files.pythonhosted.org/packages/18/4e/e3ca2574f65f2db599f1b6da87584aee0427608e3a38ed7dbcd10f0e79a2/graphene-peewee-async-2.2.1.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "6eea45f5c31d11641d873ac662aa6634", "sha256": "65c6dc7e1609cd12540dec5b538894f17288c68f5e8d4c6fe655655a1fd08ea5" }, "downloads": -1, "filename": "graphene-peewee-async-3.0.0.tar.gz", "has_sig": false, "md5_digest": "6eea45f5c31d11641d873ac662aa6634", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16032, "upload_time": "2019-01-20T09:01:14", "url": "https://files.pythonhosted.org/packages/b3/2c/e390304ca548eb85c8a5421d389d4c2250640455cf14d9660aaf89dbb974/graphene-peewee-async-3.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6eea45f5c31d11641d873ac662aa6634", "sha256": "65c6dc7e1609cd12540dec5b538894f17288c68f5e8d4c6fe655655a1fd08ea5" }, "downloads": -1, "filename": "graphene-peewee-async-3.0.0.tar.gz", "has_sig": false, "md5_digest": "6eea45f5c31d11641d873ac662aa6634", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16032, "upload_time": "2019-01-20T09:01:14", "url": "https://files.pythonhosted.org/packages/b3/2c/e390304ca548eb85c8a5421d389d4c2250640455cf14d9660aaf89dbb974/graphene-peewee-async-3.0.0.tar.gz" } ] }