Accepting request 507971 from devel:languages:python

1

OBS-URL: https://build.opensuse.org/request/show/507971
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-attrs?expand=0&rev=2
This commit is contained in:
Dominique Leuenberger 2017-07-11 06:25:02 +00:00 committed by Git OBS Bridge
commit cb2f083518
4 changed files with 107 additions and 19 deletions

View File

@ -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
View File

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

View File

@ -1,3 +1,86 @@
-------------------------------------------------------------------
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
- Convert to singlespec
-------------------------------------------------------------------
Tue Jul 5 17:20:56 UTC 2016 - hpj@urpla.net

View File

@ -1,7 +1,7 @@
#
# spec file for package python-attrs
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,22 +16,26 @@
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-attrs
Version: 16.0.0
%global modname attrs
Version: 17.2.0
Release: 0
Summary: Attributes without boilerplate
License: MIT
Group: Development/Languages/Python
Url: https://github.com/hynek/attrs/
Source: https://pypi.io/packages/source/a/attrs/attrs-%{version}.tar.gz
BuildRequires: python-devel
BuildRequires: python-pytest
Url: https://github.com/hynek/%{modname}/
Source: https://pypi.io/packages/source/a/%{modname}/%{modname}-%{version}.tar.gz
BuildRequires: %{python_module devel}
BuildRequires: %{python_module pytest}
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
%description
attrs is an MIT-licensed Python package with class decorators that ease the
@ -54,18 +58,19 @@ life!
python-attrs is the successor to python-characterstic
%prep
%setup -q -n attrs-%{version}
%setup -q -n %{modname}-%{version}
%build
python setup.py build
%python_build
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
%python_install
%fdupes %{buildroot}%{_prefix}
%files
%files %{python_files}
%defattr(-,root,root,-)
%doc CHANGELOG.rst LICENSE README.rst
%{python_sitelib}/attr/
%{python_sitelib}/attrs-%{version}-py*.egg-info
%{python_sitelib}/*
%{python_sitelib}/%{modname}-%{version}-py*.egg-info
%changelog