Hello community, here is the log from the commit of package python-pluggy for openSUSE:Factory checked in at 2019-02-26 22:16:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-pluggy (Old) and /work/SRC/openSUSE:Factory/.python-pluggy.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pluggy" Tue Feb 26 22:16:15 2019 rev:10 rq:679233 version:0.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-pluggy/python-pluggy.changes 2019-02-25 07:36:23.357890027 +0100 +++ /work/SRC/openSUSE:Factory/.python-pluggy.new.28833/python-pluggy.changes 2019-02-26 22:16:18.770192729 +0100 @@ -1,0 +2,18 @@ +Tue Feb 26 11:51:44 UTC 2019 - Tomáš Chvátal <[email protected]> + +- 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 08:23:41 UTC 2019 - Tomáš Chvátal <[email protected]> + +- Switch to multibuild in order to avoid build loop + +------------------------------------------------------------------- +Tue Feb 12 14:20:45 UTC 2019 - Tomáš Chvátal <[email protected]> + +- Update to 0.8.1: + * #166: Add stacklevel=2 to implprefix warning so that the reported location of warning is the caller of PluginManager. + +------------------------------------------------------------------- Old: ---- pluggy-0.8.0.tar.gz New: ---- _multibuild pluggy-0.9.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-pluggy.spec ++++++ --- /var/tmp/diff_new_pack.zEAQCw/_old 2019-02-26 22:16:19.366192527 +0100 +++ /var/tmp/diff_new_pack.zEAQCw/_new 2019-02-26 22:16:19.370192525 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-pluggy # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 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 @@ -17,24 +17,30 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} -%bcond_with tests - -Name: python-pluggy -Version: 0.8.0 +%global flavor @BUILD_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.9.0 Release: 0 Summary: Plugin registration and hook calling mechanisms for Python License: MIT Group: Development/Languages/Python -Url: https://github.com/pytest-dev/pluggy +URL: https://github.com/pytest-dev/pluggy Source: https://files.pythonhosted.org/packages/source/p/pluggy/pluggy-%{version}.tar.gz -%if %{with tests} -BuildRequires: %{python_module pytest} -%endif BuildRequires: %{python_module setuptools_scm} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros BuildArch: noarch +%if %{with test} +BuildRequires: %{python_module pytest} +%endif %python_subpackages %description @@ -51,17 +57,21 @@ %python_build %install +%if !%{with test} %python_install %python_expand %fdupes %{buildroot}%{$python_sitelib} +%endif -%if %{with tests} %check +%if %{with test} %python_exec -m pytest testing %endif +%if !%{with test} %files %{python_files} %license LICENSE %doc README.rst CHANGELOG.rst %{python_sitelib}/* +%endif %changelog ++++++ _multibuild ++++++ <multibuild> <package>test</package> </multibuild> ++++++ pluggy-0.8.0.tar.gz -> pluggy-0.9.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/.gitignore new/pluggy-0.9.0/.gitignore --- old/pluggy-0.8.0/.gitignore 2018-10-16 13:12:10.000000000 +0200 +++ new/pluggy-0.9.0/.gitignore 2019-02-24 18:09:46.000000000 +0100 @@ -59,3 +59,6 @@ # generated by setuptools_scm pluggy/_version.py + +# generated by pip +pip-wheel-metadata/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/.travis.yml new/pluggy-0.9.0/.travis.yml --- old/pluggy-0.8.0/.travis.yml 2018-10-16 13:12:10.000000000 +0200 +++ new/pluggy-0.9.0/.travis.yml 2019-02-24 18:09:46.000000000 +0100 @@ -1,6 +1,11 @@ sudo: false language: python +stages: +- test +- name: deploy + if: repo = pytest-dev/pluggy AND tag IS present + jobs: include: - python: '3.6' @@ -17,6 +22,8 @@ env: TOXENV=py36-pytestrelease - python: 'pypy' env: TOXENV=pypy-pytestrelease + - python: 'pypy3.5' + env: TOXENV=pypy3-pytestrelease - python: 'nightly' env: TOXENV=py37-pytestrelease - python: '2.7' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/CHANGELOG.rst new/pluggy-0.9.0/CHANGELOG.rst --- old/pluggy-0.8.0/CHANGELOG.rst 2018-10-16 13:12:10.000000000 +0200 +++ new/pluggy-0.9.0/CHANGELOG.rst 2019-02-24 18:09:46.000000000 +0100 @@ -1,3 +1,32 @@ +pluggy 0.9.0 (2019-02-21) +========================= + +Features +-------- + +- `#189 <https://github.com/pytest-dev/pluggy/issues/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. + + + +Bug Fixes +--------- + +- `#187 <https://github.com/pytest-dev/pluggy/issues/187>`_: Fix internal ``varnames`` function for PyPy3. + + +pluggy 0.8.1 (2018-11-09) +========================= + +Trivial/Internal Changes +------------------------ + +- `#166 <https://github.com/pytest-dev/pluggy/issues/166>`_: Add ``stacklevel=2`` to implprefix warning so that the reported location of warning is the caller of PluginManager. + + pluggy 0.8.0 (2018-10-15) ========================= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/PKG-INFO new/pluggy-0.9.0/PKG-INFO --- old/pluggy-0.8.0/PKG-INFO 2018-10-16 13:12:37.000000000 +0200 +++ new/pluggy-0.9.0/PKG-INFO 2019-02-24 18:10:04.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pluggy -Version: 0.8.0 +Version: 0.9.0 Summary: plugin and hook calling mechanisms for python Home-page: https://github.com/pytest-dev/pluggy Author: Holger Krekel @@ -10,7 +10,7 @@ pluggy - A minimalist production ready plugin system ==================================================== - |pypi| |anaconda| |versions| |travis| |appveyor| |gitter| |black| + |pypi| |conda-forge| |versions| |travis| |appveyor| |gitter| |black| This is the core framework used by the `pytest`_, `tox`_, and `devpi`_ projects. @@ -83,8 +83,8 @@ .. |appveyor| image:: https://img.shields.io/appveyor/ci/pytestbot/pluggy/master.svg :target: https://ci.appveyor.com/project/pytestbot/pluggy - .. |anaconda| image:: https://anaconda.org/conda-forge/pluggy/badges/version.svg - :target: https://anaconda.org/conda-forge/pluggy + .. |conda-forge| image:: https://img.shields.io/conda/vn/conda-forge/pluggy.svg + :target: https://anaconda.org/conda-forge/pytest .. |gitter| image:: https://badges.gitter.im/pytest-dev/pluggy.svg :alt: Join the chat at https://gitter.im/pytest-dev/pluggy @@ -104,6 +104,35 @@ https://pluggy.readthedocs.io/en/latest/ + pluggy 0.9.0 (2019-02-21) + ========================= + + Features + -------- + + - `#189 <https://github.com/pytest-dev/pluggy/issues/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. + + + + Bug Fixes + --------- + + - `#187 <https://github.com/pytest-dev/pluggy/issues/187>`_: Fix internal ``varnames`` function for PyPy3. + + + pluggy 0.8.1 (2018-11-09) + ========================= + + Trivial/Internal Changes + ------------------------ + + - `#166 <https://github.com/pytest-dev/pluggy/issues/166>`_: Add ``stacklevel=2`` to implprefix warning so that the reported location of warning is the caller of PluginManager. + + pluggy 0.8.0 (2018-10-15) ========================= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/README.rst new/pluggy-0.9.0/README.rst --- old/pluggy-0.8.0/README.rst 2018-10-16 13:12:10.000000000 +0200 +++ new/pluggy-0.9.0/README.rst 2019-02-24 18:09:46.000000000 +0100 @@ -2,7 +2,7 @@ pluggy - A minimalist production ready plugin system ==================================================== -|pypi| |anaconda| |versions| |travis| |appveyor| |gitter| |black| +|pypi| |conda-forge| |versions| |travis| |appveyor| |gitter| |black| This is the core framework used by the `pytest`_, `tox`_, and `devpi`_ projects. @@ -75,8 +75,8 @@ .. |appveyor| image:: https://img.shields.io/appveyor/ci/pytestbot/pluggy/master.svg :target: https://ci.appveyor.com/project/pytestbot/pluggy -.. |anaconda| image:: https://anaconda.org/conda-forge/pluggy/badges/version.svg - :target: https://anaconda.org/conda-forge/pluggy +.. |conda-forge| image:: https://img.shields.io/conda/vn/conda-forge/pluggy.svg + :target: https://anaconda.org/conda-forge/pytest .. |gitter| image:: https://badges.gitter.im/pytest-dev/pluggy.svg :alt: Join the chat at https://gitter.im/pytest-dev/pluggy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/docs/conf.py new/pluggy-0.9.0/docs/conf.py --- old/pluggy-0.8.0/docs/conf.py 2018-10-16 13:12:10.000000000 +0200 +++ new/pluggy-0.9.0/docs/conf.py 2019-02-24 18:09:46.000000000 +0100 @@ -33,19 +33,24 @@ language = None pygments_style = "sphinx" -html_logo = "_static/img/plug.png" +# html_logo = "_static/img/plug.png" html_theme = "alabaster" html_theme_options = { - # 'logo': 'img/plug.png', - # 'logo_name': 'true', - "description": "The `pytest` plugin system", + "logo": "img/plug.png", + "description": "The pytest plugin system", "github_user": "pytest-dev", "github_repo": "pluggy", "github_button": "true", "github_banner": "true", + "github_type": "star", + "travis_button": "true", + "badge_branch": "master", "page_width": "1080px", "fixed_sidebar": "false", } +html_sidebars = { + "**": ["about.html", "localtoc.html", "relations.html", "searchbox.html"] +} html_static_path = ["_static"] # One entry per manual page. List of tuples diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/pluggy/_version.py new/pluggy-0.9.0/pluggy/_version.py --- old/pluggy-0.8.0/pluggy/_version.py 2018-10-16 13:12:37.000000000 +0200 +++ new/pluggy-0.9.0/pluggy/_version.py 2019-02-24 18:10:04.000000000 +0100 @@ -1,4 +1,4 @@ # coding: utf-8 # file generated by setuptools_scm # don't change, don't track in version control -version = '0.8.0' +version = '0.9.0' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/pluggy/hooks.py new/pluggy-0.9.0/pluggy/hooks.py --- old/pluggy-0.8.0/pluggy/hooks.py 2018-10-16 13:12:10.000000000 +0200 +++ new/pluggy-0.9.0/pluggy/hooks.py 2019-02-24 18:09:46.000000000 +0100 @@ -2,6 +2,7 @@ Internal hook annotation, representation and calling machinery. """ import inspect +import sys import warnings from .callers import _legacymulticall, _multicall @@ -135,6 +136,9 @@ return inspect.getargspec(func) +_PYPY3 = hasattr(sys, "pypy_version_info") and sys.version_info.major == 3 + + def varnames(func): """Return tuple of positional and keywrord argument names for a function, method, class or callable. @@ -172,13 +176,14 @@ defaults = () # strip any implicit instance arg + # pypy3 uses "obj" instead of "self" for default dunder methods + implicit_names = ("self",) if not _PYPY3 else ("self", "obj") if args: if inspect.ismethod(func) or ( - "." in getattr(func, "__qualname__", ()) and args[0] == "self" + "." in getattr(func, "__qualname__", ()) and args[0] in implicit_names ): args = args[1:] - assert "self" not in args # best naming practises check? try: cache["_varnames"] = args, defaults except TypeError: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/pluggy/manager.py new/pluggy-0.9.0/pluggy/manager.py --- old/pluggy-0.8.0/pluggy/manager.py 2018-10-16 13:12:10.000000000 +0200 +++ new/pluggy-0.9.0/pluggy/manager.py 2019-02-24 18:09:46.000000000 +0100 @@ -53,6 +53,7 @@ "Support for the `implprefix` arg is now deprecated and will " "be removed in an upcoming release. Please use HookimplMarker.", DeprecationWarning, + stacklevel=2, ) self._implprefix = implprefix self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( @@ -250,16 +251,22 @@ % (name, hookimpl.plugin), ) - def load_setuptools_entrypoints(self, entrypoint_name): - """ Load modules from querying the specified setuptools entrypoint name. - Return the number of loaded plugins. """ + def load_setuptools_entrypoints(self, group, name=None): + """ Load modules from querying the specified setuptools ``group``. + + :param str group: entry point group to load plugins + :param str name: if given, loads only plugins with the given ``name``. + :rtype: int + :return: return the number of loaded plugins by this call. + """ from pkg_resources import ( iter_entry_points, DistributionNotFound, VersionConflict, ) - for ep in iter_entry_points(entrypoint_name): + count = 0 + for ep in iter_entry_points(group, name=name): # is the plugin registered or blocked? if self.get_plugin(ep.name) or self.is_blocked(ep.name): continue @@ -274,7 +281,8 @@ ) self.register(plugin, name=ep.name) self._plugin_distinfo.append((plugin, ep.dist)) - return len(self._plugin_distinfo) + count += 1 + return count def list_plugin_distinfo(self): """ return list of distinfo/plugin tuples for all setuptools registered diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/pluggy.egg-info/PKG-INFO new/pluggy-0.9.0/pluggy.egg-info/PKG-INFO --- old/pluggy-0.8.0/pluggy.egg-info/PKG-INFO 2018-10-16 13:12:37.000000000 +0200 +++ new/pluggy-0.9.0/pluggy.egg-info/PKG-INFO 2019-02-24 18:10:04.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pluggy -Version: 0.8.0 +Version: 0.9.0 Summary: plugin and hook calling mechanisms for python Home-page: https://github.com/pytest-dev/pluggy Author: Holger Krekel @@ -10,7 +10,7 @@ pluggy - A minimalist production ready plugin system ==================================================== - |pypi| |anaconda| |versions| |travis| |appveyor| |gitter| |black| + |pypi| |conda-forge| |versions| |travis| |appveyor| |gitter| |black| This is the core framework used by the `pytest`_, `tox`_, and `devpi`_ projects. @@ -83,8 +83,8 @@ .. |appveyor| image:: https://img.shields.io/appveyor/ci/pytestbot/pluggy/master.svg :target: https://ci.appveyor.com/project/pytestbot/pluggy - .. |anaconda| image:: https://anaconda.org/conda-forge/pluggy/badges/version.svg - :target: https://anaconda.org/conda-forge/pluggy + .. |conda-forge| image:: https://img.shields.io/conda/vn/conda-forge/pluggy.svg + :target: https://anaconda.org/conda-forge/pytest .. |gitter| image:: https://badges.gitter.im/pytest-dev/pluggy.svg :alt: Join the chat at https://gitter.im/pytest-dev/pluggy @@ -104,6 +104,35 @@ https://pluggy.readthedocs.io/en/latest/ + pluggy 0.9.0 (2019-02-21) + ========================= + + Features + -------- + + - `#189 <https://github.com/pytest-dev/pluggy/issues/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. + + + + Bug Fixes + --------- + + - `#187 <https://github.com/pytest-dev/pluggy/issues/187>`_: Fix internal ``varnames`` function for PyPy3. + + + pluggy 0.8.1 (2018-11-09) + ========================= + + Trivial/Internal Changes + ------------------------ + + - `#166 <https://github.com/pytest-dev/pluggy/issues/166>`_: Add ``stacklevel=2`` to implprefix warning so that the reported location of warning is the caller of PluginManager. + + pluggy 0.8.0 (2018-10-15) ========================= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/testing/test_pluginmanager.py new/pluggy-0.9.0/testing/test_pluginmanager.py --- old/pluggy-0.8.0/testing/test_pluginmanager.py 2018-10-16 13:12:10.000000000 +0200 +++ new/pluggy-0.9.0/testing/test_pluginmanager.py 2019-02-24 18:09:46.000000000 +0100 @@ -449,8 +449,8 @@ def test_load_setuptools_instantiation(monkeypatch, pm): pkg_resources = pytest.importorskip("pkg_resources") - def my_iter(name): - assert name == "hello" + def my_iter(group, name=None): + assert group == "hello" class EntryPoint(object): name = "myname" @@ -470,14 +470,16 @@ plugin = pm.get_plugin("myname") assert plugin.x == 42 assert pm.list_plugin_distinfo() == [(plugin, None)] + num = pm.load_setuptools_entrypoints("hello") + assert num == 0 # no plugin loaded by this call def test_load_setuptools_version_conflict(monkeypatch, pm): """Check that we properly handle a VersionConflict problem when loading entry points""" pkg_resources = pytest.importorskip("pkg_resources") - def my_iter(name): - assert name == "hello" + def my_iter(group, name=None): + assert group == "hello" class EntryPoint(object): name = "myname" @@ -579,6 +581,12 @@ undo() +def test_implprefix_warning(recwarn): + PluginManager(hookspec.project_name, "hello_") + w = recwarn.pop(DeprecationWarning) + assert "test_pluginmanager.py" in w.filename + + @pytest.mark.parametrize("include_hookspec", [True, False]) def test_prefix_hookimpl(include_hookspec): with pytest.deprecated_call(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluggy-0.8.0/tox.ini new/pluggy-0.9.0/tox.ini --- old/pluggy-0.8.0/tox.ini 2018-10-16 13:12:10.000000000 +0200 +++ new/pluggy-0.9.0/tox.ini 2019-02-24 18:09:46.000000000 +0100 @@ -1,5 +1,5 @@ [tox] -envlist=linting,docs,py{27,34,35,36,py}-pytestrelease,py{27,36}-pytest{master,features} +envlist=linting,docs,py{27,34,35,36,py,py3}-pytestrelease,py{27,36}-pytest{master,features} [testenv] commands=pytest {posargs:testing/}
