Validictory

  • Upload
    aconrad

  • View
    1.262

  • Download
    0

Embed Size (px)

DESCRIPTION

"Validictory" lightning talk given at the Pylons Mini Conf at Yelp in San Francisco, by Alexandre Conrad, on April 29 2011.

Citation preview

  • 1. Validictory JSON schema validator Alex Conrad Code Monkey, SurveyMonkey @alexconrad Pylons miniconf April 29, 2011 Pylons miniconf

2. What is validictory? A simple Python library to validate JSON data. 3. What do you use it for? Validate web service APIs that talk JSON. 4. How does it work? One function. Two arguments.

  • >>> import validictory >>> validictory.validate(data, schema)

5. How does it work? What is ``data`` ? A Python datatype loaded from JSON data.

  • >>> import json >>> data = json.loads(request.body)

6. How does it work? What is ``schema`` ? A Python dictionary describing how the data should be formed.

  • >>> schema = {type: string, ...minLength: 2, ...maxLength: 2}

7. How does it work? Invalid data.

  • >>> validictory.validate(USA, schema) Traceback (most recent call last): ValidationError: Length of value 'USA' for field '_data' must be less than or equal to 2

8. How does it work? Re-usable schemas, just plain Python.

  • >>>country= {type: string, ...minLength: 2, ...maxLength: 2} >>> address = {type: object, ...properties: { ...street: {type:string}, ...country:country }}

9. References pypi.python.org/pypi/validictory json-schema.org 10. Questions? Thank you. @alexconrad