Giter VIP home page Giter VIP logo

attrsmallow-project's Introduction

https://travis-ci.org/MacHu-GWU/attrsmallow-project.svg?branch=master https://img.shields.io/badge/Star_Me_on_GitHub!--None.svg?style=social

Welcome to attrsmallow Documentation

attrs is a powerful library helps you to write concise and correct classes. And marshmallow is a powerful framework to write serializer/deserializer and data validator for complex object.

attrsmallow is a glue layer to taking advantage from them.

Quick Links

Usage

A blog example:

import attr
import marshmallow
from attrsmallow import BaseModel, BaseSchema

@attr.s
class User(BaseModel):
    id = attr.ib()
    name = attr.ib()


class UserSchema(BaseSchema):
    id = fields.Integer(required=True)
    name = fields.String(required=True)

    Model = User


User.Schema = UserSchema


@attr.s
class Post(BaseModel):
    id = attr.ib()
    title = attr.ib()
    user = attr.ib()


class PostSchema(BaseSchema):
    id = fields.Integer()
    title = fields.String()
    user = fields.Nested(UserSchema)

    Model = Post


Post.Schema = PostSchema

post_data = dict(id=1, title="Hello World!", user=dict(id=1, name="Alice"))
post = Post.load(post_data)

Install

attrsmallow is released on PyPI, so all you need is:

$ pip install attrsmallow

To upgrade to latest version:

$ pip install --upgrade attrsmallow

attrsmallow-project's People

Contributors

machu-gwu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.