NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2485 most downloaded on PyPI
Python lib/cli for JSON/YAML schema validation
Last release 6 years ago
no release in 18 months
Ships unpredictably
gaps range from 3 weeks to 2.2 years
Nearly every release is documented
notes for 13 of 13 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
13 releases · first in 2015
Removed deprecated imp module. Dynamic imports imght be affected
General changes:
CLI changes:
Changed behaviour:
New features:
url that uses a relative simple regex to validate url:s according to RFC 1808Bug/issues fixed:
One column per quarter.
IMPORTANT LICENSE UPDATE IMPORTANT
IMPORTANT LICENSE UPDATE IMPORTANT
General changes:
Added support for keyword nullable . It is now possible to allow for a key not to be empty, when required keyword is not used.
New keywords:
Bug fixes:
Changed behaviour:
General changes:
Add support for keyword example . It does nothing and have no validation done on it.
New keywords:
Bug fixes:
...is not a dict... error instead.New features:
Changed behaviour:
General changes:
The regular PyYaml support is now deprecated in favor of ruamel.yaml, see the following link for more details about PyYaml being deprecated https://bi…
Improvements to documentation (scottclowe).
float / number type now support range restrictions
Added tests to sdist to enable downstream packaging to run tests. No code changes in this release.
Dropped support for python 3.2 becuase of unicode literals do not exists in python 3.2.
Rewrote most of the error messages to be more human readable. See docs/Upgrade Instructions.md for more details.
docs/Upgrade Instructions.mdc.validation_errors_exceptions. They contain more detailed informationThis feature is NEW and EXPERIMENTAL. Implemented support for multiple values inside in a sequence. This will allow the defenition of different types
This feature is NEW and EXPERIMENTAL. Implemented support for multiple values inside in a sequence. This will allow the defenition of different types that one sequence can contain. You can either require each value in the sequence to be valid against one to all of the different possibilities. Tests show that it still maintains backward compatibility with all old schemas but it can't be guarantee. If you find a regression in this release please file a bug report so it can be fixed ASAP.
This feature is NEW and EXPERIMENTAL. Added ability to define python files that can be used to have custom python code/functions that can be called on all types so that custom/extra validation can be done on all data structures.
Add new keyword 'func' that is a string and is used to point to a function loaded via the extension system.
Add new keyword 'extensions' that can only be used on the top level of the schema. It is should be a list with strings of files that should be loaded by the extension system. Paths can be relative or absolute.
New cli option '-e FILE' or '--extension FILE' that can be used to load extension files from cli.
Fixed a bug where types did not raise exceptions properly. If schema said it should be a map but data was a sequence, no validation error was raised in earlier versions but now it raises a 'NotSequenceError' or 'NotMappingError'.
Rework cli string that docopt uses. Removed redundant flags that docopt provides [--version & --help]
Rework cli string that docopt uses. Removed redundant flags that docopt provides [--version & --help]
Add support for timestamp validation
Add new runtime dependency 'python-dateutil' that is used to validate timestamps
Change how 'any' keyword is implemented to now accept anything and not just the implemented types. (See Upgrade Instructions document for migration details)
Switched back to semantic version numbering for this lib.
Switched back to semantic version numbering for this lib.
After the release of 15.01 the version schema was changed back from the <year>.<month> style version schema back to semantic version names. One big problem with this change is that pypi can't handle the change back to semantic names very well and because of this I had to remove the old releases from pypi and replace it with a single version 1.0.1.
No matter what version you were using you should consider upgrading to 1.0.1. The difference between the two versions is very small and contains mostly bugfixes and added improvements.
The old releases can still be obtained from github.com and if you really need the old version you can add the download url to your requirements.txt file.
Your coding agent can read these notes before it upgrades. Set up the MCP server →