Skip to main content

Generate test data from JSON schemata with Hypothesis

Project description

hypothesis-jsonschema

A Hypothesis strategy for generating data that matches some JSON schema.

Here's the PyPI page.

API

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.

Supported versions

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.

Contributing to hypothesis-jsonschema

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!

Changelog

Patch notes can be found in CHANGELOG.md.

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hypothesis-jsonschema-0.16.0.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hypothesis_jsonschema-0.16.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file hypothesis-jsonschema-0.16.0.tar.gz.

File metadata

  • Download URL: hypothesis-jsonschema-0.16.0.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for hypothesis-jsonschema-0.16.0.tar.gz
Algorithm Hash digest
SHA256 89f36e9d71ba7ba67642d4844054ec35e16460838238aa0c8b364ef8c4d16c69
MD5 e1e7f8663d0ecdd4334b69639f12453e
BLAKE2b-256 ace7a83b46b42135d7f77223612d6e1dcd10695b15f4b71e86fc95ed3c203688

See more details on using hashes here.

File details

Details for the file hypothesis_jsonschema-0.16.0-py3-none-any.whl.

File metadata

  • Download URL: hypothesis_jsonschema-0.16.0-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for hypothesis_jsonschema-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 29e86be1ace6ae397191f8d3c204881b5baae06be8d83b187cce8fe944bd1772
MD5 621703056b43c403e29aa6fc41a402e2
BLAKE2b-256 d87ca39ba26666fe46aaac13da3e476bdc913040fca680fc78b3ff0dd9cba4b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page