Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schema validator #8

Closed
7 tasks done
pwalsh opened this issue Jan 13, 2015 · 6 comments
Closed
7 tasks done

Schema validator #8

pwalsh opened this issue Jan 13, 2015 · 6 comments
Labels
general General improvements

Comments

@pwalsh
Copy link
Member

pwalsh commented Jan 13, 2015

The SchemaValidator checks that data conforms to a JSON Table Schema.

  • Implement shared validator API
  • Create a better reference spec for JTS itself (see: https://github.com/dataprotocols/schemas)
  • Implement standalone run method
  • Check headers are valid according to schema
  • Check data is valid according to schema
    • This can be very deep, so discussed with @rgrp to minimally start with date and number validation, and build out from there in iterations. Will create separate issues when this issue closes.
  • Write tests as stand alone (via self.run)
  • Write tests as part of pipeline (via PipelineValidator.run)

Rabbit hole

Stuff that is beyond scope of this first pass, but that defines the larger scope of where we'd like to get.

@pwalsh pwalsh added the general General improvements label Jan 13, 2015
@pwalsh pwalsh added this to the Current milestone Jan 13, 2015
@pwalsh
Copy link
Member Author

pwalsh commented Jan 20, 2015

@pwalsh
Copy link
Member Author

pwalsh commented Jan 20, 2015

@pwalsh
Copy link
Member Author

pwalsh commented Jan 20, 2015

@pwalsh
Copy link
Member Author

pwalsh commented Jan 20, 2015

ref: frictionlessdata/schemas#5

@pwalsh
Copy link
Member Author

pwalsh commented Jan 20, 2015

@pwalsh
Copy link
Member Author

pwalsh commented Jan 28, 2015

This implementation supports validation of the following types:

  • string
  • integer
  • number
  • object
  • array
  • date, time, datetime
  • boolean
  • any :)

It doesn't really deal with formats, except in the case of the date/time types.

Other stuff that is not in our scope now is all recorded under the "Rabbit hole" heading of the main issue description above (which links out to specific issues).

Related, I've updated my type casting to have an almost identical API to messytables, but I am still holding off on depending on messytables directly as I'd like to keep py3 support (see okfn/messytables#117)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
general General improvements
Projects
Archived in project
Development

No branches or pull requests

1 participant