Accepting request 507963 from home:tbechtold:branches:devel:languages:python
- update to 17.2.0: - Validators are hashable again. - ``attrs`` will set the ``__hash__()`` method to ``None`` by default now. The way hashes were handled before was in conflict with `Python's specification This *may* break some software although this breakage is most likely just surfacing of latent bugs. You can always make ``attrs`` create the ``__hash__()`` method using ``@attr.s(hash=True)``. See `#136`_ for the rationale of this change. - Correspondingly, ``attr.ib``'s ``hash`` argument is ``None`` by default too and mirrors the ``cmp`` argument as it should. - ``attr.assoc()`` is now deprecated in favor of ``attr.evolve()`` and will stop working in 2018. - Fix default hashing behavior. Now *hash* mirrors the value of *cmp* and classes are unhashable by default. - Added ``attr.evolve()`` that, given an instance of an ``attrs`` class and field changes as keyword arguments, will instantiate a copy of the given instance with the changes applied. - ``FrozenInstanceError`` is now raised when trying to delete an attribute from a frozen class. - Frozen-ness of classes is now inherited. - ``__attrs_post_init__()`` is now run if validation is disabled. - Added ``attr.validators.in_(options)`` that, given the allowed `options`, checks whether the attribute value is in it. This can be used to check constants, enums, mappings, etc. - Added ``attr.validators.and_()`` that composes multiple validators into one. - For convenience, the ``validator`` argument of ``@attr.s`` now can take a ``list`` of validators that are wrapped using ``and_()``. - Accordingly, ``attr.validators.optional()`` now can take a ``list`` of validators too. OBS-URL: https://build.opensuse.org/request/show/507963 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-attrs?expand=0&rev=6
This commit is contained in:
parent
d308681a38
commit
8828b357c3
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:de6827a454d23716442b571bb35b0efb32a1b5c1037f09cfc7aaf405c7d68abc
|
||||
size 42535
|
3
attrs-17.2.0.tar.gz
Normal file
3
attrs-17.2.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5d4d1b99f94d69338f485984127e4473b3ab9e20f43821b0e546cc3b2302fd11
|
||||
size 73733
|
@ -1,3 +1,81 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 4 05:04:08 UTC 2017 - tbechtold@suse.com
|
||||
|
||||
- update to 17.2.0:
|
||||
- Validators are hashable again.
|
||||
- ``attrs`` will set the ``__hash__()`` method to ``None`` by default now.
|
||||
The way hashes were handled before was in conflict with `Python's
|
||||
specification
|
||||
This *may* break some software although this breakage is most likely just
|
||||
surfacing of latent bugs.
|
||||
You can always make ``attrs`` create the ``__hash__()`` method using
|
||||
``@attr.s(hash=True)``. See `#136`_ for the rationale of this change.
|
||||
- Correspondingly, ``attr.ib``'s ``hash`` argument is ``None`` by default too
|
||||
and mirrors the ``cmp`` argument as it should.
|
||||
- ``attr.assoc()`` is now deprecated in favor of ``attr.evolve()`` and will
|
||||
stop working in 2018.
|
||||
- Fix default hashing behavior.
|
||||
Now *hash* mirrors the value of *cmp* and classes are unhashable by default.
|
||||
- Added ``attr.evolve()`` that, given an instance of an ``attrs`` class and
|
||||
field changes as keyword arguments, will instantiate a copy of the given
|
||||
instance with the changes applied.
|
||||
- ``FrozenInstanceError`` is now raised when trying to delete an attribute
|
||||
from a frozen class.
|
||||
- Frozen-ness of classes is now inherited.
|
||||
- ``__attrs_post_init__()`` is now run if validation is disabled.
|
||||
- Added ``attr.validators.in_(options)`` that, given the allowed `options`,
|
||||
checks whether the attribute value is in it.
|
||||
This can be used to check constants, enums, mappings, etc.
|
||||
- Added ``attr.validators.and_()`` that composes multiple validators into one.
|
||||
- For convenience, the ``validator`` argument of ``@attr.s`` now can take a
|
||||
``list`` of validators that are wrapped using ``and_()``.
|
||||
- Accordingly, ``attr.validators.optional()`` now can take a ``list`` of
|
||||
validators too.
|
||||
- Validators can now be defined conveniently inline by using the attribute as
|
||||
a decorator.
|
||||
- ``attr.Factory()`` now has a ``takes_self`` argument that makes the
|
||||
initializer to pass the partially initialized instance into the factory.
|
||||
In other words you can define attribute defaults based on other attributes.
|
||||
- Default factories can now also be defined inline using decorators.
|
||||
They are *always* passed the partially initialized instance.
|
||||
- Conversion can now be made optional using ``attr.converters.optional()``.
|
||||
- ``attr.make_class()`` now accepts the keyword argument ``bases`` which
|
||||
allows for subclassing.
|
||||
- Metaclasses are now preserved with ``slots=True``.
|
||||
- Attributes now can have user-defined metadata which greatly improves
|
||||
``attrs``'s extensibility.
|
||||
- Allow for a ``__attrs_post_init__()`` method that -- if defined -- will get
|
||||
called at the end of the ``attrs``-generated ``__init__()`` method.
|
||||
- Added ``@attr.s(str=True)`` that will optionally create a ``__str__()``
|
||||
method that is identical to ``__repr__()``.
|
||||
- ``__name__`` is not overwritten with ``__qualname__`` for
|
||||
``attr.s(slots=True)`` classes anymore.
|
||||
- Added ``attr.astuple()`` that -- similarly to ``attr.asdict()`` --
|
||||
returns the instance as a tuple.
|
||||
- Converts now work with frozen classes.
|
||||
- Instantiation of ``attrs`` classes with converters is now significantly
|
||||
faster.
|
||||
- Pickling now works with ``__slots__`` classes.
|
||||
- ``attr.assoc()`` now works with ``__slots__`` classes.
|
||||
- The tuple returned by ``attr.fields()`` now also allows to access the
|
||||
``Attribute`` instances by name.
|
||||
- All instances where function arguments were called ``cl`` have been changed
|
||||
to the more Pythonic ``cls``.
|
||||
- Accessing ``Attribute`` instances on class objects is now deprecated and
|
||||
will stop working in 2017.
|
||||
- The serious business aliases ``attr.attributes`` and ``attr.attr`` have been
|
||||
deprecated in favor of ``attr.attrs`` and ``attr.attrib`` which are much
|
||||
more consistent and frankly obvious in hindsight.
|
||||
- ``attr.asdict()``\ 's ``dict_factory`` arguments is now propagated on
|
||||
recursion.
|
||||
- ``attr.asdict()``, ``attr.has()`` and ``attr.fields()`` are significantly
|
||||
faster.
|
||||
- Add ``attr.attrs`` and ``attr.attrib`` as a more consistent aliases for
|
||||
``attr.s`` and ``attr.ib``.
|
||||
- Add ``frozen`` option to ``attr.s`` that will make instances best-effort
|
||||
immutable.
|
||||
- ``attr.asdict()`` now takes ``retain_collection_types`` as an argument.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jul 1 14:53:33 UTC 2017 - okurz@suse.com
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
Name: python-attrs
|
||||
%global modname attrs
|
||||
Version: 16.0.0
|
||||
Version: 17.2.0
|
||||
Release: 0
|
||||
Summary: Attributes without boilerplate
|
||||
License: MIT
|
||||
@ -33,11 +33,7 @@ BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
|
||||
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
|
||||
%else
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
|
||||
%python_subpackages
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user