Dirk Mueller
8828b357c3
- 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
77 lines
2.3 KiB
RPMSpec
77 lines
2.3 KiB
RPMSpec
#
|
|
# spec file for package python-attrs
|
|
#
|
|
# 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
|
|
# 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 http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
|
|
Name: python-attrs
|
|
%global modname attrs
|
|
Version: 17.2.0
|
|
Release: 0
|
|
Summary: Attributes without boilerplate
|
|
License: MIT
|
|
Group: Development/Languages/Python
|
|
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
|
|
BuildArch: noarch
|
|
|
|
%python_subpackages
|
|
|
|
%description
|
|
attrs is an MIT-licensed Python package with class decorators that ease the
|
|
chores of implementing the most common attribute-related object protocols.
|
|
|
|
You just specify the attributes to work with and attrs gives you:
|
|
- a nice human-readable __repr__,
|
|
- a complete set of comparison methods,
|
|
- an initializer,
|
|
- and much more
|
|
|
|
without writing dull boilerplate code again and again.
|
|
|
|
This gives you the power to use actual classes with actual types in your code
|
|
instead of confusing tuples or confusingly behaving namedtuples.
|
|
|
|
So put down that type-less data structures and welcome some class into your
|
|
life!
|
|
|
|
python-attrs is the successor to python-characterstic
|
|
|
|
%prep
|
|
%setup -q -n %{modname}-%{version}
|
|
|
|
%build
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%fdupes %{buildroot}%{_prefix}
|
|
|
|
%files %{python_files}
|
|
%defattr(-,root,root,-)
|
|
%doc CHANGELOG.rst LICENSE README.rst
|
|
%{python_sitelib}/*
|
|
%{python_sitelib}/%{modname}-%{version}-py*.egg-info
|
|
|
|
%changelog
|