Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pydantic for openSUSE:Factory
checked in at 2023-07-06 18:28:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pydantic (Old)
and /work/SRC/openSUSE:Factory/.python-pydantic.new.23466 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pydantic"
Thu Jul 6 18:28:06 2023 rev:19 rq:1096962 version:1.10.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pydantic/python-pydantic.changes
2023-05-26 20:15:03.504114218 +0200
+++
/work/SRC/openSUSE:Factory/.python-pydantic.new.23466/python-pydantic.changes
2023-07-06 18:28:10.130960081 +0200
@@ -1,0 +2,9 @@
+Wed Jul 5 13:07:17 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 1.10.9:
+ * Fix trailing zeros not ignored in Decimal validation
+ * Fix mypy plugin for v1.4.0
+ * Add future and past date hypothesis strategies
+ * Discourage usage of Cython 3 with Pydantic 1.x
+
+-------------------------------------------------------------------
Old:
----
pydantic-1.10.8.tar.gz
New:
----
pydantic-1.10.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pydantic.spec ++++++
--- /var/tmp/diff_new_pack.IPcB7Z/_old 2023-07-06 18:28:10.842964452 +0200
+++ /var/tmp/diff_new_pack.IPcB7Z/_new 2023-07-06 18:28:10.850964501 +0200
@@ -18,9 +18,8 @@
%{?sle15_python_module_pythons}
-%define skip_python2 1
Name: python-pydantic
-Version: 1.10.8
+Version: 1.10.9
Release: 0
Summary: Data validation and settings management using python type
hinting
License: MIT
++++++ pydantic-1.10.8.tar.gz -> pydantic-1.10.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/.github/workflows/ci.yml
new/pydantic-1.10.9/.github/workflows/ci.yml
--- old/pydantic-1.10.8/.github/workflows/ci.yml 2023-05-23
19:13:55.000000000 +0200
+++ new/pydantic-1.10.9/.github/workflows/ci.yml 2023-06-07
17:51:36.000000000 +0200
@@ -380,7 +380,7 @@
CIBW_BUILD: 'cp3${{ matrix.python-version }}-*'
CIBW_SKIP: '*-win32'
CIBW_PLATFORM: '${{ matrix.platform || matrix.os }}'
- CIBW_BEFORE_BUILD: 'pip install -U cython'
+ CIBW_BEFORE_BUILD: 'pip install -U "cython<3"'
CIBW_TEST_REQUIRES: 'pytest==6.2.5 pytest-mock==3.6.1'
CIBW_TEST_COMMAND: 'pytest {project}/tests'
CIBW_MANYLINUX_X86_64_IMAGE: 'manylinux2014'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/HISTORY.md
new/pydantic-1.10.9/HISTORY.md
--- old/pydantic-1.10.8/HISTORY.md 2023-05-23 19:13:55.000000000 +0200
+++ new/pydantic-1.10.9/HISTORY.md 2023-06-07 17:51:36.000000000 +0200
@@ -1,9 +1,32 @@
-## v1.10.8 (2023-05-23)
+## v2.0b2 (2023-06-03)
-* Fix a bug in `Literal` usage with `typing-extension==4.6.0`, #5826 by
@hramezani
-* This solves the (closed) issue #3849 where aliased fields that use
discriminated union fail to validate when the data contains the non-aliased
field name, #5736 by @benwah
-* Update email-validator dependency to >=2.0.0post2, #5627 by @adriangb
-* update `AnyClassMethod` for changes in
[python/typeshed#9771](https://github.com/python/typeshed/issues/9771), #5505
by @ITProKyle
+Add `from_attributes` runtime flag to `TypeAdapter.validate_python` and
`BaseModel.model_validate`.
+
+See the full changelog
[here](https://github.com/pydantic/pydantic/releases/tag/v2.0b2)
+
+## v2.0b1 (2023-06-01)
+
+First beta pre-release of Pydantic V2
+
+See the full changelog
[here](https://github.com/pydantic/pydantic/releases/tag/v2.0b1)
+
+## v2.0a4 (2023-05-05)
+
+Fourth pre-release of Pydantic V2
+
+See the full changelog
[here](https://github.com/pydantic/pydantic/releases/tag/v2.0a4)
+
+## v2.0a3 (2023-04-20)
+
+Third pre-release of Pydantic V2
+
+See the full changelog
[here](https://github.com/pydantic/pydantic/releases/tag/v2.0a3)
+
+## v2.0a2 (2023-04-12)
+
+Second pre-release of Pydantic V2
+
+See the full changelog
[here](https://github.com/pydantic/pydantic/releases/tag/v2.0a2)
## v2.0a1 (2023-04-03)
@@ -11,6 +34,20 @@
See [this post](https://docs.pydantic.dev/blog/pydantic-v2-alpha/) for more
details.
+## v1.10.9 (2023-06-07)
+
+* Fix trailing zeros not ignored in Decimal validation, #5968 by @hramezani
+* Fix mypy plugin for v1.4.0, #5928 by @cdce8p
+* Add future and past date hypothesis strategies, #5850 by @bschoenmaeckers
+* Discourage usage of Cython 3 with Pydantic 1.x, #5845 by @lig
+
+## v1.10.8 (2023-05-23)
+
+* Fix a bug in `Literal` usage with `typing-extension==4.6.0`, #5826 by
@hramezani
+* This solves the (closed) issue #3849 where aliased fields that use
discriminated union fail to validate when the data contains the non-aliased
field name, #5736 by @benwah
+* Update email-validator dependency to >=2.0.0post2, #5627 by @adriangb
+* update `AnyClassMethod` for changes in
[python/typeshed#9771](https://github.com/python/typeshed/issues/9771), #5505
by @ITProKyle
+
## v1.10.7 (2023-03-22)
* Fix creating schema from model using `ConstrainedStr` with `regex` as dict
key, #5223 by @matejetz
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/docs/install.md
new/pydantic-1.10.9/docs/install.md
--- old/pydantic-1.10.8/docs/install.md 2023-05-23 19:13:55.000000000 +0200
+++ new/pydantic-1.10.9/docs/install.md 2023-06-07 17:51:36.000000000 +0200
@@ -22,7 +22,7 @@
By default `pip install` provides optimized binaries via
[PyPI](https://pypi.org/project/pydantic/#files) for Linux, MacOS and 64bit
Windows.
-If you're installing manually, install `cython` before installing *pydantic*
and compilation should happen automatically.
+If you're installing manually, install `cython<3` (Pydantic 1.x is
incompatible with Cython v3 and above) before installing *pydantic* and
compilation should happen automatically.
To test if *pydantic* is compiled run:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/pydantic/_hypothesis_plugin.py
new/pydantic-1.10.9/pydantic/_hypothesis_plugin.py
--- old/pydantic-1.10.8/pydantic/_hypothesis_plugin.py 2023-05-23
19:13:55.000000000 +0200
+++ new/pydantic-1.10.9/pydantic/_hypothesis_plugin.py 2023-06-07
17:51:36.000000000 +0200
@@ -46,7 +46,7 @@
#
# conlist() and conset() are unsupported for now, because the workarounds for
# Cython and Hypothesis to handle parametrized generic types are incompatible.
-# Once Cython can support 'normal' generics we'll revisit this.
+# We are rethinking Hypothesis compatibility in Pydantic v2.
# Emails
try:
@@ -168,6 +168,11 @@
st.register_type_strategy(pydantic.StrictStr, st.text())
+# FutureDate, PastDate
+st.register_type_strategy(pydantic.FutureDate,
st.dates(min_value=datetime.date.today() + datetime.timedelta(days=1)))
+st.register_type_strategy(pydantic.PastDate,
st.dates(max_value=datetime.date.today() - datetime.timedelta(days=1)))
+
+
# Constrained-type resolver functions
#
# For these ones, we actually want to inspect the type in order to work out a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/pydantic/config.py
new/pydantic-1.10.9/pydantic/config.py
--- old/pydantic-1.10.8/pydantic/config.py 2023-05-23 19:13:55.000000000
+0200
+++ new/pydantic-1.10.9/pydantic/config.py 2023-06-07 17:51:36.000000000
+0200
@@ -38,7 +38,8 @@
# https://github.com/cython/cython/issues/4003
-# Will be fixed with Cython 3 but still in alpha right now
+# Fixed in Cython 3 and Pydantic v1 won't support Cython 3.
+# Pydantic v2 doesn't depend on Cython at all.
if not compiled:
from typing_extensions import TypedDict
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/pydantic/mypy.py
new/pydantic-1.10.9/pydantic/mypy.py
--- old/pydantic-1.10.8/pydantic/mypy.py 2023-05-23 19:13:55.000000000
+0200
+++ new/pydantic-1.10.9/pydantic/mypy.py 2023-06-07 17:51:36.000000000
+0200
@@ -493,15 +493,32 @@
obj_type = ctx.api.named_type(f'{BUILTINS_NAME}.object')
self_tvar_name = '_PydanticBaseModel' # Make sure it does not
conflict with other names in the class
tvar_fullname = ctx.cls.fullname + '.' + self_tvar_name
- tvd = TypeVarDef(self_tvar_name, tvar_fullname, -1, [], obj_type)
- self_tvar_expr = TypeVarExpr(self_tvar_name, tvar_fullname, [],
obj_type)
+ if MYPY_VERSION_TUPLE >= (1, 4):
+ tvd = TypeVarType(
+ self_tvar_name,
+ tvar_fullname,
+ -1,
+ [],
+ obj_type,
+ AnyType(TypeOfAny.from_omitted_generics), # type:
ignore[arg-type]
+ )
+ self_tvar_expr = TypeVarExpr(
+ self_tvar_name,
+ tvar_fullname,
+ [],
+ obj_type,
+ AnyType(TypeOfAny.from_omitted_generics), # type:
ignore[arg-type]
+ )
+ else:
+ tvd = TypeVarDef(self_tvar_name, tvar_fullname, -1, [], obj_type)
+ self_tvar_expr = TypeVarExpr(self_tvar_name, tvar_fullname, [],
obj_type)
ctx.cls.info.names[self_tvar_name] = SymbolTableNode(MDEF,
self_tvar_expr)
# Backward-compatible with TypeVarDef from Mypy 0.910.
if isinstance(tvd, TypeVarType):
self_type = tvd
else:
- self_type = TypeVarType(tvd) # type: ignore[call-arg]
+ self_type = TypeVarType(tvd)
add_method(
ctx,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/pydantic/types.py
new/pydantic-1.10.9/pydantic/types.py
--- old/pydantic-1.10.8/pydantic/types.py 2023-05-23 19:13:55.000000000
+0200
+++ new/pydantic-1.10.9/pydantic/types.py 2023-06-07 17:51:36.000000000
+0200
@@ -3,7 +3,7 @@
import re
import warnings
from datetime import date
-from decimal import Decimal
+from decimal import Decimal, InvalidOperation
from enum import Enum
from pathlib import Path
from types import new_class
@@ -691,7 +691,11 @@
@classmethod
def validate(cls, value: Decimal) -> Decimal:
- digit_tuple, exponent = value.as_tuple()[1:]
+ try:
+ normalized_value = value.normalize()
+ except InvalidOperation:
+ normalized_value = value
+ digit_tuple, exponent = normalized_value.as_tuple()[1:]
if exponent in {'F', 'n', 'N'}:
raise errors.DecimalIsNotFiniteError()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/pydantic/typing.py
new/pydantic-1.10.9/pydantic/typing.py
--- old/pydantic-1.10.8/pydantic/typing.py 2023-05-23 19:13:55.000000000
+0200
+++ new/pydantic-1.10.9/pydantic/typing.py 2023-06-07 17:51:36.000000000
+0200
@@ -252,15 +252,7 @@
WithArgsTypes = (typing._GenericAlias, types.GenericAlias, types.UnionType)
-if sys.version_info < (3, 9):
- StrPath = Union[str, PathLike]
-else:
- StrPath = Union[str, PathLike]
- # TODO: Once we switch to Cython 3 to handle generics properly
- # (https://github.com/cython/cython/issues/2753), use following lines
instead
- # of the one above
- # # os.PathLike only becomes subscriptable from Python 3.9 onwards
- # StrPath = Union[str, PathLike[str]]
+StrPath = Union[str, PathLike]
if TYPE_CHECKING:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/pydantic/version.py
new/pydantic-1.10.9/pydantic/version.py
--- old/pydantic-1.10.8/pydantic/version.py 2023-05-23 19:13:55.000000000
+0200
+++ new/pydantic-1.10.9/pydantic/version.py 2023-06-07 17:51:36.000000000
+0200
@@ -1,6 +1,6 @@
__all__ = 'compiled', 'VERSION', 'version_info'
-VERSION = '1.10.8'
+VERSION = '1.10.9'
try:
import cython # type: ignore
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/setup.py new/pydantic-1.10.9/setup.py
--- old/pydantic-1.10.8/setup.py 2023-05-23 19:13:55.000000000 +0200
+++ new/pydantic-1.10.9/setup.py 2023-06-07 17:51:36.000000000 +0200
@@ -118,6 +118,7 @@
'Environment :: Console',
'Environment :: MacOS X',
'Framework :: Hypothesis',
+ 'Framework :: Pydantic',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Internet',
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/tests/test_hypothesis_plugin.py
new/pydantic-1.10.9/tests/test_hypothesis_plugin.py
--- old/pydantic-1.10.8/tests/test_hypothesis_plugin.py 2023-05-23
19:13:55.000000000 +0200
+++ new/pydantic-1.10.9/tests/test_hypothesis_plugin.py 2023-06-07
17:51:36.000000000 +0200
@@ -86,6 +86,8 @@
class ConstrainedDateModel(pydantic.BaseModel):
condatet: pydantic.condate(gt=date(1980, 1, 1), lt=date(2180, 12, 31))
condatee: pydantic.condate(ge=date(1980, 1, 1), le=date(2180, 12, 31))
+ future: pydantic.FutureDate
+ past: pydantic.PastDate
yield from (
MiscModel,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pydantic-1.10.8/tests/test_types.py
new/pydantic-1.10.9/tests/test_types.py
--- old/pydantic-1.10.8/tests/test_types.py 2023-05-23 19:13:55.000000000
+0200
+++ new/pydantic-1.10.9/tests/test_types.py 2023-06-07 17:51:36.000000000
+0200
@@ -2075,6 +2075,19 @@
(dict(max_digits=4, decimal_places=1), Decimal('999'), Decimal('999')),
(dict(max_digits=20, decimal_places=2), Decimal('742403889818000000'),
Decimal('742403889818000000')),
(dict(max_digits=20, decimal_places=2), Decimal('7.42403889818E+17'),
Decimal('7.42403889818E+17')),
+ (dict(max_digits=6, decimal_places=2),
Decimal('000000000001111.700000'), Decimal('000000000001111.700000')),
+ (
+ dict(max_digits=6, decimal_places=2),
+ Decimal('0000000000011111.700000'),
+ [
+ {
+ 'loc': ('foo',),
+ 'type': 'value_error.decimal.whole_digits',
+ 'msg': 'ensure that there are no more than 4 digits before
the decimal point',
+ 'ctx': {'whole_digits': 4},
+ }
+ ],
+ ),
(
dict(max_digits=20, decimal_places=2),
Decimal('7424742403889818000000'),
@@ -2102,14 +2115,14 @@
),
(dict(max_digits=5, decimal_places=5), Decimal('70E-5'),
Decimal('70E-5')),
(
- dict(max_digits=5, decimal_places=5),
+ dict(max_digits=4, decimal_places=4),
Decimal('70E-6'),
[
{
'loc': ('foo',),
- 'msg': 'ensure that there are no more than 5 digits in
total',
+ 'msg': 'ensure that there are no more than 4 digits in
total',
'type': 'value_error.decimal.max_digits',
- 'ctx': {'max_digits': 5},
+ 'ctx': {'max_digits': 4},
}
],
),