- update to 0.15.2:

* 522 Fix regression with ALLOW_EXTRA and `Any` validator

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-voluptuous?expand=0&rev=28
This commit is contained in:
Dirk Mueller 2024-09-08 16:37:56 +00:00 committed by Git OBS Bridge
commit 6e6a708c7a
6 changed files with 378 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b3b6019db375a5d3c3293e20ffa582c6b840c94d6012125a0e355fc37a8a11b9
size 45838

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cee1207b54c6b6da17133cf198b138f6840d6cd5da1bd4baa7732c9cf98febe4
size 46075

289
python-voluptuous.changes Normal file
View File

@ -0,0 +1,289 @@
-------------------------------------------------------------------
Sun Sep 8 16:37:17 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.15.2:
* 522 Fix regression with ALLOW_EXTRA and `Any` validator
-------------------------------------------------------------------
Sat Jun 29 07:00:04 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.15.1:
* #512: Add Any type to defaults
* #513: Only calculate hash once for Marker objects
* #514: Remove python 3.8 support
-------------------------------------------------------------------
Thu Mar 14 08:55:07 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.14.2:
* #507: docs: document description field of Marker
* #506: fix: allow unsortable containers in In and NotIn
validators (fixes #451)
* #488: fix(typing): fix type hint for Coerce type param
* #497: fix(typing): allow path to be a list of strings,
integers or any other hashables
* #499: support: drop support for python 3.7
* #501: support: run tests on python 3.11
* #502: support: run tests on python 3.12
* #495: refactor: drop duplicated type checks in
Schema._compile
* #500: refactor: fix few tests, use pytest.raises, extend
raises helper
* #503: refactor: Add linters configuration, reformat whole
code
-------------------------------------------------------------------
Wed Dec 13 10:40:58 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 0.14.1:
* Add `python_requires` so package installers know
requirement is >= 3.7
* Fix a few code comment typos
* Change to SPDX conform license string
* Add typing information
* Fix new type hint of schemas, for example for
`Required('key')`
* Fix new type hints and enable `mypy`
* Allow error reporting on keys
* Set static PyPI project description
* Remove Travis build status badge
-------------------------------------------------------------------
Sat Oct 1 14:37:36 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 0.13.1:
* Ignore `Enum` if it is unavailable
* Fix email regex match for Python 2.7
* Enable github actions
* Convert codebase to adhere to `flake8` W504 (PEP 8)
* Enable `flake8` in github actions
* `pytest` migration + enable Python 3.10
* Display valid `Enum` values in `Coerce`
* Revert Breaking Maybe change in 0.12.1
* Revert Breaking `Maybe` change in 0.12.1
* Fix Email Regex to not match on extra characters
- drop python-voluptuous-remove-nose.patch (upstream)
-------------------------------------------------------------------
Thu Jun 18 09:59:14 UTC 2020 - pgajdos@suse.com
- added patches
https://github.com/alecthomas/voluptuous/pull/422
+ python-voluptuous-remove-nose.patch
-------------------------------------------------------------------
Mon Aug 26 11:41:09 UTC 2019 - Antonio Larrosa <alarrosa@suse.com>
- Update to 0.11.7:
* #378: Allow extend() of a Schema to return a subclass of a Schema as well.
* #364: Accept description for Inclusive instances.
* #373: Accept msg for Maybe instances.
* #382: Added support for default values in Inclusive instances.
* #371: Fixed DeprecationWarning related to collections.Mapping.
* #377: Preserve Unicode strings when passed to utility functions
(e.g., Lower(), Upper()).
* #380: Fixed regression with Any and required flag.
-------------------------------------------------------------------
Wed Aug 8 12:30:18 UTC 2018 - jengelh@inai.de
- Trim repeated name in summary (rpmlint). Trim filler wording
from description.
-------------------------------------------------------------------
Tue Aug 7 20:08:10 UTC 2018 - dmueller@suse.com
- update to 0.11.5:
* Fixed issue with opening README file in setup.py.
* Support Python 3.7.
* #343: Drop support for Python 3.3.
* #342: Add support for sets and frozensets.
* #332: Fix Python 3.x compatibility for setup.py when pypandoc is installed.
* #348: Include path in AnyInvalid errors.
*#351: Fix Date behaviour when a custom format is specified.
-------------------------------------------------------------------
Tue Aug 7 11:31:24 UTC 2018 - tchvatal@suse.com
- Sort out a bit with spec-cleaner
-------------------------------------------------------------------
Fri Mar 23 15:05:35 UTC 2018 - tbechtold@suse.com
- update to 0.11.1:
- Support Python 3.6.
- Drop support for Python 2.6, 3.1 and 3.2.
- Allow to use nested schema and allow any validator to be compiled.
- Default values MUST now pass validation just as any regular value.
This is a backward incompatible change if a schema uses default values
that don't pass validation against the specified schema.
- Modify `__lt__` in Marker class to allow comparison with non Marker
objects, such as str and int.
- Add description field to `Marker` instances.
- Add `Schema.infer` method for basic schema inference.
- Add `SomeOf` validator.
- Treat Python 2 old-style classes like types when validating.
- Make `IsDir()`, `IsFile()` and `PathExists()` consistent between
different Python versions.
- Use absolute imports to avoid import conflicts.
- Fix `Coerce` validator to catch `decimal.InvalidOperation`.
- Make `Schema([])` usage consistent with `Schema({})`.
- Allow partial validation when using validate decorator.
- Make `Schema.__eq__` deterministic.
- Replace implementation of `Maybe(s)` with `Any(None, s)` to allow
it to be compiled.
-------------------------------------------------------------------
Thu Jul 6 14:39:52 UTC 2017 - tbechtold@suse.com
- update to 0.10.5:
- [#278](https://github.com/alecthomas/voluptuous/pull/278): Unicode
translation to python 2 issue fixed.
- [#195](https://github.com/alecthomas/voluptuous/pull/195):
`Range` raises `RangeInvalid` when testing `math.nan`.
- [#215](https://github.com/alecthomas/voluptuous/pull/215):
`{}` and `[]` now always evaluate as is, instead of as any dict or any list.
To specify a free-form list, use `list` instead of `[]`. To specify a
free-form dict, use `dict` instead of `Schema({}, extra=ALLOW_EXTRA)`.
- [#224](https://github.com/alecthomas/voluptuous/pull/224):
Change the encoding of keys in error messages from Unicode to UTF-8.
- [#185](https://github.com/alecthomas/voluptuous/pull/185):
Add argument validation decorator.
- [#199](https://github.com/alecthomas/voluptuous/pull/199):
Add `Unordered`.
- [#200](https://github.com/alecthomas/voluptuous/pull/200):
Add `Equal`.
- [#207](https://github.com/alecthomas/voluptuous/pull/207):
Add `Number`.
- [#210](https://github.com/alecthomas/voluptuous/pull/210):
Add `Schema` equality check.
- [#212](https://github.com/alecthomas/voluptuous/pull/212):
Add `coveralls`.
- [#227](https://github.com/alecthomas/voluptuous/pull/227):
Improve `Marker` management in `Schema`.
- [#232](https://github.com/alecthomas/voluptuous/pull/232):
Add `Maybe`.
- [#234](https://github.com/alecthomas/voluptuous/pull/234):
Add `Date`.
- [#236](https://github.com/alecthomas/voluptuous/pull/236),
[#237](https://github.com/alecthomas/voluptuous/pull/237), and
[#238](https://github.com/alecthomas/voluptuous/pull/238):
Add script for updating `gh-pages`.
- [#256](https://github.com/alecthomas/voluptuous/pull/256):
Add support for `OrderedDict` validation.
- [#258](https://github.com/alecthomas/voluptuous/pull/258):
Add `Contains`.
- [#197](https://github.com/alecthomas/voluptuous/pull/197):
`ExactSequence` checks sequences are the same length.
- [#201](https://github.com/alecthomas/voluptuous/pull/201):
Empty lists are evaluated as is.
- [#205](https://github.com/alecthomas/voluptuous/pull/205):
Filepath validators correctly handle `None`.
- [#206](https://github.com/alecthomas/voluptuous/pull/206):
Handle non-subscriptable types in `humanize_error`.
- [#231](https://github.com/alecthomas/voluptuous/pull/231):
Validate `namedtuple` as a `tuple`.
- [#235](https://github.com/alecthomas/voluptuous/pull/235):
Update docstring.
- [#249](https://github.com/alecthomas/voluptuous/pull/249):
Update documentation.
- [#262](https://github.com/alecthomas/voluptuous/pull/262):
Fix a performance issue of exponential complexity where all of
the dict keys were matched against all keys in the schema.
This resulted in O(n*m) complexity where n is the number of keys
in the dict being validated and m is the number of keys in the schema.
The fix ensures that each key in the dict is matched against the
relevant schema keys only. It now works in O(n).
- [#266](https://github.com/alecthomas/voluptuous/pull/266):
Remove setuptools as a dependency.
- convert to singlespec
-------------------------------------------------------------------
Thu Aug 11 13:32:54 UTC 2016 - tbechtold@suse.com
- Use pypi.io as Source url
-------------------------------------------------------------------
Wed Aug 10 11:43:06 UTC 2016 - tbechtold@suse.com
- update to 0.9.3:
* README: Document Schema.extend
* Also include README.rst in distribution.
* Add missing % formatting character
* Mention use of Any to allow None values
* Flake8 errors resolved; Tox now running successfully
* Bump to 0.9.2
* if/else conditions modified
* 0.9.1 to fix missing Error import.
* Don't assume a user's dict type can be instantiated.
* Eliminate unnecessary SequenceItemInvalid exception.
* Squashing commits into 1
* Fixes issue #118 by guarding against a TypeError: unhashable type: 'list' exception
* Bump version.
* Include tests in sdist.
* Removed docs from master to avoid confusion
* Added additional @wraps where appropriate
* Added Unique and Set
* Added recursive schema into README #128
* Remove setup_requires from setup.py
* Added validator for datetime strings
* 0.8.9 release.
* Documentation made with Sphinx
* Make many of the validators have useful __repr__
* Test cases for checking validation of domain less url's
* Added Literal wrapper for literal comparisons.
* Fixed docs for doctest
* Added Documentation Link
* Implement Schema.extend
* Release 0.8.7.
* Did validation for Fully qualified domain url's
* 0.8.11
* 0.8.10
* Sorting unittest
* Add SetTo(n) to force setting a value. Useful with Any().
* Fix some bugs.
* Improve `repr` representation of some classes
* ExactSequence fix for item assignment
* Support bool literals.
* Fixed spelling of word
* Add python 3.5 to tox.ini test suite
* setup.py changed to support packages
* 0.9.0
* Fixed Unique and Set tests in other python versions
* Email validator added
* Fixed Python 3.x version check by using sys.version_info
* Corrected typo
* Have iteritems work with any Mapping class that implements iteritems
* Updated url validation code for url's with no domain
* Use with statement to close file handle
* Updated README for extra keys setting
* Correctly report error location with inclusive/exclusive.
* Use https in setup
* Handle nested MultipleInvalid exceptions.
* error humanization wrappers for #140
* Run static analysis on the exact source set
* Added package classifiers to indicate support for Python 3.x
* Add NotIn validation
* remove unneeded conditional check.
* Fixes #157
* Update travis.yml with python 3.4, 3.5 support
* Schema.extend works only for dicts
* regex precompiled at import time
* Add validate_schema decorator
* Fix a TypeError when using a copy of dictionary fields.
* Implemented __lt__ on Marker objects
* Aliases: Or = Any, And = All
* Readme updated for incorporating url.
* Url scheme and host validation
* flake8 cleanup (removed unused import)
* Prevent individual errors from validating a list's items from being lost.
* Adds string transform for stripping whitespace
* Test cases added for email
* W503 resolution made clear
* Added correct handling of callable objects as default values
* More test cases added for FQDN url validation
-------------------------------------------------------------------
Wed Apr 1 21:13:38 BST 2015 - aspiers@suse.com
- Initial version

59
python-voluptuous.spec Normal file
View File

@ -0,0 +1,59 @@
#
# spec file for package python-voluptuous
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-voluptuous
Version: 0.15.2
Release: 0
Summary: A Python data validation library
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/alecthomas/voluptuous
Source: https://github.com/alecthomas/voluptuous/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}-gh.tar.gz
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
%python_subpackages
%description
Voluptuous is a Python data validation library. It validates data
coming into Python as JSON, YAML, etc.
%prep
%setup -q -n voluptuous-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%pytest
%files %{python_files}
%license COPYING
%doc README.md
%{python_sitelib}/voluptuous
%{python_sitelib}/voluptuous-*.dist-info
%changelog