persefone

Encoder for the Siren hypermedia format


Keywords
hateoas, siren, siren-json
License
MIT
Install
pip install persefone==0.2.0

Documentation

Persefone

Pypi Travis

Persefone is an encoder for the Siren hypermedia format that uses ujson to generate Siren-compliant JSON efficiently.

Usually such encoders work with JSON, so you convert your data to JSON and pass it to the encoder.

The idea behind persefone is to provide a perfomant Siren encoder by removing the JSON conversion step: you pass your data as provided by your ORM and persefone deals with that, returning JSON.

Supported orms and data structures

Persefone currently supports only peewee, but I plan to add support for other ORMs and similar tools.res

Usage

Install with pip:

pip install persefone

Then:

from persefone.peewee import Siren

Siren(data, '/path', model=MyModel).encode() # returns Siren-valid JSON

If you have a list:

Siren([item, ...], '/path', model=MyModel)

Pagination:

Siren([item, ...], '/path', model=MyModel, total_items=100, current_page=2)

Contributing

Contributions and feedbacks are welcome. You can just open an issue.