Skip to content

Commit

Permalink
Merge pull request #20 from maximkulkin/readme-rst
Browse files Browse the repository at this point in the history
Convert REAME.md -> README.rst
  • Loading branch information
maximkulkin authored Jul 29, 2016
2 parents 9d71dc1 + e7b6a9e commit 941914a
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 62 deletions.
61 changes: 0 additions & 61 deletions README.md

This file was deleted.

87 changes: 87 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
********
lollipop
********

.. image:: https://travis-ci.org/maximkulkin/lollipop.svg
:target: https://travis-ci.org/maximkulkin/lollipop
:alt: Build Status

.. image:: https://readthedocs.org/projects/lollipop/badge/?version=latest
:target: http://lollipop.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

Data serialization and validation library

.. code-block:: python
from lollipop.types import Object, String, Date
from lollipop.validators import Length
from collections import namedtuple
from datetime import date
Person = namedtuple('Person', ['name'])
Book = namedtuple('Book', ['title', 'author'])
PersonType = Object({
'name': String(validate=Length(min=1)),
}, constructor=Person)
BookType = Object({
'title': String(),
'pubish_date': Date(),
'author': PersonType,
}, constructor=Book)
BookType.dump(
Book(title='Moby-Dick',
publish_date=date(1854, 11, 14),
author=Person(name='Herman Melville'))
)
# => {'title': 'Moby-Dick',
# 'publish_date': '1854-11-14',
# 'author': {
# 'name': 'Herman Melville'
# }}
BookType.load({'title': 'Moby-Dick', 'publish_date': '1854-11-14',
'author': {'name': 'Herman Melville'}})
# => Book(title='Moby-Dick', publish_date=date(1854, 11, 14),
# author=User(name='Herman Melville'))
BookType.validate({'title': 'Moby-Dick', 'author': {'name': ''}})
# => {'author': {'name': 'Length should be at least 1'},
'publish_date': 'Value is required'}
Installation
============

::

$ pip install lollipop


Documentation
=============

Documentation is available at http://lollipop.readthedocs.io/ .


Requirements
============

- Python >= 2.6 or <= 3.5


Project Links
=============

- Documentation: http://lollipop.readthedocs.io/
- PyPI: https://pypi.python.org/pypi/lollipop
- Issues: https://github.com/maximkulkin/lollipop/issues


License
=======

MIT licensed. See the bundled `LICENSE <https://github.com/maximkulkin/lollipop/blob/master/LICENSE>`_ file for more details.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def read(fname):
name='lollipop',
version=__version__,
description=('Data serialization and validation library'),
long_description=read('README.md'),
long_description=read('README.rst'),
author='Maxim Kulkin',
author_email='[email protected]',
url='https://github.com/maximkulkin/lollipop',
Expand Down

0 comments on commit 941914a

Please sign in to comment.