pypi schemathesis 3.18.0
Release 3.18.0

latest releases: 3.19.7, 3.19.6, 3.19.5...
8 months ago


  • Extra information to VCR cassettes.
  • The --contrib-unique-data CLI option that forces Schemathesis to generate unique test cases only.
    This feature is also available as a hook in schemathesis.contrib.unique_data.
  • A few decorators & functions that provide a simpler API to extend Schemathesis:
    • schemathesis.auth for authentication providers
    • schemathesis.check for checks
    • schemathesis.hook & BaseSchema.hook for hooks
    • schemathesis.serializer for serializers
    • for targets
    • schemathesis.openapi.format for custom OpenAPI formats
    • schemathesis.graphql.scalar for GraphQL scalars
  • Open API: UUID format generation via the schemathesis.contrib.openapi.formats.uuid extension
    You could enable it via the --contrib-openapi-formats-uuid CLI option.


  • Build: Switch the build backend to Hatch.
  • Relax requirements for attrs. #1643
  • Avoid occasional empty lines in cassettes.


  • schemathesis.register_check in favor of schemathesis.check.
  • schemathesis.register_target in favor of
  • schemathesis.register_string_format in favor of schemathesis.openapi.format.
  • schemathesis.graphql.register_scalar in favor of schemathesis.graphql.scalar.
  • schemathesis.auth.register in favor of schemathesis.auth.


  • Remove recursive references from the last reference resolution level.
    It works on the best-effort basis and does not cover all possible cases. #947
  • Invalid cassettes when headers contain characters with a special meaning in YAML.
  • Properly display flaky deadline errors.
  • Internal error when the utf8_bom fixup is used for WSGI apps.
  • Printing headers that are set explicitly via get_call_kwargs in stateful testing. #828
  • Display all explicitly defined headers in the generated cURL command.
  • Replace starlette.testclient.TestClient with starlette_testclient.TestClient to keep compatibility with newer
    starlette versions. #1637


  • Running negative tests filters out less data.
  • Schema loading: Try a faster loader first if an HTTP response or a file is expected to be JSON.

Don't miss a new schemathesis release

NewReleases is sending notifications on new releases.