The public API consists of just one function:
which takes a JSON schema and returns a strategy for allowed JSON objects.
Schema reuse with "definitions" and "$ref" is not yet supported, but everything else in drafts 04, 05, and 07 is fully tested and working.
For details on how to use this strategy in your tests, see the Hypothesis docs.
hypothesis-jsonschema does not support Python 2, because
it's close to end of life and Python 3.6+ is a
much nicer language. Contact me if you would like this changed and are
willing to either pay for or do the work to support Python 2.
In general, 0.x versions will require very recent versions of all dependencies because I don't want to deal with compatibility workarounds.
hypothesis-jsonschema may make backwards-incompatible changes at any time
before version 1.x - that's what semver means! - but I've kept the API surface
small enough that this should be avoidable. The main source of breaks will be
if or when schema that never really worked turn into explicit errors instead
of generating values that don't quite match.
0.8.1 - 2019-03-24
- Supports draft-04 schemata with the latest version of
0.8.0 - 2019-03-23
- Further improved support for
anyOfwith base schemata
- Added support for
- Handles overlapping
0.7.0 - 2019-03-21
- Now requires
- Improved support for
- Supports schemata with
"type": [an array of types]
- Warning-free on Hypothesis 4.11
0.6.1 - 2019-02-23
- Fix continuous delivery configuration (before the latent bug manifested)
0.6.0 - 2019-02-23
- Support for conditional subschemata, i.e. the
elsekeywords, and the
0.5.0 - 2019-02-22
- Works with
- Initial support for draft06 and draft07
0.4.2 - 2019-02-14
- Dropped dependency on
- Less warnings on Python 3.7
0.4.1 - 2019-02-06
- Relicensed under the more permissive Mozilla Public License, like Hypothesis
- Requires Hypothesis version 4.0 or later
- Fixed an array bounds bug with
0.4.0 - 2018-11-25
Supports string formats (email, datetime, etc) and simple use of the
"contains" keyword for arrays.
0.3.0 - 2018-11-25
Good support for all basic types. MVP.
0.2.0 - 2018-11-24
Inference for null, boolean, string, and numeric types.
0.1.0 - 2018-11-21
Stake in the ground (generate arbitrary JSON and filter it!)