{ "info": { "author": "Mathew Marcus", "author_email": "mathewmarcus456@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "====================\nmarshmallow-pynamodb\n====================\n.. image:: https://badge.fury.io/py/marshmallow-pynamodb.svg\n :target: http://badge.fury.io/py/marshmallow-pynamodb\n :alt: Latest version\n.. image:: https://travis-ci.org/mathewmarcus/marshmallow-pynamodb.svg?branch=master\n :target: https://travis-ci.org/mathewmarcus/marshmallow-pynamodb\n :alt: Travis-CI\n\n`PynamoDB `_ integration with the `marshmallow `_ (de)serialization library.\n\nInstallation\n============\nFrom PyPi::\n\n $ pip install marshmallow-pynamodb\n\nFrom GitHub::\n\n $ pip install git+https://github.com/mathewmarcus/marshmallow-pynamodb#egg=marshmallow_pynamodb\n\nDeclare your models\n===================\n\n.. code-block:: python\n\n from pynamodb.models import Model\n from pynamodb.attributes import UnicodeAttribute\n\n class User(Model):\n class Meta:\n table_name = \"user\"\n email = UnicodeAttribute(null=True)\n first_name = UnicodeAttribute(range_key=True)\n last_name = UnicodeAttribute(hash_key=True)\n\nGenerate marshmallow schemas\n============================\n\n.. code-block:: python\n\n from marshmallow_pynamodb import ModelSchema\n\n class UserSchema(ModelSchema):\n class Meta:\n model = User\n\n user_schema = UserSchema()\n\n\n(De)serialize your data\n=======================\n\n.. code-block:: python\n\n user = User(last_name=\"Smith\", first_name=\"John\")\n\n user_schema.dump(user).data\n # {u'first_name': u'John', u'last_name': u'Smith', u'email': None}\n\n user_schema.load({\"last_name\": \"Smith\", \"first_name\": \"John\"}).data\n # user\n\n\nNested models? No problem\n=========================\n\n.. code-block:: python\n\n from marshmallow_pynamodb.schema import ModelSchema\n\n from pynamodb.models import Model\n from pynamodb.attributes import ListAttribute, MapAttribute, NumberAttribute, UnicodeAttribute\n\n class Location(MapAttribute):\n latitude = NumberAttribute()\n longitude = NumberAttribute()\n name = UnicodeAttribute()\n\n\n class Person(MapAttribute):\n firstName = UnicodeAttribute()\n lastName = UnicodeAttribute()\n age = NumberAttribute()\n\n\n class OfficeEmployeeMap(MapAttribute):\n office_employee_id = NumberAttribute()\n person = Person()\n office_location = Location()\n\n\n class Office(Model):\n class Meta:\n table_name = 'OfficeModel'\n\n office_id = NumberAttribute(hash_key=True)\n address = Location()\n employees = ListAttribute(of=OfficeEmployeeMap)\n\n\n class OfficeSchema(ModelSchema):\n class Meta:\n model = Office\n\n\n OfficeSchema().load({'office_id': 789,\n 'address': {'latitude': 6.98454,\n 'longitude': 172.38832,\n 'name': 'some_location'},\n 'employees': [{'office_employee_id': 123,\n 'person': {'firstName': 'John',\n 'lastName': 'Smith',\n 'age': 45},\n 'office_location': {'latitude': -24.0853,\n 'longitude': 144.87660,\n 'name': 'other_location'}},\n {'office_employee_id': 456,\n 'person': {'firstName': 'Jane',\n 'lastName': 'Doe',\n 'age': 33},\n 'office_location': {'latitude': -20.57989,\n 'longitude': 92.30463,\n 'name': 'yal'}}]}).data\n # Office<789>\n\n\nLicense\n=======\n\nMIT licensed. See the bundled `LICENSE `_ file for more details.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "marshmallow-pynamodb", "package_url": "https://pypi.org/project/marshmallow-pynamodb/", "platform": "", "project_url": "https://pypi.org/project/marshmallow-pynamodb/", "project_urls": null, "release_url": "https://pypi.org/project/marshmallow-pynamodb/0.8.0/", "requires_dist": null, "requires_python": "", "summary": "PynamoDB integration with the marshmallow (de)serialization library", "version": "0.8.0" }, "last_serial": 3340265, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f963130ead85904d9bb98f4ddc6632ad", "sha256": "fb5b6df9af66063dabc75859e7634f73c983612bf08e29f4b90f2f41552a45e4" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f963130ead85904d9bb98f4ddc6632ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2122, "upload_time": "2017-02-07T03:45:01", "url": "https://files.pythonhosted.org/packages/ef/2d/0b00f675a2b8d9401fbaae8c1a0c74c25bffce397c71da64b619026867c3/marshmallow-pynamodb-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3ac1c992247711d1654b8be0595aebfb", "sha256": "be232712c77df1fea765a0d8c5f0f5ed87e8eaccc5156e97e48ce920ef192b03" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3ac1c992247711d1654b8be0595aebfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2326, "upload_time": "2017-02-07T03:50:02", "url": "https://files.pythonhosted.org/packages/77/65/14306c8c8e1febb5dde179db06e3da7d72d71bb63a9aeb977251c259a83c/marshmallow-pynamodb-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "9e53221eb575df942e528f955c5b0145", "sha256": "fe4174eb58c7ac02aa1c50a6e0a050703faa8074acdf75f0dff76340f2615b34" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.1.2.tar.gz", "has_sig": false, "md5_digest": "9e53221eb575df942e528f955c5b0145", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2276, "upload_time": "2017-02-07T03:54:09", "url": "https://files.pythonhosted.org/packages/9b/51/90568fe041a7ca78f27b337ea4bee773b66ee2054c0f20c4441eaeac8ca8/marshmallow-pynamodb-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "491f66844fbef3df771f494dbaaac4f4", "sha256": "9163266a801e2a120ef778b5f3fa0a6ef93f886357a127ab34185e4c636daa5f" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.1.3.tar.gz", "has_sig": false, "md5_digest": "491f66844fbef3df771f494dbaaac4f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2223, "upload_time": "2017-02-07T03:55:17", "url": "https://files.pythonhosted.org/packages/7f/06/f632805050e47a0e2c74c0fc363edbe67f10f88b50ad66d9a66b2f2617b6/marshmallow-pynamodb-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b78d94056babe06f8da148fb520b65b2", "sha256": "35173652eb8f0dbdadfb21949555b30a38c7d97b74ddc159e42024583775cfd7" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.1.4.tar.gz", "has_sig": false, "md5_digest": "b78d94056babe06f8da148fb520b65b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2326, "upload_time": "2017-02-07T04:01:02", "url": "https://files.pythonhosted.org/packages/56/2b/b714ea0a5bc478e38b749a4cb26aede6504c00e2de03d63271d5c0fc44be/marshmallow-pynamodb-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9d0d26d14b13ce4fef8e29915d52e8c6", "sha256": "86be7eef378d4a617ed2280b4d3757a65fadc7aefd3a2ed3984aa4014a1b4195" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9d0d26d14b13ce4fef8e29915d52e8c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2942, "upload_time": "2017-02-21T02:14:44", "url": "https://files.pythonhosted.org/packages/bc/82/b867f52f7222ac0c3e7ed610dc7a15bbf6dd64c496b7e059d68f341c72ca/marshmallow-pynamodb-0.2.0.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "5a1005ad8c2162c05d0d03a665a1e12e", "sha256": "af763b269e54cb91b14bce34badac9546b85aab2dc16514b7e67df8ab5baa924" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.2.2.tar.gz", "has_sig": false, "md5_digest": "5a1005ad8c2162c05d0d03a665a1e12e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3475, "upload_time": "2017-05-14T20:53:00", "url": "https://files.pythonhosted.org/packages/56/19/4ca0767a2d995a0580d2d0605c6d29f8eab6552e2e23274ed687c5f61838/marshmallow-pynamodb-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "86baef0bea3579b15b80e86bf7fdeab6", "sha256": "707e5fd9c75801b4743e79e1ae78d6eaef4cbbcfcd780625f1cf1477c3eafafb" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.2.3.tar.gz", "has_sig": false, "md5_digest": "86baef0bea3579b15b80e86bf7fdeab6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3448, "upload_time": "2017-05-16T02:36:20", "url": "https://files.pythonhosted.org/packages/d6/30/ab0f8103c05c926d95ee8b6294b7dbcedf917b98dfe73c9949c9d7a28f3d/marshmallow-pynamodb-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "a821ac40797066e76c7270259d604948", "sha256": "d888318935971bb3f38d12721c5ed73b9e766907300f9e48871134e7ad6deaa1" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.2.4.tar.gz", "has_sig": false, "md5_digest": "a821ac40797066e76c7270259d604948", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3459, "upload_time": "2017-05-16T03:32:33", "url": "https://files.pythonhosted.org/packages/41/89/50a9934cc1f706b392a6f5ff2fdeca141fde8729b8e518641f22cc363088/marshmallow-pynamodb-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "af58874e56aaef723ab34b0015678cb4", "sha256": "9ae210367c328c5e95d1eeee79f5f9721bcd9a14c7e43eb97d917e5a4de5c505" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.2.5.tar.gz", "has_sig": false, "md5_digest": "af58874e56aaef723ab34b0015678cb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3567, "upload_time": "2017-05-17T03:36:38", "url": "https://files.pythonhosted.org/packages/f3/77/50b7df2cbdd887d262b4f9c4fc646aa3da5f21da1e196f5671340ee6e745/marshmallow-pynamodb-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "18707969dadaba54335edcd680816d23", "sha256": "ef3125a979a4fd279b0eea5475373f9b77cb0a80a7046d82d7c9227b9d34c8c1" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.2.6.tar.gz", "has_sig": false, "md5_digest": "18707969dadaba54335edcd680816d23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3711, "upload_time": "2017-05-18T04:44:05", "url": "https://files.pythonhosted.org/packages/0b/ad/de5cc11d5f61eee9f85b571592e80cd173ff247ff36a599592a153d4c009/marshmallow-pynamodb-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "da37866db9b6a344849383366f516e0c", "sha256": "809190c252efdf8141e0fb35fc3ceefde0c07f1316bf032b2d4b4a4374d80937" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.2.7.tar.gz", "has_sig": false, "md5_digest": "da37866db9b6a344849383366f516e0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3707, "upload_time": "2017-05-19T00:30:58", "url": "https://files.pythonhosted.org/packages/62/4b/b8b41f557c06a09af9be8953aabe46e561226c92b7d50b2e522d2edb346c/marshmallow-pynamodb-0.2.7.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "d36252b77bbc1b22ce2b759bfa0231a9", "sha256": "7b5e5d69f0056e7de43fda348c2562b6028dd4775b4dd8346ae04d9edb7bbd67" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.3.0.tar.gz", "has_sig": false, "md5_digest": "d36252b77bbc1b22ce2b759bfa0231a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4202, "upload_time": "2017-05-21T22:27:04", "url": "https://files.pythonhosted.org/packages/c7/11/1310a4ddcc7df64dcfc82a431ba21f0c46b5b7e0116a94797fee725bc216/marshmallow-pynamodb-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "a284302cf9dfbe86a589c899e42079b6", "sha256": "7eb14692e86be8e6522affa4b4d8a265f6a64c26b369bdc4f1f648ff38e26187" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.3.1.tar.gz", "has_sig": false, "md5_digest": "a284302cf9dfbe86a589c899e42079b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4321, "upload_time": "2017-05-22T05:08:37", "url": "https://files.pythonhosted.org/packages/2e/59/fe9e77e8a88b678b300e15b8706fa3be52383db6d5bd2536b93d851bf45e/marshmallow-pynamodb-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "1e5f7447f540cd142a8290009b8498e6", "sha256": "06de51d002e1fe1405303122c48f01567afdc78aa8b299cf3ae69f00f48d713a" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.4.0.tar.gz", "has_sig": false, "md5_digest": "1e5f7447f540cd142a8290009b8498e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4305, "upload_time": "2017-05-23T05:03:30", "url": "https://files.pythonhosted.org/packages/18/1b/7584aa55165ea2267a07679f3e05151eec058e633c200a82c95682255977/marshmallow-pynamodb-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "5bc073b7b7d0ecffcdf945518a80c883", "sha256": "bb5845d70dbd2ac1820bb806371ceef798603b633b854e7b43d24ac91f8fd9ed" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.5.0.tar.gz", "has_sig": false, "md5_digest": "5bc073b7b7d0ecffcdf945518a80c883", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4544, "upload_time": "2017-06-23T04:34:17", "url": "https://files.pythonhosted.org/packages/1c/bc/5871910dfd4fb5034e176344fe5723fec46d4a5aeba170ec6aabe92af6ab/marshmallow-pynamodb-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "431a45bcad396b2db54f3538e3679a41", "sha256": "94f33a09d2ca3b66c323a1317e27a146d460f956aae415f90387dc667b081a55" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.6.0.tar.gz", "has_sig": false, "md5_digest": "431a45bcad396b2db54f3538e3679a41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4673, "upload_time": "2017-08-30T00:32:42", "url": "https://files.pythonhosted.org/packages/85/97/46eb1e8a22ce39b869c939a9867da709529654ba6eee3b1c259bee68a9e1/marshmallow-pynamodb-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "43f08c1dd8921ddb20584c9205e412d9", "sha256": "9db3b7a309e6be36b934893457ea950c790b6b564140bbc616db51f1806eeb76" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.7.0.tar.gz", "has_sig": false, "md5_digest": "43f08c1dd8921ddb20584c9205e412d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4672, "upload_time": "2017-09-04T21:01:54", "url": "https://files.pythonhosted.org/packages/68/f4/054c38201820be4b7a1fd735ead1a53cb49b19fd4c3fac1a8f406ca411b6/marshmallow-pynamodb-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "1a1e94f70e253367cf2dd91a47caf73b", "sha256": "a875d0b83249d82b36957466824438e2428cabef7e3a1e7f481609b8663e24c0" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.7.1.tar.gz", "has_sig": false, "md5_digest": "1a1e94f70e253367cf2dd91a47caf73b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4694, "upload_time": "2017-10-16T14:24:20", "url": "https://files.pythonhosted.org/packages/83/d7/ef3f7982cccac6da8337dd62be2173f37ae08db9c76b341301cc4ce1f064/marshmallow-pynamodb-0.7.1.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "8b43f575a728b6ade7cd2ab73b474920", "sha256": "a0115e7192a00f2968c1dac69857e85916058eb27a12ae8442facb4417e3280a" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.8.0.tar.gz", "has_sig": false, "md5_digest": "8b43f575a728b6ade7cd2ab73b474920", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5520, "upload_time": "2017-11-17T02:02:23", "url": "https://files.pythonhosted.org/packages/09/3e/c91cc57452d2153785500a87fb552cdfd61c658b76d9a210350e830fe07a/marshmallow-pynamodb-0.8.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8b43f575a728b6ade7cd2ab73b474920", "sha256": "a0115e7192a00f2968c1dac69857e85916058eb27a12ae8442facb4417e3280a" }, "downloads": -1, "filename": "marshmallow-pynamodb-0.8.0.tar.gz", "has_sig": false, "md5_digest": "8b43f575a728b6ade7cd2ab73b474920", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5520, "upload_time": "2017-11-17T02:02:23", "url": "https://files.pythonhosted.org/packages/09/3e/c91cc57452d2153785500a87fb552cdfd61c658b76d9a210350e830fe07a/marshmallow-pynamodb-0.8.0.tar.gz" } ] }