summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add 4.1.0 to the changelog.v4.1.0a1release-notesJulian Berman2021-10-091-0/+10
|
* Sigh, back to full clones.Julian Berman2021-10-081-0/+2
|
* Try autocreating release notes.Julian Berman2021-10-081-8/+14
| | | | | | | | See https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes and https://github.blog/2021-10-04-beta-github-releases-improving-release-experience/
* Skip tests on 3.10 + Windows which fail for annoying compilation reasons.Julian Berman2021-10-081-0/+12
|
* Ignore distutils warnings coming from pip which needs a release.Julian Berman2021-10-081-1/+1
|
* Add support for Python 3.10.Julian Berman2021-10-084-2/+15
|
* Combine the CI and precommit workflows.Julian Berman2021-10-082-13/+7
|
* Skip the tests which tickle known bugs.Julian Berman2021-10-071-8/+56
|
* Merge commit 'cf886386cc0996df6743b425f74675a6d8a1a9ca'Julian Berman2021-10-07129-1289/+5355
|\ | | | | | | | | * commit 'cf886386cc0996df6743b425f74675a6d8a1a9ca': Squashed 'json/' changes from 20c1bb1d9..54440eab4
| * Squashed 'json/' changes from 20c1bb1d9..54440eab4Julian Berman2021-10-07129-1289/+5355
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 54440eab4 Merge pull request #516 from ChALkeR/chalker/ipv6 e7b22e1c6 Fix the sanity check by pinning. 8891d8107 Merge pull request #519 from json-schema-org/ether/custom-dialect 5f5fccda3 test the format-assertion vocabulary with a custom metaschema 3fcee3868 Merge pull request #512 from json-schema-org/ether/formats-and-non-strings b349b8797 test that format-assertions are valid with non-string types 8e5b2f10d fix needless inconsistencies in format tests between drafts 02d7cb59a Correct "ref with sibling id" tests 1649470ba More ipv6 tests to increase coverage 7334b4c7e Merge pull request #505 from ChALkeR/chalker/fix-unicode 0fb2d2787 Consolidate optional/unicode into optional/ecmascript-regex 4f8c6d7bf unevaluatedProperties: deep dynamic + refs 9103f3b6f $ref wit id does not test what it is indented to do f300dd15f Add test "same $anchor with different base uri" d128f9d7f Add test to check that $id resolved against nearest parent, not just immediate parent 72e31dd20 Merge pull request #515 from json-schema-org/ether/fix-mandatory-format-tests 0173a0835 Revert "by default, "format" only annotates, not validates" 66e813a90 Merge pull request #506 from json-schema-org/ether/formats-non-ascii 9430972bc fix unicode tests in accordance to pattern/patternProperties spec git-subtree-dir: json git-subtree-split: 54440eab4d50b80a62cc9f9c561e306cdbb19591
* | Re-allow the fuzz to fail.Julian Berman2021-10-031-0/+1
| | | | | | | | | | | | | | It seems to have stopped running, even though I don't believe anything related to it has changed, but it'll require some diagnosis that I don't have time for at the minute to figure out what precisely.
* | Add the missing format dependency documentation.Julian Berman2021-10-021-3/+8
| |
* | Merge pull request #846 from tirkarthi/fix-python-requiresv4.0.1Julian Berman2021-09-301-1/+1
|\ \ | | | | | | Move python_requires to options for correct METADATA generation.
| * | Move python_requires to options for correct METADATA generation.Karthikeyan Singaravelan2021-09-301-1/+1
|/ /
* | Add the Zenodo badge.Julian Berman2021-09-291-1/+4
| | | | | | | | Closes: #784
* | Stylev4.0.0Julian Berman2021-09-291-3/+0
| |
* | Remove the added argument to jsonschema.validators.create. ↵Julian Berman2021-09-2917-615/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | julian@Airm ● We need a better public API for vocabularies, and this unfortunately won't cut it. For now this is dirty, but works to load all vocabularies (which are just concatenated together). The reason this is needed is because I don't see a PEP302-compliant way to load a whole directory using the importlib.resources APIs (which call directories 'packages') -- and doing so manually would break importing jsonschema via a zip file, which is something historically that users were doing.
* | Make it clear that support for draft2020-12 is partial unfortunately.Julian Berman2021-09-292-6/+13
| | | | | | | | | | Support for dynamicRef will come with a redesign of ref resolution, but can't keep blocking the release.
* | Merge pull request #841 from hugovk/rm-universalJulian Berman2021-09-282-3/+4
|\ \ | | | | | | Don't build universal wheels for Python 3-only
| * | Ignore build filesHugo van Kemenade2021-09-281-0/+4
| | |
| * | No need to build universal wheels for Python 3-onlyHugo van Kemenade2021-09-281-3/+0
|/ /
* | Merge pull request #834 from Julian/pre-commit-ci-update-configJulian Berman2021-09-061-3/+3
|\ \ | | | | | | [pre-commit.ci] pre-commit autoupdate
| * | [pre-commit.ci] pre-commit autoupdatepre-commit-ci[bot]2021-08-301-3/+3
|/ / | | | | | | | | | | | | updates: - [github.com/pre-commit/pre-commit-hooks: v3.4.0 → v4.0.1](https://github.com/pre-commit/pre-commit-hooks/compare/v3.4.0...v4.0.1) - https://github.com/timothycrosley/isort → https://github.com/PyCQA/isort - [github.com/PyCQA/isort: 5.7.0 → 5.9.3](https://github.com/PyCQA/isort/compare/5.7.0...5.9.3)
* | Deprecate jsonschema.validators.validators and .meta_schemas.Julian Berman2021-08-264-26/+72
| | | | | | | | | | | | | | | | Besides having confusing names, these expose mutable global state in a way that makes maintenance hard. Today, jsonschema.validators.validator_for(schema) can be used to look up an appropriate Validator given an arbitrary schema.
* | StyleJulian Berman2021-08-261-3/+3
| |
* | Add test cases for error details hidden behind a $refJulian Berman2021-08-261-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | These indeed can be improved, as mentioned in https://github.com/Julian/jsonschema/pull/817#issuecomment-881550313 but it's a bit less clear exactly how yet -- rather than putting $ref in the schema path, instead using relative_schema_path to only refer to the schema post-$ref lookup is a bit more consistent with the current norms, wherein what's in schema_path should be lookup-able via indexing. But for now, they're distinguishable via .schema, which shows only the $ref'ed schema for the second error.
* | Add Validator.evolve, deprecating passing _schema to methods.Julian Berman2021-08-256-20/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A Validator should be thought of as encapsulating validation with a single fixed schema. Previously, iter_errors and is_valid allowed passing a second argument, which was a different schema to use for one method call. This was mostly for convenience, since the second argument is often used during sub-validation whilst say, recursing. The correct way to do so now is to say: validator.evolve(schema=new_schema).iter_errors(...) validator.evolve(schema=new_schema).is_valid(...) instead, which is essentially equally convenient. Closes: #522
* | Remove 2-arg-using form of is_valid from tests.Julian Berman2021-08-251-2/+2
| | | | | | | | | | This will soon be deprecated, and these tests don't care about specifically doing things this way.
* | Test iter_errors independent of a draft validator.Julian Berman2021-08-251-47/+31
| | | | | | | | Removes some testing redundancy as well.
* | Set __qualname__ for validator classes.Julian Berman2021-08-252-10/+48
| | | | | | | | Also switch to using attrs to instantiate / repr them.
* | Suppress the KeyError in unknown type exception tracebacks.Julian Berman2021-08-252-14/+24
| | | | | | | | | | It's an implementation detail that this is looking things up in a dict.
* | Temporarily simplify _finditem, and unskip some tests.Julian Berman2021-08-252-46/+13
| | | | | | | | | | _finditem will be removed (in favor of more robust finding of scope changes), so this won't matter much, but it's tidier.
* | Remove RefResolver.scopes_stack_copy.Julian Berman2021-08-253-11/+2
| | | | | | | | | | | | This makes the (anyhow-not-yet-working) dynamicRef validators access private state on ref resolvers, but that will be fixed when aforementioned not-working is fixed.
* | Bit of coverage tweaking.v4.0.0a6Julian Berman2021-08-253-18/+25
| |
* | Deprecate jsonschema.RefResolver.in_scope.Julian Berman2021-08-252-2/+25
| | | | | | | | | | It is unused in internal code and can be instead done via push/pop_scope (at least until the entirety of RefResolver is deprecated).
* | Remove more dead code.Julian Berman2021-08-252-29/+0
| |
* | Remove dead code.Julian Berman2021-08-251-5/+0
| |
* | Remove 3.6-related code.Julian Berman2021-08-251-23/+0
| |
* | Minor tweak of local variables.Julian Berman2021-08-251-2/+1
| |
* | FileNotFoundError and FileExistsError in more places.Julian Berman2021-08-253-16/+5
| |
* | Minor tweak to the OSSFuzz workflow.Julian Berman2021-08-252-4/+2
| |
* | Properly set the failing validator for min/maxContains.Julian Berman2021-08-252-0/+92
| | | | | | | | | | | | Also check that only one error is raised for maxContains, which is the case right now due to short circuiting as soon as we see too many matches.
* | Ensure message_for allows only one error.Julian Berman2021-08-251-5/+11
| | | | | | | | | | | | | | | | This prevents some nondeterminism (if there were multiple errors that came out in different orders). These tests don't really deal with multiple errors, so this seems 'safe' from a convenience perspective to require.
* | Add a test for the 2019-09 $id lookup.Julian Berman2021-08-251-0/+13
| |
* | Kill an old testing helper now that it mostly lives in contextlib.Julian Berman2021-08-252-40/+21
| |
* | Use contextmanager.suppress to kill a bit of boilerplate.Julian Berman2021-08-251-36/+17
| |
* | Always depend on the newer webcolors API.Julian Berman2021-08-251-2/+2
| |
* | Add an explicit ASCII check.Julian Berman2021-08-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It may seem like this isn't necessary, because: datetime.date.fromisoformat('1963-06-1৪') fails (properly! it's non-ASCII) on CPython, but that's only because the datetime module swaps itself out for the C implementation, and the C implementation blows up on the non-ASCII string. The pure-python implementation (which in some situations may get used) does no check itself for ASCII-ness. There's a comment saying as much here: https://github.com/python/cpython/blob/bb3e0c240bc60fe08d332ff5955d54197f79751c/Lib/datetime.py#L266-L267 So, let's check explicitly ourselves regardless of this working occasionally. Thanks PyPy for pointing out the bug.
* | Remove 3.6-related code.Julian Berman2021-08-241-7/+0
| |
* | Depend on rfc3339-validator for format, even for non-nonGPL.Julian Berman2021-08-243-17/+11
| | | | | | | | | | | | | | It passes all the new upstream (non-ASCII date/time) tests, whilst strict-rfc3339 does not, plus it's maintained. More props to @naimetti.