Skip to content
/ lima Public

Lightweight Marshalling of Python 3 Objects.

License

Notifications You must be signed in to change notification settings

b6d/lima

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lima: Lightweight Marshalling of Python 3 Objects

PyPi Package Documentation Status Build Status Test Coverage

lima takes arbitrary Python objects and converts them into data structures native to Python. The result can easily be serialized into JSON, XML, and all sorts of other things. lima is Free Software, lightweight and fast.

lima at a Glance

import datetime
import lima

# a model
class Book:
    def __init__(self, title, date_published):
        self.title = title
        self.date_published = date_published

# a marshalling schema
class BookSchema(lima.Schema):
    title = lima.fields.String()
    published = lima.fields.Date(attr='date_published')

book = Book('The Old Man and the Sea', datetime.date(1952, 9, 1))
schema = BookSchema()
schema.dump(book)
# {'published': '1952-09-01', 'title': 'The Old Man and the Sea'}

Key Features

Lightweight
lima has only a few hundred SLOC. lima has no external dependencies.
Fast
lima tries to be as fast as possible while still remaining pure Python 3.
Well documented
lima has a comprehensive tutorial and more than one line of docstring per line of Python code (see documentation).
Free
lima is Free Software, licensed under the terms of the MIT license.

Requirements

Python 3.3 or newer. That's it.

Installation

$ pip install lima

See the documentation for more comprehensive install instructions.

About

Lightweight Marshalling of Python 3 Objects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages