# # spec file for package python-pluggy # # Copyright (c) 2020 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-%{**}} %define skip_python2 1 %global flavor %{nil} %if "%{flavor}" == "test" %define psuffix -test %bcond_without test %else %define psuffix %{nil} %bcond_with test %endif Name: python-pluggy%{psuffix} Version: 0.13.1 Release: 1.7 Summary: Plugin registration and hook calling mechanisms for Python License: MIT URL: https://github.com/pytest-dev/pluggy Source: https://files.pythonhosted.org/packages/source/p/pluggy/pluggy-%{version}.tar.gz BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-importlib-metadata >= 0.12 BuildArch: noarch %if %{with test} BuildRequires: %{python_module pytest} %endif %python_subpackages %description This is the plugin manager as used by pytest but stripped of pytest specific details. During the 0.x series this plugin does not have much documentation except extensive docstrings in the pluggy.py module. %prep %setup -q -n pluggy-%{version} %build %python_build %install %if !%{with test} %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} %endif %check %if %{with test} %pytest testing %endif %if !%{with test} %files %{python_files} %license LICENSE %doc README.rst CHANGELOG.rst %{python_sitelib}/* %endif %changelog * Mon Jan 6 2020 Tomáš Chvátal - Update to 0.13.1: * Improved documentation, especially with regard to references. * Fri Dec 13 2019 Stefan Brüns - importlib-metadata is only a runtime requirement (in accordance with setup.py), remove it from BuildRequires. * Fri Sep 13 2019 Tomáš Chvátal - Update to 0.13.0: * support python 3.8 * Mon Jun 3 2019 Tomáš Chvátal - Update to 0.12.0: * #215: Switch from pkg_resources to importlib-metadata for entrypoint detection for improved performance and import time. This time with .egg support. * Mon May 20 2019 Tomáš Chvátal - Update to 0.11.0: * Small bugfixes only * Tue Feb 26 2019 Tomáš Chvátal - Update to 0.9.0: * #189: PluginManager.load_setuptools_entrypoints now accepts a name parameter that when given will load only entry points with that name. * PluginManager.load_setuptools_entrypoints also now returns the number of plugins loaded by the call, as opposed to the number of all plugins loaded by all calls to this method. * Mon Feb 25 2019 Tomáš Chvátal - Switch to multibuild in order to avoid build loop * Tue Feb 12 2019 Tomáš Chvátal - Update to 0.8.1: * #166: Add stacklevel=2 to implprefix warning so that the reported location of warning is the caller of PluginManager. * Fri Oct 26 2018 Ondřej Súkup - update to 0.8.0 * Add get_hookimpls() method to hook callers * Add changelog in long package description and documentation. * Add a test exemplifying the opt-in nature of spec defined args. * Encapsulate hook specifications in a type for easier introspection. * Thu Aug 2 2018 mimi.vx@gmail.com - update to 0.7.1 * Deprecate the implprefix kwarg to PluginManager and instead expect users to start using explicit HookimplMarker everywhere * Add .plugin member to PluginValidationError to access failing plugin during post-mortem. * Add per implementation warnings support for hookspecs allowing for both deprecation and future warnings of legacy and (future) experimental hooks respectively. * Fix a bug where _HookCaller.call_historic() would call the proc arg even when the default is None resulting in a TypeError. * Fix problem when handling VersionConflict errors when loading setuptools plugins. * Thu Dec 21 2017 jmatejek@suse.com - run tests conditionally (fixes bsc#1073845) * Sun Nov 26 2017 arun@gmx.de - update to version 0.6.0 * Add CI testing for the features, release, and master branches of pytest (PR #79). * Document public API for _Result objects passed to wrappers (PR [#85]). * Document and test hook LIFO ordering (PR #85). * Turn warnings into errors in test suite (PR #89). * Deprecate _Result.result (PR #88). * Convert _Multicall to a simple function distinguishing it from the legacy version (PR #90). * Resolve E741 errors (PR #96). * Test and bug fix for unmarked hook collection (PRs #97 and #102). * Drop support for EOL Python 2.6 and 3.3 (PR #103). * Fix inspect based arg introspection on py3.6 (PR #94). * Thu Nov 9 2017 arun@gmx.de - specfile: * changed from zip to tar.gz * removed CHANGELOG fomr %%doc (not in tar-ball anymore) - update to version 0.5.2: * fix bug where firstresult wrappers were being sent an incorrectly configured _Result (a list was set instead of a single value). Add tests to check for this as well as _Result.force_result() behaviour. Thanks to @tgoodlet for the PR #72. * fix incorrect getattr of DeprecationWarning from the warnings module. Thanks to @nicoddemus for the PR #77. hide pytest tracebacks in certain core routines. Thanks to @nicoddemus for the PR #80. - changes from version 0.5.1: * fix a bug and add tests for case where firstresult hooks return None results. Thanks to @RonnyPfannschmidt and @tgoodlet for the issue (#68) and PR (#69) respectively. - changes from version 0.5.0: * fix bug where callbacks for historic hooks would not be called for already registered plugins. Thanks @vodik for the PR and @hpk42 for further fixes. * fix #17 by considering only actual functions for hooks this removes the ability to register arbitrary callable objects which at first glance is a reasonable simplification, thanks @RonnyPfannschmidt for report and pr. * fix #19: allow registering hookspecs from instances. The PR from @tgoodlet also modernized the varnames implementation. * resolve #32: split up the test set into multiple modules. Thanks to @RonnyPfannschmidt for the PR and @tgoodlet for the initial request. * resolve #14: add full sphinx docs. Thanks to @tgoodlet for PR #39. * add hook call mismatch warnings. Thanks to @tgoodlet for the PR [#42]. * resolve #44: move to new-style classes. Thanks to @MichalTHEDUDE for PR #46. * add baseline benchmarking/speed tests using pytest-benchmark in PR [#54]. Thanks to @tgoodlet. * update the README to showcase the API. Thanks to @tgoodlet for the issue and PR #55. * deprecate __multicall__ and add a faster call loop implementation. Thanks to @tgoodlet for PR #58. * raise a comprehensible error when a hookimpl is called with positional args. Thanks to @RonnyPfannschmidt for the issue and @tgoodlet for PR #60. * fix the firstresult test making it more complete and remove a duplicate of that test. Thanks to @tgoodlet for PR #62. * Fri Apr 7 2017 jmatejek@suse.com - update for singlespec - add project URL - enable test - update to 0.4.0 * add has_plugin(name) method to pluginmanager. thanks Bruno Oliveira. * fix issue11: make plugin parsing more resilient against exceptions from __getattr__ functions. Thanks Bruno Oliveira. * fix issue #4: specific HookCallError exception for when a hook call provides not enough arguments. * better error message when loading setuptools entrypoints fails due to a VersionConflict. Thanks Daniel Hahler. * Wed Sep 16 2015 tbechtold@suse.com - Initial packagin (version 0.3.0)