Comments (2)
That does seem undesired at first glance -- possibly/probably fixable as you say -- can you open a new issue so it's not forgotten?
from jsonschema.
Hi, not sure if you expected one side effect. It is too minor for mentioning it in the separate issue, so leaving it here.
schema = {'oneOf': [
{'properties': {'run': {'type': 'string'}}, 'required': ['run']},
{'properties': {'uses': {'type': 'string'}}, 'required': ['uses']},
]}
instance = {'uses': 1, 'run': 1}
error = exceptions.best_match(Validator(schema).iter_errors(instance))
print(schema, "\n\n", error)
After the fix it produces:
1 is not of type 'string'
On instance['run']:
1
Conceptually, it is not clear why run
has priority (I understand that technically it has priority due to the alphabetical order).
Based on real example https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/github-workflow.json
As an alternative proposal, the relevance function could not be changed, but best_match
could distinguish errors having different error.path in the same subscheme, and choose first of them (maybe having even not the minimal relevance, but the maximum one for this particular subscheme provided that it is still minimal among different subschemes).
from jsonschema.
Related Issues (20)
- `"format":"date-time"` not working HOT 6
- The latest version is slower than 3.2.0 validator HOT 5
- Validation error messages changed after upgrading jsonschema version from 3.2.0 to 4.21.1 HOT 5
- multipleOf fails to validate that 4.02 is a multiple of 0.01 due to floating point math HOT 1
- Unexpected KeyError while running test suite inside GitLab Worker HOT 3
- Enhancing the multipleOf Validator for Improved Decimal Handling in jsonschema HOT 1
- @FormatChecker.checks decorator not a classmethod HOT 1
- RefResolver deprecation docs are confusing and do not explain how to replace a very simple usage (a RefResolver which just specifies a base_uri) HOT 1
- Using the copy button of the code block in the README results in error "zsh: command not found: $" HOT 2
- Support installation via Homebrew HOT 1
- Documentation is out to date HOT 6
- Error importing jsonschema after release 4.22.0 HOT 7
- Mitigate undesired side effect of new `best_match` behaviour with alternative proposal HOT 1
- jsonschema not work with python3.13 HOT 1
- When certain types of error messages are converted to strings, certain schema properties are incorrectly converted HOT 3
- Python 3,.13 not yet working due to PyO3 maximum supported version HOT 3
- Relative pointers fail to evaluate HOT 5
- 4.22 fails with pytest, black and so on HOT 1
- `jsonschema._format.is_css_color_code` and `jsonschema._format.is_css21_color` never exist if the latest version of `webcolors` is installed HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jsonschema.