Skip to main content

Library to convert Lollipop schema to JSON schema

Project description

License: MIT Build Status PyPI

Library to convert Lollipop schema to JSON schema.

Example

import lollipop.types as lt
import lollipop.validators as lv

EMAIL_REGEXP = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"

USER = lt.Object({
    'name': lt.String(validate=lv.Length(min=1)),
    'email': lt.String(validate=lv.Regexp(EMAIL_REGEXP)),
    'age': lt.Optional(lt.Integer(validate=lv.Range(min=18))),
}, name='User', description='User information')

from lollipop_jsonschema import json_schema
import json

print json.dumps(json_schema(USER), indent=2)
# {
#   "title": "User",
#   "description": "User information",
#   "type": "object",
#   "properties": {
#     "age": {
#       "type": "integer",
#       "minimum": 18
#     },
#     "name": {
#       "type": "string",
#       "minLength": 1
#     },
#     "email": {
#       "type": "string",
#       "pattern": "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"
#     }
#   },
#   "required": [
#     "name",
#     "email"
#   ]
# }

Installation

$ pip install lollipop-jsonschema

Requirements

  • Python >= 2.7 and <= 3.6

  • lollipop >= 1.1.5

License

MIT licensed. See the bundled LICENSE file for more details.

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

lollipop-jsonschema-0.8.2.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

lollipop_jsonschema-0.8.2-py2.py3-none-any.whl (7.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file lollipop-jsonschema-0.8.2.tar.gz.

File metadata

File hashes

Hashes for lollipop-jsonschema-0.8.2.tar.gz
Algorithm Hash digest
SHA256 541a48ecca00d4db5144eabff6058205ba9bee8d7b0eeb2732590cafbc9152e4
MD5 117df4091e8de8eb89715f6bc9bb6493
BLAKE2b-256 e9fad93253fbca5b8474f76a13e57e076969bf5d6df4b932a002d7b55af36595

See more details on using hashes here.

File details

Details for the file lollipop_jsonschema-0.8.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for lollipop_jsonschema-0.8.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 081f7f52eee415deb4d5cde4c2def6aa273e4b22ffe4fc9a7df66ca052384d44
MD5 6d50c5958866872468973db58929b1b9
BLAKE2b-256 ddfb4e085fd5faadb0a55ef19dd097cddc56add7009d3f02ff9ee76a85dba8a0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page