Define models for communication between components, handling MarshallinG (m9g)
Project description
m9g : Define models for communication between components, handling MarshallinG (m9g)
Usage
import m9g
class Book(m9g.Model):
id = m9g.IntField(pk=True)
author = m9g.StringField()
book = Book(id=1, author="Hemingway")
book.serialize() # JSON as default
'{"id": 1, "author": "Hemingway"}'
Complex types
import datetime
class Author(m9g.Model):
id = m9g.IntField(pk=True)
authored_books = m9g.ListField(
m9g.StringField()
)
birth_date = m9g.DateField()
author = Author(
id=1,
authored_books=[
"The Torrents of Spring",
"The Sun Also Raises",
"A Farewell To Arms"
],
birth_date = datetime.date(
year=1899,
month=7,
day=21
)
)
author.serialize()
'{"id": 1, "authored_books": ["The Torrents of Spring", "The Sun Also Raises", "A Farewell To Arms"], "birth_date": "1899-07-21"}'
Contributing
Run tests for python 2.7 / 3.6
tox
Run one-off test
tox -- tests/<test_file>.py::<test_name>
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
m9g-0.0.5.tar.gz
(22.6 kB
view hashes)
Built Distribution
m9g-0.0.5-py2.py3-none-any.whl
(21.0 kB
view hashes)