Metadata-Version: 2.0 Name: marshmallow-sqlalchemy Version: 0.13.2 Summary: SQLAlchemy integration with the marshmallow (de)serialization library Home-page: https://github.com/marshmallow-code/marshmallow-sqlalchemy Author: Steven Loria Author-email: sloria1@gmail.com License: MIT Keywords: sqlalchemy marshmallow Platform: UNKNOWN Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Natural Language :: English Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Requires-Dist: SQLAlchemy (>=0.9.7) Requires-Dist: marshmallow (>=2.0.0) ********************** marshmallow-sqlalchemy ********************** |pypi-package| |build-status| |docs| Homepage: https://marshmallow-sqlalchemy.readthedocs.io/ `SQLAlchemy `_ integration with the `marshmallow `_ (de)serialization library. Declare your models =================== .. code-block:: python import sqlalchemy as sa from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import scoped_session, sessionmaker, relationship, backref engine = sa.create_engine('sqlite:///:memory:') session = scoped_session(sessionmaker(bind=engine)) Base = declarative_base() class Author(Base): __tablename__ = 'authors' id = sa.Column(sa.Integer, primary_key=True) name = sa.Column(sa.String) def __repr__(self): return ''.format(self=self) class Book(Base): __tablename__ = 'books' id = sa.Column(sa.Integer, primary_key=True) title = sa.Column(sa.String) author_id = sa.Column(sa.Integer, sa.ForeignKey('authors.id')) author = relationship("Author", backref=backref('books')) Base.metadata.create_all(engine) Generate marshmallow schemas ============================ .. code-block:: python from marshmallow_sqlalchemy import ModelSchema class AuthorSchema(ModelSchema): class Meta: model = Author class BookSchema(ModelSchema): class Meta: model = Book # optionally attach a Session # to use for deserialization sqla_session = session author_schema = AuthorSchema() (De)serialize your data ======================= .. code-block:: python author = Author(name='Chuck Paluhniuk') book = Book(title='Fight Club', author=author) session.add(author) session.add(book) session.commit() author_schema.dump(author).data # {'books': [123], 'id': 321, 'name': 'Chuck Paluhniuk'} author_schema.load(dump_data, session=session).data # Get it now ========== :: pip install -U marshmallow-sqlalchemy Documentation ============= Documentation is available at https://marshmallow-sqlalchemy.readthedocs.io/ . Project Links ============= - Docs: https://marshmallow-sqlalchemy.readthedocs.io/ - Changelog: https://marshmallow-sqlalchemy.readthedocs.io/en/latest/changelog.html - PyPI: https://pypi.python.org/pypi/marshmallow-sqlalchemy - Issues: https://github.com/marshmallow-code/marshmallow-sqlalchemy/issues License ======= MIT licensed. See the bundled `LICENSE `_ file for more details. .. |pypi-package| image:: https://badge.fury.io/py/marshmallow-sqlalchemy.svg :target: http://badge.fury.io/py/marshmallow-sqlalchemy :alt: Latest version .. |build-status| image:: https://travis-ci.org/marshmallow-code/marshmallow-sqlalchemy.svg?branch=dev :target: https://travis-ci.org/marshmallow-code/marshmallow-sqlalchemy :alt: Travis-CI .. |docs| image:: https://readthedocs.org/projects/marshmallow-sqlalchemy/badge/ :target: http://marshmallow-sqlalchemy.readthedocs.io/ :alt: Documentation