Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-nbsmoke for openSUSE:Factory checked in at 2021-11-15 15:26:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-nbsmoke (Old) and /work/SRC/openSUSE:Factory/.python-nbsmoke.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nbsmoke" Mon Nov 15 15:26:42 2021 rev:6 rq:931403 version:0.5.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-nbsmoke/python-nbsmoke.changes 2020-12-17 17:08:36.537929403 +0100 +++ /work/SRC/openSUSE:Factory/.python-nbsmoke.new.1890/python-nbsmoke.changes 2021-11-15 15:28:27.233858004 +0100 @@ -1,0 +2,9 @@ +Sun Nov 14 14:21:07 UTC 2021 - Ben Greiner <c...@bnavigator.de> + +- Update to 0.5.0 + * Compatibility with newer versions of pytest. + * Compatibility with newer versions of nbconvert. + * Allow user-specified magic handlers. +- Enable test suite + +------------------------------------------------------------------- Old: ---- nbsmoke-0.4.1.tar.gz New: ---- nbsmoke-0.5.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-nbsmoke.spec ++++++ --- /var/tmp/diff_new_pack.wWCCz9/_old 2021-11-15 15:28:27.637858118 +0100 +++ /var/tmp/diff_new_pack.wWCCz9/_new 2021-11-15 15:28:27.641858118 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-nbsmoke # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,28 +16,29 @@ # -%{?!python_module:%define python_module() python-%{**} python3-%{**}} +%{?!python_module:%define python_module() python3-%{**}} %define skip_python2 1 Name: python-nbsmoke -Version: 0.4.1 +Version: 0.5.0 Release: 0 Summary: Basic notebook checks License: BSD-3-Clause Group: Development/Languages/Python -URL: https://github.com/pyviz/nbsmoke +URL: https://github.com/pyviz-dev/nbsmoke Source: https://files.pythonhosted.org/packages/source/n/nbsmoke/nbsmoke-%{version}.tar.gz Source99: python-nbsmoke-rpmlintrc BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-beautifulsoup4 Requires: python-ipykernel Requires: python-jupyter-client Requires: python-nbconvert Requires: python-nbformat +Requires: python-param Requires: python-pyflakes Requires: python-pytest >= 3.1.1 -Requires: python-requests +Recommends: python-beautifulsoup4 +Recommends: python-requests Provides: python-jupyter_nbsmoke = %{version} Obsoletes: python-jupyter_nbsmoke < %{version} BuildArch: noarch @@ -47,6 +48,7 @@ BuildRequires: %{python_module jupyter-client} BuildRequires: %{python_module nbconvert} BuildRequires: %{python_module nbformat} +BuildRequires: %{python_module param} BuildRequires: %{python_module pyflakes} BuildRequires: %{python_module pytest >= 3.1.1} BuildRequires: %{python_module requests} @@ -78,12 +80,16 @@ %python_expand %fdupes %{buildroot}%{$python_sitelib} %check -%python_expand $python -c "import nbsmoke" +# unix socket problem in OBS +donttest="test_run_good_html" +# linter problem +python39_donttest="or test_lint_bad" +%pytest -k "not ($donttest ${$python_donttest})" %files %{python_files} %doc README.rst %license LICENSE -%{python_sitelib}/nbsmoke-%{version}-py*.egg-info +%{python_sitelib}/nbsmoke-%{version}*-info %{python_sitelib}/nbsmoke/ %changelog ++++++ nbsmoke-0.4.1.tar.gz -> nbsmoke-0.5.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/PKG-INFO new/nbsmoke-0.5.0/PKG-INFO --- old/nbsmoke-0.4.1/PKG-INFO 2019-12-22 08:30:26.000000000 +0100 +++ new/nbsmoke-0.5.0/PKG-INFO 2020-09-11 00:16:12.000000000 +0200 @@ -1,18 +1,34 @@ Metadata-Version: 2.1 Name: nbsmoke -Version: 0.4.1 +Version: 0.5.0 Summary: Basic notebook checks. Do they run? Do they contain lint? -Home-page: https://github.com/pyviz/nbsmoke +Home-page: https://github.com/pyviz-dev/nbsmoke Author: pyviz contributors Author-email: d...@pyviz.org License: BSD-3 -Description: .. image:: https://travis-ci.org/pyviz-dev/nbsmoke.svg?branch=master +Description: .. image:: https://img.shields.io/pypi/v/nbsmoke + :target: https://pypi.org/project/nbsmoke/ + :alt: PyPI + + .. image:: https://pepy.tech/badge/nbsmoke + :target: https://pepy.tech/project/nbsmoke + :alt: PyPI Downloads + + .. image:: https://img.shields.io/conda/vn/conda-forge/nbsmoke + :target: https://anaconda.org/conda-forge/nbsmoke/ + :alt: conda-forge + + .. image:: https://img.shields.io/conda/dn/conda-forge/nbsmoke.svg?label=conda-forge + :target: https://anaconda.org/conda-forge/nbsmoke/ + :alt: conda-forge downloads + + .. image:: https://travis-ci.org/pyviz-dev/nbsmoke.svg?branch=master :target: https://travis-ci.org/pyviz-dev/nbsmoke - :alt: See Build Status on Travis CI + :alt: Build Status on Travis CI (Linux) - .. image:: https://ci.appveyor.com/api/projects/status/p93ot2kmae55pw3o/branch/master?svg=true - :target: https://ci.appveyor.com/project/pyviz/nbsmoke/branch/master - :alt: See Build Status on AppVeyor + .. image:: https://ci.appveyor.com/api/projects/status/jsnhyaf1jqtcsc9a/branch/master?svg=true + :target: https://ci.appveyor.com/project/ceball/nbsmoke/branch/master + :alt: Build Status on AppVeyor (Windows) .. image:: https://coveralls.io/repos/github/pyviz-dev/nbsmoke/badge.svg?branch=master :target: https://coveralls.io/github/pyviz-dev/nbsmoke?branch=master @@ -37,9 +53,13 @@ $ pip install nbsmoke - Or you can install nbsmoke via `conda`_ from `anaconda.org`_:: + Or get the latest pre-release:: - $ conda install -c pyviz/label/dev -c conda-forge nbsmoke + $ pip install --pre nbsmoke + + nbsmoke is also available via `conda`_ from `anaconda.org`_:: + + $ conda install -c conda-forge nbsmoke Usage @@ -95,6 +115,9 @@ nbsmoke_flakes_cell_magics_blacklist = bash ruby + # add your own magic handlers (python file containing line_magic_handlers and cell_magic_handlers as dictionaries magic_name: callable) + nbsmoke_magic_handlers = path/to/file.py + nbsmoke supports ``# noqa`` comments to mark that something should be ignored during lint checking. @@ -140,8 +163,9 @@ First, install using ``pip install -e .``. Then run the tests using ``tox`` or ``pytest -v tests/``. - New release to PyPI and anaconda.org: ``git tag -a vX.Y.Z -m - "Something about release" && git push --tags``. + New release to PyPI: ``git tag -a vX.Y.Z -m "Something about release" + && git push --tags``. Then a PR will auto-open on conda-forge, which + should be merged. Get some help to debug apparently incorrect flakes by adding ``--nbsmoke-lint-debug``, @@ -174,16 +198,15 @@ .. _`anaconda.org`: https://anaconda.org/ Platform: UNKNOWN -Classifier: Development Status :: 3 - Alpha +Classifier: Development Status :: 5 - Production/Stable Classifier: Framework :: Pytest Classifier: Intended Audience :: Developers Classifier: Topic :: Software Development :: Testing Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Operating System :: OS Independent Classifier: License :: OSI Approved :: BSD License -Requires-Python: >=2.7 +Requires-Python: >=3.4 Provides-Extra: holoviews-magics Provides-Extra: verify Provides-Extra: all diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/README.rst new/nbsmoke-0.5.0/README.rst --- old/nbsmoke-0.4.1/README.rst 2019-12-22 08:30:12.000000000 +0100 +++ new/nbsmoke-0.5.0/README.rst 2020-09-11 00:15:58.000000000 +0200 @@ -1,10 +1,26 @@ +.. image:: https://img.shields.io/pypi/v/nbsmoke + :target: https://pypi.org/project/nbsmoke/ + :alt: PyPI + +.. image:: https://pepy.tech/badge/nbsmoke + :target: https://pepy.tech/project/nbsmoke + :alt: PyPI Downloads + +.. image:: https://img.shields.io/conda/vn/conda-forge/nbsmoke + :target: https://anaconda.org/conda-forge/nbsmoke/ + :alt: conda-forge + +.. image:: https://img.shields.io/conda/dn/conda-forge/nbsmoke.svg?label=conda-forge + :target: https://anaconda.org/conda-forge/nbsmoke/ + :alt: conda-forge downloads + .. image:: https://travis-ci.org/pyviz-dev/nbsmoke.svg?branch=master :target: https://travis-ci.org/pyviz-dev/nbsmoke - :alt: See Build Status on Travis CI + :alt: Build Status on Travis CI (Linux) -.. image:: https://ci.appveyor.com/api/projects/status/p93ot2kmae55pw3o/branch/master?svg=true - :target: https://ci.appveyor.com/project/pyviz/nbsmoke/branch/master - :alt: See Build Status on AppVeyor +.. image:: https://ci.appveyor.com/api/projects/status/jsnhyaf1jqtcsc9a/branch/master?svg=true + :target: https://ci.appveyor.com/project/ceball/nbsmoke/branch/master + :alt: Build Status on AppVeyor (Windows) .. image:: https://coveralls.io/repos/github/pyviz-dev/nbsmoke/badge.svg?branch=master :target: https://coveralls.io/github/pyviz-dev/nbsmoke?branch=master @@ -29,9 +45,13 @@ $ pip install nbsmoke -Or you can install nbsmoke via `conda`_ from `anaconda.org`_:: +Or get the latest pre-release:: - $ conda install -c pyviz/label/dev -c conda-forge nbsmoke + $ pip install --pre nbsmoke + +nbsmoke is also available via `conda`_ from `anaconda.org`_:: + + $ conda install -c conda-forge nbsmoke Usage @@ -87,6 +107,9 @@ nbsmoke_flakes_cell_magics_blacklist = bash ruby + # add your own magic handlers (python file containing line_magic_handlers and cell_magic_handlers as dictionaries magic_name: callable) + nbsmoke_magic_handlers = path/to/file.py + nbsmoke supports ``# noqa`` comments to mark that something should be ignored during lint checking. @@ -132,8 +155,9 @@ First, install using ``pip install -e .``. Then run the tests using ``tox`` or ``pytest -v tests/``. -New release to PyPI and anaconda.org: ``git tag -a vX.Y.Z -m -"Something about release" && git push --tags``. +New release to PyPI: ``git tag -a vX.Y.Z -m "Something about release" +&& git push --tags``. Then a PR will auto-open on conda-forge, which +should be merged. Get some help to debug apparently incorrect flakes by adding ``--nbsmoke-lint-debug``, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/nbsmoke/.version new/nbsmoke-0.5.0/nbsmoke/.version --- old/nbsmoke-0.4.1/nbsmoke/.version 2019-12-22 08:30:26.000000000 +0100 +++ new/nbsmoke-0.5.0/nbsmoke/.version 2020-09-11 00:16:12.000000000 +0200 @@ -1 +1 @@ -{"git_describe": "v0.4.1-0-gb667cea", "version_string": "0.4.1"} \ No newline at end of file +{"git_describe": "v0.5.0-0-ga9c58a4", "version_string": "0.5.0"} \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/nbsmoke/__init__.py new/nbsmoke-0.5.0/nbsmoke/__init__.py --- old/nbsmoke-0.4.1/nbsmoke/__init__.py 2019-12-22 08:30:12.000000000 +0100 +++ new/nbsmoke-0.5.0/nbsmoke/__init__.py 2020-09-11 00:15:58.000000000 +0200 @@ -81,6 +81,8 @@ parser.addini('nbsmoke_flakes_cell_magics_blacklist', "cell magics you don't want to see - i.e. treat as lint.") parser.addini('nbsmoke_flakes_line_magics_blacklist', "line magics you don't want to see - i.e. treat as lint") + parser.addini('nbsmoke_magic_handlers', "path to .py file containing custom magic handlers") + @contextlib.contextmanager def cwd(d): @@ -140,7 +142,10 @@ super(IPyNbFile,self).__init__(fspath, parent=parent, config=None, session=None) def collect(self): - yield self._dowhat(str(self.fspath), self) + if hasattr(self._dowhat, "from_parent"): + yield self._dowhat.from_parent(self,name=str(self.fspath)) + else: # older pytest (https://docs.pytest.org/en/stable/deprecations.html#node-construction-changed-to-node-from-parent) + yield self._dowhat(str(self.fspath), self) def pytest_collect_file(path, parent): @@ -162,4 +167,7 @@ dowhat = LintNb elif opt.nbsmoke_verify: dowhat = VerifyNb - return IPyNbFile(path, parent, dowhat=dowhat) + if hasattr(IPyNbFile, "from_parent"): + return IPyNbFile.from_parent(parent, fspath=path, dowhat=dowhat) + else: # for older pytest (https://docs.pytest.org/en/stable/deprecations.html#node-construction-changed-to-node-from-parent) + return IPyNbFile(path, parent, dowhat=dowhat) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/nbsmoke/lint/__init__.py new/nbsmoke-0.5.0/nbsmoke/lint/__init__.py --- old/nbsmoke-0.4.1/nbsmoke/lint/__init__.py 2019-12-22 08:30:12.000000000 +0100 +++ new/nbsmoke-0.5.0/nbsmoke/lint/__init__.py 2020-09-11 00:15:58.000000000 +0200 @@ -42,7 +42,8 @@ magics_processor = magics.Processor( extra_line_blacklist = _get_list_from_conf('nbsmoke_flakes_line_magics_blacklist', self.parent.parent.config), - extra_cell_blacklist = _get_list_from_conf('nbsmoke_flakes_cell_magics_blacklist', self.parent.parent.config)) + extra_cell_blacklist = _get_list_from_conf('nbsmoke_flakes_cell_magics_blacklist', self.parent.parent.config), + extra_magic_handlers = self.parent.parent.config.getini('nbsmoke_magic_handlers')) magics_processor.insert_get_ipython(nb) ipy, _ = nbconvert.PythonExporter().from_notebook_node(nb) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/nbsmoke/lint/magics/__init__.py new/nbsmoke-0.5.0/nbsmoke/lint/magics/__init__.py --- old/nbsmoke-0.4.1/nbsmoke/lint/magics/__init__.py 2019-12-22 08:30:12.000000000 +0100 +++ new/nbsmoke-0.5.0/nbsmoke/lint/magics/__init__.py 2020-09-11 00:15:58.000000000 +0200 @@ -95,10 +95,27 @@ # TODO: suddenly had to make some fns into a class to support blacklists; should rework. class Processor(object): - def __init__(self, extra_cell_blacklist=None, extra_line_blacklist=None): + def __init__(self, extra_cell_blacklist=None, extra_line_blacklist=None, extra_magic_handlers=None): self.blacklisted_cell = (extra_cell_blacklist or []) + BLACKLISTED_CELL_MAGICS self.blacklisted_line = (extra_line_blacklist or []) + BLACKLISTED_LINE_MAGICS + self.extra_cell_magic_handlers = dict(other_cell_magic_handlers) + self.extra_line_magic_handlers = dict(other_line_magic_handlers) + if extra_magic_handlers: + user_cell_magic_handlers, user_line_magic_handlers = self._load_user_magic_handlers(extra_magic_handlers) + self.extra_cell_magic_handlers.update(user_cell_magic_handlers) + self.extra_line_magic_handlers.update(user_line_magic_handlers) + + + @staticmethod + def _load_user_magic_handlers(path): + from importlib import util + spec = util.spec_from_file_location("_nbsmoke_user_magic_handlers", path) + mod = util.module_from_spec(spec) + spec.loader.exec_module(mod) + return mod.cell_magic_handlers, mod.line_magic_handlers + + @staticmethod def insert_get_ipython(nb): # define and use get_ipython (for pyflakes) @@ -152,9 +169,9 @@ if isinstance(magic, NotMagic): content = magic.line elif isinstance(magic, LineMagic): - content = _process_magics(magic, other_line_magic_handlers, IGNORED_LINE_MAGICS, self.blacklisted_line, SIMPLE_LINE_MAGICS) + content = _process_magics(magic, self.extra_line_magic_handlers, IGNORED_LINE_MAGICS, self.blacklisted_line, SIMPLE_LINE_MAGICS) elif isinstance(magic, CellMagic): - content = _process_magics(magic, other_cell_magic_handlers, IGNORED_CELL_MAGICS, self.blacklisted_cell) + content = _process_magics(magic, self.extra_cell_magic_handlers, IGNORED_CELL_MAGICS, self.blacklisted_cell) else: raise return content diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/nbsmoke.egg-info/PKG-INFO new/nbsmoke-0.5.0/nbsmoke.egg-info/PKG-INFO --- old/nbsmoke-0.4.1/nbsmoke.egg-info/PKG-INFO 2019-12-22 08:30:26.000000000 +0100 +++ new/nbsmoke-0.5.0/nbsmoke.egg-info/PKG-INFO 2020-09-11 00:16:12.000000000 +0200 @@ -1,18 +1,34 @@ Metadata-Version: 2.1 Name: nbsmoke -Version: 0.4.1 +Version: 0.5.0 Summary: Basic notebook checks. Do they run? Do they contain lint? -Home-page: https://github.com/pyviz/nbsmoke +Home-page: https://github.com/pyviz-dev/nbsmoke Author: pyviz contributors Author-email: d...@pyviz.org License: BSD-3 -Description: .. image:: https://travis-ci.org/pyviz-dev/nbsmoke.svg?branch=master +Description: .. image:: https://img.shields.io/pypi/v/nbsmoke + :target: https://pypi.org/project/nbsmoke/ + :alt: PyPI + + .. image:: https://pepy.tech/badge/nbsmoke + :target: https://pepy.tech/project/nbsmoke + :alt: PyPI Downloads + + .. image:: https://img.shields.io/conda/vn/conda-forge/nbsmoke + :target: https://anaconda.org/conda-forge/nbsmoke/ + :alt: conda-forge + + .. image:: https://img.shields.io/conda/dn/conda-forge/nbsmoke.svg?label=conda-forge + :target: https://anaconda.org/conda-forge/nbsmoke/ + :alt: conda-forge downloads + + .. image:: https://travis-ci.org/pyviz-dev/nbsmoke.svg?branch=master :target: https://travis-ci.org/pyviz-dev/nbsmoke - :alt: See Build Status on Travis CI + :alt: Build Status on Travis CI (Linux) - .. image:: https://ci.appveyor.com/api/projects/status/p93ot2kmae55pw3o/branch/master?svg=true - :target: https://ci.appveyor.com/project/pyviz/nbsmoke/branch/master - :alt: See Build Status on AppVeyor + .. image:: https://ci.appveyor.com/api/projects/status/jsnhyaf1jqtcsc9a/branch/master?svg=true + :target: https://ci.appveyor.com/project/ceball/nbsmoke/branch/master + :alt: Build Status on AppVeyor (Windows) .. image:: https://coveralls.io/repos/github/pyviz-dev/nbsmoke/badge.svg?branch=master :target: https://coveralls.io/github/pyviz-dev/nbsmoke?branch=master @@ -37,9 +53,13 @@ $ pip install nbsmoke - Or you can install nbsmoke via `conda`_ from `anaconda.org`_:: + Or get the latest pre-release:: - $ conda install -c pyviz/label/dev -c conda-forge nbsmoke + $ pip install --pre nbsmoke + + nbsmoke is also available via `conda`_ from `anaconda.org`_:: + + $ conda install -c conda-forge nbsmoke Usage @@ -95,6 +115,9 @@ nbsmoke_flakes_cell_magics_blacklist = bash ruby + # add your own magic handlers (python file containing line_magic_handlers and cell_magic_handlers as dictionaries magic_name: callable) + nbsmoke_magic_handlers = path/to/file.py + nbsmoke supports ``# noqa`` comments to mark that something should be ignored during lint checking. @@ -140,8 +163,9 @@ First, install using ``pip install -e .``. Then run the tests using ``tox`` or ``pytest -v tests/``. - New release to PyPI and anaconda.org: ``git tag -a vX.Y.Z -m - "Something about release" && git push --tags``. + New release to PyPI: ``git tag -a vX.Y.Z -m "Something about release" + && git push --tags``. Then a PR will auto-open on conda-forge, which + should be merged. Get some help to debug apparently incorrect flakes by adding ``--nbsmoke-lint-debug``, @@ -174,16 +198,15 @@ .. _`anaconda.org`: https://anaconda.org/ Platform: UNKNOWN -Classifier: Development Status :: 3 - Alpha +Classifier: Development Status :: 5 - Production/Stable Classifier: Framework :: Pytest Classifier: Intended Audience :: Developers Classifier: Topic :: Software Development :: Testing Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Operating System :: OS Independent Classifier: License :: OSI Approved :: BSD License -Requires-Python: >=2.7 +Requires-Python: >=3.4 Provides-Extra: holoviews-magics Provides-Extra: verify Provides-Extra: all diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/setup.py new/nbsmoke-0.5.0/setup.py --- old/nbsmoke-0.4.1/setup.py 2019-12-22 08:30:12.000000000 +0100 +++ new/nbsmoke-0.5.0/setup.py 2020-09-11 00:15:58.000000000 +0200 @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- -import sys import os import codecs from setuptools import setup, find_packages @@ -13,7 +12,7 @@ return codecs.open(file_path, encoding='utf-8').read() extras_require = { - 'holoviews-magics': ['holoviews'], + 'holoviews-magics': ['holoviews'], # only install if you are using holoviews magics (which are deprecated...) 'verify': ['requests', 'beautifulsoup4'], } @@ -21,7 +20,7 @@ name='nbsmoke', description='Basic notebook checks. Do they run? Do they contain lint?', version = version.get_setup_version('nbsmoke'), - url='https://github.com/pyviz/nbsmoke', + url='https://github.com/pyviz-dev/nbsmoke', long_description=read('README.rst'), author='pyviz contributors', author_email = "d...@pyviz.org", @@ -29,18 +28,17 @@ packages=find_packages(), include_package_data = True, classifiers=[ - 'Development Status :: 3 - Alpha', + 'Development Status :: 5 - Production/Stable', 'Framework :: Pytest', 'Intended Audience :: Developers', 'Topic :: Software Development :: Testing', 'Programming Language :: Python', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Operating System :: OS Independent', 'License :: OSI Approved :: BSD License', ], - python_requires = ">=2.7", + python_requires = ">=3.4", install_requires=[ 'pytest >=3.1.1', @@ -53,11 +51,7 @@ 'jupyter_client', 'nbformat', 'nbconvert', - # TODO: I think the decision was to go with python/setup.py for this stuff, - # right? (but if so, how do I specify it's the runtime python version - # I'm talking aobut, not the buildtime python version?) - # Also - not sure exactly what is required now - ] + (['ipykernel'] if (sys.version_info[0]>=3 and sys.version_info[1]>4) else ['ipykernel <5']), + 'ipykernel'], extras_require = extras_require, entry_points={ 'pytest11': [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/tests/test_lint_magics.py new/nbsmoke-0.5.0/tests/test_lint_magics.py --- old/nbsmoke-0.4.1/tests/test_lint_magics.py 2019-12-22 08:30:12.000000000 +0100 +++ new/nbsmoke-0.5.0/tests/test_lint_magics.py 2020-09-11 00:15:58.000000000 +0200 @@ -425,14 +425,12 @@ ".*nbsmoke doesn't know how to process the.*cellmagicnonexistentthree.*CellMagic and has ignored it.*"]) def test_optional_import_warn(testdir): + testdir.makeini(r""" + [pytest] + nbsmoke_magic_handlers = my_magic_handlers.py + """) testdir.makefile('.ipynb', testing123=nb_optional_dep) - ### - # what a hack - def not_clever_magics_handler(magic): - raise ImportError("Amazing dependency is missing") - import nbsmoke.lint.magics as M - M.other_line_magic_handlers['clever_magic'] = not_clever_magics_handler - ### + testdir.makefile(".py", my_magic_handlers="def not_clever_magics_handler(magic):\n raise ImportError('Amazing dependency is missing')\n\nline_magic_handlers=dict(clever_magic=not_clever_magics_handler);cell_magic_handlers={}") result = testdir.runpytest(*lint_args) assert result.ret == 1 result.stdout.re_match_lines_random( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/tests/test_lint_magics_hv.py new/nbsmoke-0.5.0/tests/test_lint_magics_hv.py --- old/nbsmoke-0.4.1/tests/test_lint_magics_hv.py 2019-12-22 08:30:12.000000000 +0100 +++ new/nbsmoke-0.5.0/tests/test_lint_magics_hv.py 2020-09-11 00:15:58.000000000 +0200 @@ -1,5 +1,11 @@ +import pytest +holoviews = pytest.importorskip("holoviews", reason="HoloViews is required to test hv magics.") + from . import lint_args +# otherwise stuff from the bowels of pandas and numpy comes up +lint_args = lint_args + ['-W ignore::RuntimeWarning'] + nb_hv_good = u''' { "cells": [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbsmoke-0.4.1/tests/test_run.py new/nbsmoke-0.5.0/tests/test_run.py --- old/nbsmoke-0.4.1/tests/test_run.py 2019-12-22 08:30:12.000000000 +0100 +++ new/nbsmoke-0.5.0/tests/test_run.py 2020-09-11 00:15:58.000000000 +0200 @@ -7,11 +7,14 @@ from . import nb_basic, run_args +# tests are run in subprocess because otherwise some state seems to be left +# around somewhere in jupyter (https://github.com/pyviz-dev/nbsmoke/issues/45) + # maybe this test is overkill now we check for certain output in the run tests? def test_definitely_ran_paranoid(testdir): assert not os.path.exists('sigh') testdir.makefile('.ipynb', testing123=nb_basic%{'the_source':"open('x','w').write('y')"}) - result = testdir.runpytest(*run_args) + result = testdir.runpytest_subprocess(*run_args) assert result.ret==0 with open('x','r') as f: assert f.read() == 'y' @@ -19,7 +22,7 @@ def test_run_good(testdir): testdir.makefile('.ipynb', testing123=nb_basic%{'the_source':"1/1"}) - result = testdir.runpytest(*run_args) + result = testdir.runpytest_subprocess(*run_args) assert result.ret == 0 result.stdout.re_match_lines_random( [".*collected 1 item$", @@ -27,7 +30,7 @@ def test_run_bad(testdir): testdir.makefile('.ipynb', testing123=nb_basic%{'the_source':"1/0"}) - result = testdir.runpytest(*run_args) + result = testdir.runpytest_subprocess(*run_args) assert result.ret == 1 result.stdout.re_match_lines_random([".*ZeroDivisionError.*"]) @@ -37,7 +40,7 @@ testdir.makefile('.ipynb', testing123=nb_basic%{'the_source':"42"}) - result = testdir.runpytest(*(run_args+['--store-html=%s'%testdir.tmpdir.strpath])) + result = testdir.runpytest_subprocess(*(run_args+['--store-html=%s'%testdir.tmpdir.strpath])) assert result.ret == 0 # test that html has happened @@ -65,7 +68,7 @@ testdir.makefile('.ipynb', alsoskipme=nb_basic%{'the_source':"1/0"}) testdir.makefile('.ipynb', skipmetoo=nb_basic%{'the_source':"1/0"}) testdir.makefile('.ipynb', skipmenot=nb_basic%{'the_source':"1/1"}) - result = testdir.runpytest(*run_args) + result = testdir.runpytest_subprocess(*run_args) assert result.ret == 0 result.stdout.re_match_lines_random( [".*collected 4 items$", @@ -79,5 +82,5 @@ p.write("content") testdir.makefile('.ipynb', testing123=nb_basic%{'the_source':"import os; assert os.path.isfile('hello.txt')"}) shutil.move('testing123.ipynb', 'sub') - result = testdir.runpytest(*run_args) + result = testdir.runpytest_subprocess(*run_args) assert result.ret == 0