{
"info": {
"author": "Yacine Filali",
"author_email": "yfilali@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Software Development :: Libraries"
],
"description": "|Graphene Logo| Graphene-PynamoDB |Build Status| |Coverage Status| |PyPI version|\n=================================================================================\n\nA `PynamoDB `__ integration for\n`Graphene `__.\n\nInstallation\n------------\n\nFor instaling graphene, just run this command in your shell\n\n.. code:: bash\n\n pip install graphene-pynamodb\n\nExamples\n--------\n\nHere is a simple PynamoDB model:\n\n.. code:: python\n\n from uuid import uuid4\n from pynamodb.attributes import UnicodeAttribute\n from pynamodb.models import Model\n\n\n class User(Model):\n class Meta:\n table_name = \"my_users\"\n host = \"http://localhost:8000\"\n\n id = UnicodeAttribute(hash_key=True)\n name = UnicodeAttribute(null=False)\n\n\n if not User.exists():\n User.create_table(read_capacity_units=1, write_capacity_units=1, wait=True)\n User(id=str(uuid4()), name=\"John Snow\").save()\n User(id=str(uuid4()), name=\"Daenerys Targaryen\").save()\n\nTo create a GraphQL schema for it you simply have to write the\nfollowing:\n\n.. code:: python\n\n import graphene\n from graphene_pynamodb import PynamoObjectType\n\n\n class UserNode(PynamoObjectType):\n class Meta:\n model = User\n interfaces = (graphene.Node,)\n\n\n class Query(graphene.ObjectType):\n users = graphene.List(UserNode)\n\n def resolve_users(self, args, context, info):\n return list(User.scan())\n\n\n schema = graphene.Schema(query=Query)\n\nThen you can simply query the schema:\n\n.. code:: python\n\n query = '''\n query {\n users {\n name\n }\n }\n '''\n result = schema.execute(query)\n\nTo learn more check out the following\n`examples `__:\n\n- **Full example**: `Flask PynamoDB\n example `__\n\nLimitations\n-----------\n\ngraphene-pynamodb includes a basic implementation of relationships using\nlists. OneToOne and OneToMany relationships are serialized as a List of\nthe ids and unserialized lazyly. The limit for an item's size in\nDynamoDB is 400KB (see\nhttp://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)\nThis means the total \"row\" size including the serialized relationship\nneeds to fit within 400KB so make sure to use this accordingly.\n\nIn addition, scan operations on DynamoDB are unsorted by design. This\nmeans that there is no reliable way to get a paginated result (Cursor\nsupport) on a root PynamoConnectionField.\n\nThis means that if you need to paginate items, it is best to have them\nas a OneToMany relationship inside another Field (usually viewer or\nnode).\n\nContributing\n------------\n\nAfter cloning `this\nrepo `__, ensure\ndependencies are installed by running:\n\n.. code:: sh\n\n python setup.py install\n\nAfter developing, the full test suite can be evaluated by running:\n\n.. code:: sh\n\n python setup.py test # Use --pytest-args=\"-v -s\" for verbose mode\n\n.. |Graphene Logo| image:: http://graphene-python.org/favicon.png\n.. |Build Status| image:: https://travis-ci.org/yfilali/graphql-pynamodb.svg?branch=master\n :target: https://travis-ci.org/yfilali/graphql-pynamodb\n.. |Coverage Status| image:: https://coveralls.io/repos/github/yfilali/graphql-pynamodb/badge.svg?branch=master\n :target: https://coveralls.io/github/yfilali/graphql-pynamodb?branch=master\n.. |PyPI version| image:: https://badge.fury.io/py/graphene-pynamodb.svg\n :target: https://badge.fury.io/py/graphene-pynamodb\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/yfilali/graphql-pynamodb",
"keywords": "api graphql protocol rest relay graphene pynamodb dynamodb",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "graphene-pynamodb",
"package_url": "https://pypi.org/project/graphene-pynamodb/",
"platform": "",
"project_url": "https://pypi.org/project/graphene-pynamodb/",
"project_urls": {
"Homepage": "https://github.com/yfilali/graphql-pynamodb"
},
"release_url": "https://pypi.org/project/graphene-pynamodb/2.1.0/",
"requires_dist": null,
"requires_python": "",
"summary": "Graphene PynamoDB integration",
"version": "2.1.0"
},
"last_serial": 4343135,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "528a6b506dc617b01095445ded465e82",
"sha256": "653fb8f850c99d4a3226a87a8336b0b91ba99e8e613e04d14b0b2f26f69b60f1"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.1.tar.gz",
"has_sig": false,
"md5_digest": "528a6b506dc617b01095445ded465e82",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9668,
"upload_time": "2016-10-15T03:25:58",
"url": "https://files.pythonhosted.org/packages/ec/fc/1281cc117801c5777f48e370819665b33eaa456a2b95734c2d99af89e1bd/graphene-pynamodb-0.1.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "af04f60c6f42fc7f2b32dc9252d31414",
"sha256": "2a367a55b3807db5e49293d81e2364d4c36b325aad3f7039fd166183a3eb606c"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.2.tar.gz",
"has_sig": false,
"md5_digest": "af04f60c6f42fc7f2b32dc9252d31414",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11029,
"upload_time": "2016-10-17T09:50:51",
"url": "https://files.pythonhosted.org/packages/a3/14/2be8157d46f666e4f4b49996f80ac61a6e2747b910ddfee0d61308821103/graphene-pynamodb-0.2.tar.gz"
}
],
"0.3": [
{
"comment_text": "",
"digests": {
"md5": "7813bd93d88c6a5a8c38fb6b01bcba52",
"sha256": "d50b470bd9aa532628f2c99372f8963900cb16eb50bb11005a213d4087869e51"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.3.tar.gz",
"has_sig": false,
"md5_digest": "7813bd93d88c6a5a8c38fb6b01bcba52",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10991,
"upload_time": "2016-10-17T10:14:00",
"url": "https://files.pythonhosted.org/packages/3a/21/6d89e89f6b161aa70af42edfc6b9d40932d83228e52b493e9fa5c73cf023/graphene-pynamodb-0.3.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "d20219fe3bb307ab489b574374da30af",
"sha256": "df34e08c852869725db1d4c512e4f0fb41c9d63a1868e5781cfb903fe0e86d27"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "d20219fe3bb307ab489b574374da30af",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10843,
"upload_time": "2016-10-17T23:10:32",
"url": "https://files.pythonhosted.org/packages/f4/67/65b92a434ca4aa002d51a5492a777d312fb6277228a45e68c1256c7f7cde/graphene-pynamodb-0.3.1.tar.gz"
}
],
"0.3.2": [
{
"comment_text": "",
"digests": {
"md5": "76198aa3b6289a550997f660e7fec159",
"sha256": "ad3f5e3acb87236411d6e0f2e8583f5077181380f02d5ccfc73693d9ff6e6ebf"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.3.2.tar.gz",
"has_sig": false,
"md5_digest": "76198aa3b6289a550997f660e7fec159",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10895,
"upload_time": "2016-10-18T00:52:26",
"url": "https://files.pythonhosted.org/packages/64/8f/693c4bedda9f8ac382ac4ad17c44873a29112604aae6fdb7adc33ca20213/graphene-pynamodb-0.3.2.tar.gz"
}
],
"0.4": [
{
"comment_text": "",
"digests": {
"md5": "bbb3df56a9747786d55740d950d904ce",
"sha256": "b0b1373815ed66601753faa3033054f556c353113ab82132821571fecd01b9cf"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.4.tar.gz",
"has_sig": false,
"md5_digest": "bbb3df56a9747786d55740d950d904ce",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11850,
"upload_time": "2016-10-18T23:47:44",
"url": "https://files.pythonhosted.org/packages/07/5a/dbce9aac7f7345b7be58c4f25c8589fb524d73a85d5c7fdf28b24840bf8f/graphene-pynamodb-0.4.tar.gz"
}
],
"0.5": [
{
"comment_text": "",
"digests": {
"md5": "22e9409ace86d8e4fdc7f4417258afa9",
"sha256": "b67be5a8eaeedf150f210b06f1af046abe01d940a9e348f1a15d983a73b077d9"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.5.tar.gz",
"has_sig": false,
"md5_digest": "22e9409ace86d8e4fdc7f4417258afa9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11993,
"upload_time": "2016-10-19T03:01:44",
"url": "https://files.pythonhosted.org/packages/ca/f9/8f9201836741dc7f71b355ccc8c98413f29ec4546072eb805037b47a58a4/graphene-pynamodb-0.5.tar.gz"
}
],
"0.6": [
{
"comment_text": "",
"digests": {
"md5": "e13c5eec569675ccf680c4da6011249c",
"sha256": "a9ad134cc14d6e2ecb9eb50117992b810afe029cef8a753872ecdfb6d00b8298"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.6.tar.gz",
"has_sig": false,
"md5_digest": "e13c5eec569675ccf680c4da6011249c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12114,
"upload_time": "2016-10-19T05:38:58",
"url": "https://files.pythonhosted.org/packages/e2/fd/fb965d67070fcfd6a2f27eb8e073267eb2728d9eed1a77711407ab88f125/graphene-pynamodb-0.6.tar.gz"
}
],
"0.6.1": [
{
"comment_text": "",
"digests": {
"md5": "58b030532ce63a6a9b082f6b6d875436",
"sha256": "064b44d9582e63bf405ba0fdb9a89fd27038873c8e77e316114e40c22bcede45"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "58b030532ce63a6a9b082f6b6d875436",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12085,
"upload_time": "2016-10-19T05:44:46",
"url": "https://files.pythonhosted.org/packages/30/fb/dc9a9fd1122430aabc7b88b23d68e22dcd3458341c538036072ee0b6c9be/graphene-pynamodb-0.6.1.tar.gz"
}
],
"0.6.2": [
{
"comment_text": "",
"digests": {
"md5": "a1a112c99aeb890864c4ac5df1ab7328",
"sha256": "c52b842100364b05513142993f7cad90aaf659d6bd4558fd7fead53eb2648b0e"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.6.2.tar.gz",
"has_sig": false,
"md5_digest": "a1a112c99aeb890864c4ac5df1ab7328",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12156,
"upload_time": "2016-10-19T06:12:45",
"url": "https://files.pythonhosted.org/packages/9f/33/6420d311759d6677bf3c9a04b53a5bb097c075160111dbff33526ec6d8db/graphene-pynamodb-0.6.2.tar.gz"
}
],
"0.6.3": [
{
"comment_text": "",
"digests": {
"md5": "4c44e10855c1cc1b80a50e4f8e977329",
"sha256": "0f5ebde826878cdec6b3784c753785213dcb4b0c1961d473e7df02f25e32bbde"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.6.3.tar.gz",
"has_sig": false,
"md5_digest": "4c44e10855c1cc1b80a50e4f8e977329",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12230,
"upload_time": "2016-10-22T00:45:21",
"url": "https://files.pythonhosted.org/packages/9c/23/54314fc2760bbb904eb8d20cd7bf24476c7100ac0debb1576a27e7e3c896/graphene-pynamodb-0.6.3.tar.gz"
}
],
"0.7.0": [
{
"comment_text": "",
"digests": {
"md5": "a55ba68b1446f9d459c0ef3ce093f9c9",
"sha256": "137537c66158baa726737c37d83213de09a55cf3a0a5b8b7a76b9bb98a82da85"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "a55ba68b1446f9d459c0ef3ce093f9c9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12408,
"upload_time": "2016-10-22T10:43:32",
"url": "https://files.pythonhosted.org/packages/ff/03/0e5426c5e68b5d57a40c0bee0afdf1ccd12bcd504a66ff2aef8bc25164b7/graphene-pynamodb-0.7.0.tar.gz"
}
],
"0.8.0": [
{
"comment_text": "",
"digests": {
"md5": "b11567fad0b2b40923355367c386e3e6",
"sha256": "b6faf0e83e65f92ef5496b44939dd8411b3dd8b1df4c04d318a1b9e1daace79a"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "b11567fad0b2b40923355367c386e3e6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12743,
"upload_time": "2016-10-25T19:48:46",
"url": "https://files.pythonhosted.org/packages/fe/7a/c6c486405204f24ddaefd993b0a98711d6bda5574e0282b0a95621a0cada/graphene-pynamodb-0.8.0.tar.gz"
}
],
"0.8.1": [
{
"comment_text": "",
"digests": {
"md5": "0691abd14f87d648e22cb155a0b85e61",
"sha256": "79372bd782aa9661bb41933447f6d03d57b56d562209544ae6ea12d10a1318a7"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "0691abd14f87d648e22cb155a0b85e61",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13084,
"upload_time": "2016-10-26T22:00:09",
"url": "https://files.pythonhosted.org/packages/43/34/29bbdcdf1f8ad8e2ad536b46bf41dd1676cc5ba8377f5e891a9eea03bad9/graphene-pynamodb-0.8.1.tar.gz"
}
],
"0.9.0": [
{
"comment_text": "",
"digests": {
"md5": "ee9e3aaf85aa214e2716e8df0ca20f53",
"sha256": "f3d784d972dbc7a7c4682af231cf7824fc1ed44109e2e277bd971c2142b9b8b9"
},
"downloads": -1,
"filename": "graphene-pynamodb-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "ee9e3aaf85aa214e2716e8df0ca20f53",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13035,
"upload_time": "2017-02-22T19:37:48",
"url": "https://files.pythonhosted.org/packages/27/74/b24df1c890c3f69ae940533c600a3483e8138f16f11dded8151114147130/graphene-pynamodb-0.9.0.tar.gz"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "5c9533026572b2d89bfc67b6b236894d",
"sha256": "bfb93dca320a56c5a92218acfe2978a707da7b258ef0de9d53ba747751412a33"
},
"downloads": -1,
"filename": "graphene-pynamodb-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "5c9533026572b2d89bfc67b6b236894d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13255,
"upload_time": "2017-10-15T23:07:57",
"url": "https://files.pythonhosted.org/packages/d3/33/7bb41950cd688115c6e67d9a117b336c927d9c8993467b0c0abb714c4bcf/graphene-pynamodb-1.0.0.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "621a4940fd594592b0195bff4c261324",
"sha256": "9f980f4975fba0c51c53ade9e14aa6d81363b82ed20eb787fb21056de7d21736"
},
"downloads": -1,
"filename": "graphene-pynamodb-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "621a4940fd594592b0195bff4c261324",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14885,
"upload_time": "2018-05-23T06:20:57",
"url": "https://files.pythonhosted.org/packages/b4/72/f6534bd5f755c273b2a7ee42e888b12010f4bebe41fd610e70f627ac2f6f/graphene-pynamodb-1.1.0.tar.gz"
}
],
"2.0.0": [
{
"comment_text": "",
"digests": {
"md5": "8fc40ba83116df17d1bc93cb819bb28a",
"sha256": "ffa449002664f0585562818fd4ccdd86a6b9e153f5e9898cebc262fec5ade7b4"
},
"downloads": -1,
"filename": "graphene-pynamodb-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "8fc40ba83116df17d1bc93cb819bb28a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14980,
"upload_time": "2018-05-23T06:54:19",
"url": "https://files.pythonhosted.org/packages/02/b7/c02c9cc83a7f4c4f5c3e2ed25d993ac0fec6939f0b014e7902197b3b30de/graphene-pynamodb-2.0.0.tar.gz"
}
],
"2.1.0": [
{
"comment_text": "",
"digests": {
"md5": "73633a1bac88ca763c5c6439185ed804",
"sha256": "0df2206adc9c8d8d3940785be09e383dc24f0c6371dc1339958f52335ee7be31"
},
"downloads": -1,
"filename": "graphene-pynamodb-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "73633a1bac88ca763c5c6439185ed804",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15166,
"upload_time": "2018-10-05T07:43:37",
"url": "https://files.pythonhosted.org/packages/5c/28/82eff85740678f2fdc72174d178dc7e2d8826ee37019f89484e7ff2cbc0f/graphene-pynamodb-2.1.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "73633a1bac88ca763c5c6439185ed804",
"sha256": "0df2206adc9c8d8d3940785be09e383dc24f0c6371dc1339958f52335ee7be31"
},
"downloads": -1,
"filename": "graphene-pynamodb-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "73633a1bac88ca763c5c6439185ed804",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15166,
"upload_time": "2018-10-05T07:43:37",
"url": "https://files.pythonhosted.org/packages/5c/28/82eff85740678f2fdc72174d178dc7e2d8826ee37019f89484e7ff2cbc0f/graphene-pynamodb-2.1.0.tar.gz"
}
]
}