fix: Force jsonschema to use our validator #118
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Otherwise, jsonschema switches back to the default Draft4Validator: python-jsonschema/jsonschema#994 This code seems to be the recommended solution, per that issue.
There are some whitespace changes because black was complaining about the lint workflow.
I also tried the following patch, but
extend
, doesn't seem to behave as documented. (Thevalidators
argument doesn't cause the validators to be overridden for$ref
erenced schema.)Note that, even if the below diff were to work, some lib-cove-* libraries (like lib-cove-ocds) override
validator.VALIDATORS
directly (which is not part of jsonschema's public API).Allowing such overrides while following jsonschema's public API would require more significant refactoring in lib-cove.