python-attrs/python-attrs.spec
Daniel Garcia 2d1eceef6a - Update to 23.1.0:
# Backwards-incompatible Changes
  * Python 3.6 has been dropped and packaging switched to static
    package data using Hatch. #993
  # Deprecations
  * The support for zope-interface via the attrs.validators.provides
    validator is now deprecated and will be removed in, or after,
    April 2024.
  * The presence of a C-based package in our developement dependencies
    has caused headaches and we're not under the impression it's used
    a lot.
  * Let us know if you're using it and we might publish it as a
    separate package. #1120
  # Changes
  * attrs.filters.exclude() and attrs.filters.include() now support
    the passing of attribute names as strings. #1068
  * attrs.has() and attrs.fields() now handle generic classes
    correctly. #1079
  * Fix frozen exception classes when raised within e.g.
    contextlib.contextmanager, which mutates their __traceback__
    attributes. #1081
  * @frozen now works with type checkers that implement PEP-681 (ex.
    pyright). #1084
  * Restored ability to unpickle instances pickled before 22.2.0.
    #1085
  * attrs.asdict()'s and attrs.astuple()'s type stubs now accept the
    attrs.AttrsInstance protocol. #1090
  * Fix slots class cellvar updating closure in CPython 3.8+ even when
    __code__ introspection is unavailable. #1092
  * attrs.resolve_types() can now pass include_extras to

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-attrs?expand=0&rev=44
2023-05-08 09:40:54 +00:00

103 lines
2.9 KiB
RPMSpec

#
# spec file
#
# Copyright (c) 2023 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/
#
%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
%{?sle15_python_module_pythons}
Name: python-attrs%{psuffix}
Version: 23.1.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 hatch-fancy-pypi-readme}
BuildRequires: %{python_module hatch-vcs}
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module importlib_metadata if %python-base < 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
%if 0%{python_version_nodots} < 38
Requires: python-importlib_metadata
%endif
%if %{with test}
BuildRequires: %{python_module Pympler}
BuildRequires: %{python_module hypothesis}
BuildRequires: %{python_module pytest}
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
%autosetup -p1 -n attrs-%{version}
%build
%pyproject_wheel
%install
%if !%{with test}
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%if %{with test}
%check
%pytest
%endif
%if !%{with test}
%files %{python_files}
%license LICENSE
%doc CHANGELOG.md README.md
%{python_sitelib}/attr*
%{python_sitelib}/attrs-%{version}*-info
%endif
%changelog