A Hypothesis strategy for generating data that matches some JSON schema.
The public API consists of just one function: hypothesis_jsonschema.from_schema
,
which takes a JSON schema and returns a strategy for allowed JSON objects.
JSONSchema drafts 04, 05, and 07 are fully tested and working. As of version 0.11, this includes resolving non-recursive references!
For details on how to use this strategy in your tests, see the Hypothesis docs.
hypothesis-jsonschema
requires Python 3.6 or later.
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.
You can sponsor me to get priority support, roadmap input, and prioritized feature development.
We love external contributions - and try to make them both easy and fun. You can read more details in our contributing guide, and see everyone who has contributed on GitHub. Thanks, everyone!
Patch notes can be found in CHANGELOG.md
.
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.