pyrx-ats

Rx schema and validation system, with added error messages


License
GPL-2.0
Install
pip install pyrx-ats==0.3.1

Documentation

pyrx with error messages

Python implementation of the Rx schema and validation system

Fork of pyrx with added error messages. Most of the readme is also taken from there, just with updated usage instuctions.

Forked

Forked from the main rx github repo Nov 25 '13 because the python implementation deserves its own place and testing and stuff.

The copyright line of the license for the rx repository reads:

The contents of the Rx repository are copyright (C) 2008, Ricardo SIGNES.

The license itself is GPL2: https://github.com/rjbs/rx/blob/master/LICENSE

Requirements

  • No external dependencies
  • Python2.7

Usage

import pyrx

rx = pyrx.Factory({"register_core_types": True})

schema_src = {
  "type": "//rec",
  "required": {
    "a": "//str",
    "b": "//int",
  },
  "optional": {
    "c": "//bool",
  },
}

schema = rx.make_schema(schema_src)

schema.check({"a": "a string", "b": 2}).valid  # returns True
schema.check({"a": "a string", "b": "another string"}).valid  # returns False
schema.check({"a": "a string", "b": "another string"}).message  # returns an error message

Testing

py.test test/