forked from pool/python-wrapt
* Note that version 1.16.0 drops support for Python 2.7 and
3.5. Python version 3.6 or later is required.
* The ``patch_function_wrapper()`` decorator now accepts an
``enabled`` argument, which can be a literal boolean value,
object that evaluates as boolean, or a callable object which
returns a boolean. In the case of a callable, determination
of whether the wrapper is invoked will be left until
the point of the call. In the other cases, the wrapper will
not be applied if the value evaluates false at the point of
applying the wrapper.
* The import hook loader and finder objects are now implemented
as transparent object proxies so they properly proxy pass
access to attributes/functions of the wrapped loader or finder.
* Code files in the implementation have been reorganized such
that the pure Python version of the ``ObjectProxy`` class
is directly available even if the C extension variant is
being used. This is to allow the pure Python variant to
be used in exceptional cases where the C extension variant is
not fully compatible with the pure Python implementation and the
behaviour of the pure Python variant is what is required.
* It was not possible to update the ``__class__`` attribute
through the transparent object proxy when relying on the C
implementation.
generating binary wheels for ``musllinux``.
* When using an adapter function to change the signature of the decorated
* Code for inspect.getargspec() when using Python 2.6 was missing
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-wrapt?expand=0&rev=35
81 lines
2.6 KiB
RPMSpec
81 lines
2.6 KiB
RPMSpec
#
|
|
# spec file for package python-wrapt
|
|
#
|
|
# Copyright (c) 2023 SUSE LLC
|
|
# Copyright (c) 2015 LISA GmbH, Bingen, 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 https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?sle15_python_module_pythons}
|
|
Name: python-wrapt
|
|
Version: 1.16.0
|
|
Release: 0
|
|
Summary: A Python module for decorators, wrappers and monkey patching
|
|
License: BSD-2-Clause
|
|
Group: Development/Languages/Python
|
|
URL: https://github.com/GrahamDumpleton/wrapt
|
|
Source: https://github.com/GrahamDumpleton/wrapt/archive/%{version}.tar.gz
|
|
BuildRequires: %{python_module devel}
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
%python_subpackages
|
|
|
|
%description
|
|
The aim of the **wrapt** module is to provide a transparent object proxy
|
|
for Python, which can be used as the basis for the construction of function
|
|
wrappers and decorator functions.
|
|
|
|
The **wrapt** module focuses very much on correctness. It therefore goes
|
|
way beyond existing mechanisms such as ``functools.wraps()`` to ensure that
|
|
decorators preserve introspectability, signatures, type checking abilities
|
|
etc. The decorators that can be constructed using this module will work in
|
|
far more scenarios than typical decorators and provide more predictable and
|
|
consistent behaviour.
|
|
|
|
To ensure that the overhead is as minimal as possible, a C extension module
|
|
is used for performance critical components. An automatic fallback to a
|
|
pure Python implementation is also provided where a target system does not
|
|
have a compiler to allow the C extension to be compiled.
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
For further information on the **wrapt** module see:
|
|
|
|
* http://wrapt.readthedocs.org/
|
|
|
|
%prep
|
|
%autosetup -p1 -n wrapt-%{version}
|
|
|
|
%build
|
|
export CFLAGS="%{optflags}"
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
|
|
|
%check
|
|
%pytest_arch
|
|
|
|
%files %{python_files}
|
|
%license LICENSE
|
|
%doc README.rst docs/changes.rst
|
|
%{python_sitearch}/wrapt
|
|
%{python_sitearch}/wrapt-%{version}*-info
|
|
|
|
%changelog
|