PynamoDB integration with the marshmallow (de)serialization library
Project description
========
marshmallow-pynamodb
========
|pypi-package|
`PynamoDB <https://pynamodb.readthedocs.io/en/latest/>`_ integration with the `marshmallow <https://marshmallow.readthedocs.io/en/latest/>`_ (de)serialization library.
Installation
============
From PyPi::
$ pip install marshmallow-pynamodb
From GitHub::
$ pip install git+https://github.com/mathewmarcus/marshmallow-pynamodb#egg=marshmallow_pynamodb
Declare your models
===================
.. code-block:: python
from pynamodb.models import Model
from pynamodb.attributes import UnicodeAttribute
class User(Model):
class Meta:
table_name = "user"
email = UnicodeAttribute(null=True)
first_name = UnicodeAttribute(range_key=True)
last_name = UnicodeAttribute(hash_key=True)
Generate marshmallow schemas
============================
.. code-block:: python
from marshmallow_pynamodb import ModelSchema
class UserSchema(ModelSchema):
class Meta:
model = User
user_schema = UserSchema()
(De)serialize your data
=======================
.. code-block:: python
user = User(last_name="Smith", first_name="John")
user_schema.dump(user).data
# {u'first_name': u'John', u'last_name': u'Smith', u'email': None}
user_schema.load({"last_name": "Smith", "first_name": "John"}).data
# user<Smith>
.. |pypi-package| image:: https://badge.fury.io/py/marshmallow-pynamodb.svg
:target: http://badge.fury.io/py/marshmallow-pynamodb
:alt: Latest version
License
=======
MIT licensed. See the bundled `LICENSE <https://github.com/mathewmarcus/marshmallow-pynamodb/blob/master/LICENSE.txt>`_ file for more details.
marshmallow-pynamodb
========
|pypi-package|
`PynamoDB <https://pynamodb.readthedocs.io/en/latest/>`_ integration with the `marshmallow <https://marshmallow.readthedocs.io/en/latest/>`_ (de)serialization library.
Installation
============
From PyPi::
$ pip install marshmallow-pynamodb
From GitHub::
$ pip install git+https://github.com/mathewmarcus/marshmallow-pynamodb#egg=marshmallow_pynamodb
Declare your models
===================
.. code-block:: python
from pynamodb.models import Model
from pynamodb.attributes import UnicodeAttribute
class User(Model):
class Meta:
table_name = "user"
email = UnicodeAttribute(null=True)
first_name = UnicodeAttribute(range_key=True)
last_name = UnicodeAttribute(hash_key=True)
Generate marshmallow schemas
============================
.. code-block:: python
from marshmallow_pynamodb import ModelSchema
class UserSchema(ModelSchema):
class Meta:
model = User
user_schema = UserSchema()
(De)serialize your data
=======================
.. code-block:: python
user = User(last_name="Smith", first_name="John")
user_schema.dump(user).data
# {u'first_name': u'John', u'last_name': u'Smith', u'email': None}
user_schema.load({"last_name": "Smith", "first_name": "John"}).data
# user<Smith>
.. |pypi-package| image:: https://badge.fury.io/py/marshmallow-pynamodb.svg
:target: http://badge.fury.io/py/marshmallow-pynamodb
:alt: Latest version
License
=======
MIT licensed. See the bundled `LICENSE <https://github.com/mathewmarcus/marshmallow-pynamodb/blob/master/LICENSE.txt>`_ file for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for marshmallow-pynamodb-0.2.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ae210367c328c5e95d1eeee79f5f9721bcd9a14c7e43eb97d917e5a4de5c505 |
|
MD5 | af58874e56aaef723ab34b0015678cb4 |
|
BLAKE2b-256 | f37750b7df2cbdd887d262b4f9c4fc646aa3da5f21da1e196f5671340ee6e745 |