Skip to main content
https://travis-ci.org/MacHu-GWU/attrsmallow-project.svg?branch=master https://codecov.io/gh/MacHu-GWU/attrsmallow-project/branch/master/graph/badge.svg https://img.shields.io/pypi/v/attrsmallow.svg https://img.shields.io/pypi/l/attrsmallow.svg https://img.shields.io/pypi/pyversions/attrsmallow.svg 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.

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

Metadata

Release files for attrsmallow 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for attrsmallow 0.0.1
File Size Uploaded
attrsmallow-0.0.1.tar.gz 9.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for attrsmallow 0.0.1
File Interpreter ABI Platform
attrsmallow-0.0.1-py2-none-any.whl Python 2 none any Details

Total release size: 24.7 kB

Release files / attrsmallow-0.0.1.tar.gz

Download URL attrsmallow-0.0.1.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4f25cef4da0577691ced8a8cd2273aedff008dd3852f1f6bf630d283af8e8113
BLAKE2b-256 checksum
How to use checksums
131654447bb60e5f3b4c3367b8b8291e47b2d9a9a62062a13eed00248cf9764c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / attrsmallow-0.0.1-py2-none-any.whl

Download URL attrsmallow-0.0.1-py2-none-any.whl
Size 15.1 kB
Tags Python 2
SHA-256 checksum
How to use checksums
f13db76d5390abf6697035da66c37b342e15ea9e474cc7bb1466f2974a03a092
BLAKE2b-256 checksum
How to use checksums
8e5a511d4ae7c8650db9b066a3c0c1097420f691eef911a5ebca5eb5f6dd6c9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page