Dirk Mueller
77f18d80ce
* Fixed the test suite on PyPy3.8 where ``cloudpickle`` does not work. * Fixed ``coverage report`` for projects that use ``attrs`` and don't set a ``--source``. * When using ``@define``, converters are now run by default when setting an attribute on an instance -- additionally to validators. * ``import attrs`` has finally landed! * ``attr.asdict(retain_collection_types=False)`` (default) dumps collection-esque keys as tuples. * ``__match_args__`` are now generated to support Python 3.10's * If the class-level *on_setattr* is set to ``attrs.setters.validate`` (default in ``@define`` and ``@mutable``) but no field defines a validator, pretend that it's not set. * The generated ``__repr__`` is significantly faster on Pythons with f-strings. * Attributes transformed via ``field_transformer`` are wrapped with ``AttrsClass`` again. * Generated source code is now cached more efficiently for identical classes. * Added ``attrs.converters.to_bool()``. * ``attrs.resolve_types()`` now resolves types of subclasses after the parents are resolved. * Added new validators: ``lt(val)`` (< val), ``le(va)`` (≤ val), ``ge(val)`` (≥ val), ``gt(val)`` (> val), and ``maxlen(n)``. * ``attrs`` classes are now fully compatible with cloudpickle * Added new context manager ``attrs.validators.disabled()`` and functions ``attrs.validators.(set|get)_disabled()``. They deprecate ``attrs.(set|get)_run_validators()``. All functions are interoperable and modify the same internal state. They are not – and never were – thread-safe, though. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-attrs?expand=0&rev=35
96 lines
2.6 KiB
RPMSpec
96 lines
2.6 KiB
RPMSpec
#
|
|
# spec file
|
|
#
|
|
# Copyright (c) 2022 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/
|
|
#
|
|
|
|
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
%global flavor @BUILD_FLAVOR@%{nil}
|
|
%if "%{flavor}" == "test"
|
|
%define psuffix -test
|
|
%bcond_without test
|
|
%else
|
|
%define psuffix %{nil}
|
|
%bcond_with test
|
|
%endif
|
|
%global skip_python36 1
|
|
Name: python-attrs%{psuffix}
|
|
Version: 21.4.0
|
|
Release: 0
|
|
Summary: Attributes without boilerplate
|
|
License: MIT
|
|
Group: Development/Languages/Python
|
|
URL: https://github.com/hynek/attrs/
|
|
Source: https://files.pythonhosted.org/packages/source/a/attrs/attrs-%{version}.tar.gz
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
BuildArch: noarch
|
|
%if %{with test}
|
|
BuildRequires: %{python_module Pympler}
|
|
BuildRequires: %{python_module hypothesis}
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module six}
|
|
BuildRequires: %{python_module zope.interface}
|
|
%endif
|
|
%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 attrs-%{version}
|
|
|
|
%build
|
|
%python_build
|
|
|
|
%install
|
|
%if !%{with test}
|
|
%python_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
%endif
|
|
|
|
%if %{with test}
|
|
%check
|
|
%pytest
|
|
%endif
|
|
|
|
%if !%{with test}
|
|
%files %{python_files}
|
|
%license LICENSE
|
|
%doc CHANGELOG.rst README.rst
|
|
%{python_sitelib}/attr*
|
|
%{python_sitelib}/attrs-%{version}-py*.egg-info
|
|
%endif
|
|
|
|
%changelog
|