Skip to main content

The tool for creating notes

Project description

Simple and beautiful library for data formatting/convert/serialize

pip install reformer


There are many great python libraries for serialization and data formatting search as marshmallow, DRF etc. Usually they base on data validation.

Using reformer you don’t need to define fields types, just define fields mapping with operating a reference to target fields and use it as real object

How to use

To define schema you need to create Reformer base class. The main abstraction of the reformer is a link. It represent access to the target object. You can manipulate fields as you would do it with a real object, except a few operations that have alias in link object. This methods are: iter_, in_, contains_, to_, choice_, call_:

from reformer import Reformer, link

class Schema(Reformer):
    fullname ='_', '-')  + ' ' + link.surname
    admin = link.username.in_(['admin', 'root'])
    welcome = link.username.choice_(
        {'admin': 'Hi bro', 'root': 'God?'},
        default='who are you?'

target = {
    'name': 'John',
    'surname': 'Black',
    'username': 'admin',

# OrderedDict([('fullname', 'John Black'), ('admin', True), ('welcome', 'Hi bro')])

item - another child abstraction as link, but for item of iterated object:

from reformer import Reformer, link, item

class Schema(Reformer):
    posts_titles = link.posts.iter_([item.title])

class Author:
    def posts(self):
        return [
            {'title': 'New', 'id': 10},
            {'title': 'My first post', 'id': 11},

# OrderedDict([('posts_titles', ['New', 'My first post'])])


  • errors

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reformer-0.0.6.tar.gz (3.9 kB view hashes)

Uploaded source

Built Distribution

reformer-0.0.6-py3-none-any.whl (4.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page