Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-matplotlib-inline for openSUSE:Factory checked in at 2022-08-23 14:25:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-matplotlib-inline (Old) and /work/SRC/openSUSE:Factory/.python-matplotlib-inline.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-matplotlib-inline" Tue Aug 23 14:25:31 2022 rev:3 rq:998364 version:0.1.6 Changes: -------- --- /work/SRC/openSUSE:Factory/python-matplotlib-inline/python-matplotlib-inline.changes 2021-10-20 20:24:31.085386734 +0200 +++ /work/SRC/openSUSE:Factory/.python-matplotlib-inline.new.2083/python-matplotlib-inline.changes 2022-08-23 14:25:32.343079846 +0200 @@ -1,0 +2,18 @@ +Sat Aug 20 14:59:06 UTC 2022 - Arun Persaud <a...@gmx.de> + +- specfile: + * update copyright year + +- update to version 0.1.6: + * Return manager instead of None + +- changes from version 0.1.5: + * replace 0.1.4 on pypi, no changes + +- changes from version 0.1.4: + * Fix: always clear _draw_called + * Move draw_if_interactive logic to new_figure_manager_given_figure. + * Remove matplotlib rc overrides. + * Create __version__ attribute + +------------------------------------------------------------------- Old: ---- matplotlib-inline-0.1.3.tar.gz New: ---- matplotlib-inline-0.1.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-matplotlib-inline.spec ++++++ --- /var/tmp/diff_new_pack.0U9B2K/_old 2022-08-23 14:25:33.615082646 +0200 +++ /var/tmp/diff_new_pack.0U9B2K/_new 2022-08-23 14:25:33.635082690 +0200 @@ -1,7 +1,7 @@ # # spec file # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,9 +26,8 @@ %endif %{?!python_module:%define python_module() python3-%{**}} %define skip_python2 1 -%define skip_python36 1 Name: python-matplotlib-inline%{psuffix} -Version: 0.1.3 +Version: 0.1.6 Release: 0 Summary: Inline Matplotlib backend for Jupyter License: BSD-3-Clause @@ -36,14 +35,14 @@ Source: https://files.pythonhosted.org/packages/source/m/matplotlib-inline/matplotlib-inline-%{version}.tar.gz BuildRequires: %{python_module setuptools} BuildRequires: %{python_module traitlets} +BuildRequires: fdupes BuildRequires: python-rpm-macros +Requires: python-traitlets +BuildArch: noarch %if %{with test} BuildRequires: %{python_module ipython} BuildRequires: %{python_module matplotlib} %endif -BuildRequires: fdupes -Requires: python-traitlets -BuildArch: noarch %python_subpackages %description ++++++ matplotlib-inline-0.1.3.tar.gz -> matplotlib-inline-0.1.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/matplotlib-inline-0.1.3/LICENSE new/matplotlib-inline-0.1.6/LICENSE --- old/matplotlib-inline-0.1.3/LICENSE 2021-04-20 17:39:21.000000000 +0200 +++ new/matplotlib-inline-0.1.6/LICENSE 2022-08-16 22:04:52.000000000 +0200 @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2019, +Copyright (c) 2019-2022, IPython Development Team. All rights reserved. Redistribution and use in source and binary forms, with or without diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/matplotlib-inline-0.1.3/PKG-INFO new/matplotlib-inline-0.1.6/PKG-INFO --- old/matplotlib-inline-0.1.3/PKG-INFO 2021-09-07 17:02:39.190669800 +0200 +++ new/matplotlib-inline-0.1.6/PKG-INFO 2022-08-18 05:47:05.679983000 +0200 @@ -1,15 +1,81 @@ Metadata-Version: 2.1 Name: matplotlib-inline -Version: 0.1.3 +Version: 0.1.6 Summary: Inline Matplotlib backend for Jupyter Home-page: https://github.com/ipython/matplotlib-inline Author: IPython Development Team Author-email: ipython-...@scipy.org License: BSD 3-Clause Keywords: python,ipython,matplotlib,jupyter -Platform: UNKNOWN Requires-Python: >=3.5 +Description-Content-Type: text/markdown License-File: LICENSE -UNKNOWN +# Matplotlib Inline Back-end for IPython and Jupyter +This package provides support for matplotlib to display figures directly inline in the Jupyter notebook and related clients, as shown below. + +## Installation + +With conda: + +```bash +conda install -c conda-forge matplotlib-inline +``` + +With pip: + +```bash +pip install matplotlib-inline +``` + +## Usage + +Note that in current versions of JupyterLab and Jupyter Notebook, the explicit use of the `%matplotlib inline` directive is not needed anymore, though other third-party clients may still require it. + +This will produce a figure immediately below: + +```python +%matplotlib inline + +import matplotlib.pyplot as plt +import numpy as np + +x = np.linspace(0, 3*np.pi, 500) +plt.plot(x, np.sin(x**2)) +plt.title('A simple chirp'); +``` + +## License + +Licensed under the terms of the BSD 3-Clause License, by the IPython Development Team (see `LICENSE` file). + +BSD 3-Clause License + +Copyright (c) 2019-2022, IPython Development Team. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/matplotlib-inline-0.1.3/README.md new/matplotlib-inline-0.1.6/README.md --- old/matplotlib-inline-0.1.3/README.md 2021-04-20 17:39:21.000000000 +0200 +++ new/matplotlib-inline-0.1.6/README.md 2022-08-16 22:04:52.000000000 +0200 @@ -1,22 +1,26 @@ # Matplotlib Inline Back-end for IPython and Jupyter +This package provides support for matplotlib to display figures directly inline in the Jupyter notebook and related clients, as shown below. + ## Installation With conda: ```bash -conda install -c conda-forge notebook matplotlib +conda install -c conda-forge matplotlib-inline ``` With pip: ```bash -pip install notebook matplotlib +pip install matplotlib-inline ``` ## Usage -This package is included in IPython and can be used in a Jupyter Notebook: +Note that in current versions of JupyterLab and Jupyter Notebook, the explicit use of the `%matplotlib inline` directive is not needed anymore, though other third-party clients may still require it. + +This will produce a figure immediately below: ```python %matplotlib inline @@ -28,3 +32,7 @@ plt.plot(x, np.sin(x**2)) plt.title('A simple chirp'); ``` + +## License + +Licensed under the terms of the BSD 3-Clause License, by the IPython Development Team (see `LICENSE` file). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/matplotlib-inline-0.1.3/matplotlib_inline/__init__.py new/matplotlib-inline-0.1.6/matplotlib_inline/__init__.py --- old/matplotlib-inline-0.1.3/matplotlib_inline/__init__.py 2021-04-20 17:39:21.000000000 +0200 +++ new/matplotlib-inline-0.1.6/matplotlib_inline/__init__.py 2022-08-18 05:43:57.000000000 +0200 @@ -0,0 +1,2 @@ +from . import backend_inline, config # noqa +__version__ = "0.1.6" # noqa diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/matplotlib-inline-0.1.3/matplotlib_inline/backend_inline.py new/matplotlib-inline-0.1.6/matplotlib_inline/backend_inline.py --- old/matplotlib-inline-0.1.3/matplotlib_inline/backend_inline.py 2021-04-20 17:39:21.000000000 +0200 +++ new/matplotlib-inline-0.1.6/matplotlib_inline/backend_inline.py 2022-08-18 05:09:32.000000000 +0200 @@ -4,13 +4,11 @@ # Distributed under the terms of the BSD 3-Clause License. import matplotlib -from matplotlib.backends.backend_agg import ( # noqa - new_figure_manager, - FigureCanvasAgg, - new_figure_manager_given_figure, -) from matplotlib import colors +from matplotlib.backends import backend_agg +from matplotlib.backends.backend_agg import FigureCanvasAgg from matplotlib._pylab_helpers import Gcf +from matplotlib.figure import Figure from IPython.core.interactiveshell import InteractiveShell from IPython.core.getipython import get_ipython @@ -20,6 +18,57 @@ from .config import InlineBackend +def new_figure_manager(num, *args, FigureClass=Figure, **kwargs): + """ + Return a new figure manager for a new figure instance. + + This function is part of the API expected by Matplotlib backends. + """ + return new_figure_manager_given_figure(num, FigureClass(*args, **kwargs)) + + +def new_figure_manager_given_figure(num, figure): + """ + Return a new figure manager for a given figure instance. + + This function is part of the API expected by Matplotlib backends. + """ + manager = backend_agg.new_figure_manager_given_figure(num, figure) + + # Hack: matplotlib FigureManager objects in interacive backends (at least + # in some of them) monkeypatch the figure object and add a .show() method + # to it. This applies the same monkeypatch in order to support user code + # that might expect `.show()` to be part of the official API of figure + # objects. For further reference: + # https://github.com/ipython/ipython/issues/1612 + # https://github.com/matplotlib/matplotlib/issues/835 + + if not hasattr(figure, 'show'): + # Queue up `figure` for display + figure.show = lambda *a: display( + figure, metadata=_fetch_figure_metadata(figure)) + + # If matplotlib was manually set to non-interactive mode, this function + # should be a no-op (otherwise we'll generate duplicate plots, since a user + # who set ioff() manually expects to make separate draw/show calls). + if not matplotlib.is_interactive(): + return manager + + # ensure current figure will be drawn, and each subsequent call + # of draw_if_interactive() moves the active figure to ensure it is + # drawn last + try: + show._to_draw.remove(figure) + except ValueError: + # ensure it only appears in the draw list once + pass + # Queue up the figure for drawing in next show() call + show._to_draw.append(figure) + show._draw_called = True + + return manager + + def show(close=None, block=None): """Show all figures as SVG/PNG payloads sent to the IPython clients. @@ -56,51 +105,6 @@ show._to_draw = [] -def draw_if_interactive(): - """ - Is called after every pylab drawing command - """ - # signal that the current active figure should be sent at the end of - # execution. Also sets the _draw_called flag, signaling that there will be - # something to send. At the end of the code execution, a separate call to - # flush_figures() will act upon these values - manager = Gcf.get_active() - if manager is None: - return - fig = manager.canvas.figure - - # Hack: matplotlib FigureManager objects in interacive backends (at least - # in some of them) monkeypatch the figure object and add a .show() method - # to it. This applies the same monkeypatch in order to support user code - # that might expect `.show()` to be part of the official API of figure - # objects. - # For further reference: - # https://github.com/ipython/ipython/issues/1612 - # https://github.com/matplotlib/matplotlib/issues/835 - - if not hasattr(fig, 'show'): - # Queue up `fig` for display - fig.show = lambda *a: display(fig, metadata=_fetch_figure_metadata(fig)) - - # If matplotlib was manually set to non-interactive mode, this function - # should be a no-op (otherwise we'll generate duplicate plots, since a user - # who set ioff() manually expects to make separate draw/show calls). - if not matplotlib.is_interactive(): - return - - # ensure current figure will be drawn, and each subsequent call - # of draw_if_interactive() moves the active figure to ensure it is - # drawn last - try: - show._to_draw.remove(fig) - except ValueError: - # ensure it only appears in the draw list once - pass - # Queue up the figure for drawing in next show() call - show._to_draw.append(fig) - show._draw_called = True - - def flush_figures(): """Send all figures that changed @@ -115,19 +119,20 @@ if not show._draw_called: return - if InlineBackend.instance().close_figures: - # ignore the tracking, just draw and close all figures - try: - return show(True) - except Exception as e: - # safely show traceback if in IPython, else raise - ip = get_ipython() - if ip is None: - raise e - else: - ip.showtraceback() - return try: + if InlineBackend.instance().close_figures: + # ignore the tracking, just draw and close all figures + try: + return show(True) + except Exception as e: + # safely show traceback if in IPython, else raise + ip = get_ipython() + if ip is None: + raise e + else: + ip.showtraceback() + return + # exclude any figures that were closed: active = set([fm.canvas.figure for fm in Gcf.get_all_fig_managers()]) for fig in [fig for fig in show._to_draw if fig in active]: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/matplotlib-inline-0.1.3/matplotlib_inline/config.py new/matplotlib-inline-0.1.6/matplotlib_inline/config.py --- old/matplotlib-inline-0.1.3/matplotlib_inline/config.py 2021-04-20 17:39:21.000000000 +0200 +++ new/matplotlib-inline-0.1.6/matplotlib_inline/config.py 2022-08-16 21:54:04.000000000 +0200 @@ -32,26 +32,19 @@ class InlineBackend(InlineBackendConfig): """An object to store configuration of the inline backend.""" - # The typical default figure size is too large for inline use, - # so we shrink the figure size to 6x4, and tweak fonts to - # make that fit. + # While we are deprecating overriding matplotlib defaults out of the + # box, this structure should remain here (empty) for API compatibility + # and the use of other tools that may need it. Specifically Spyder takes + # advantage of it. + # See https://github.com/ipython/ipython/issues/10383 for details. rc = Dict( - { - 'figure.figsize': (6.0, 4.0), - # play nicely with white background in the Qt and notebook frontend - 'figure.facecolor': (1, 1, 1, 0), - 'figure.edgecolor': (1, 1, 1, 0), - # 12pt labels get cutoff on 6x4 logplots, so use 10pt. - 'font.size': 10, - # 72 dpi matches SVG/qtconsole - # this only affects PNG export, as SVG has no dpi setting - 'figure.dpi': 72, - # 10pt still needs a little more room on the xlabel: - 'figure.subplot.bottom': .125 - }, - help="""Subset of matplotlib rcParams that should be different for the - inline backend.""" - ).tag(config=True) + {}, + help="""Dict to manage matplotlib configuration defaults in the inline + backend. As of v0.1.4 IPython/Jupyter do not override defaults out of + the box, but third-party tools may use it to manage rc data. To change + personal defaults for matplotlib, use matplotlib's configuration + tools, or customize this class in your `ipython_config.py` file for + IPython/Jupyter-specific usage.""").tag(config=True) figure_formats = Set( {'png'}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/matplotlib-inline-0.1.3/matplotlib_inline.egg-info/PKG-INFO new/matplotlib-inline-0.1.6/matplotlib_inline.egg-info/PKG-INFO --- old/matplotlib-inline-0.1.3/matplotlib_inline.egg-info/PKG-INFO 2021-09-07 17:02:39.000000000 +0200 +++ new/matplotlib-inline-0.1.6/matplotlib_inline.egg-info/PKG-INFO 2022-08-18 05:47:05.000000000 +0200 @@ -1,15 +1,81 @@ Metadata-Version: 2.1 Name: matplotlib-inline -Version: 0.1.3 +Version: 0.1.6 Summary: Inline Matplotlib backend for Jupyter Home-page: https://github.com/ipython/matplotlib-inline Author: IPython Development Team Author-email: ipython-...@scipy.org License: BSD 3-Clause Keywords: python,ipython,matplotlib,jupyter -Platform: UNKNOWN Requires-Python: >=3.5 +Description-Content-Type: text/markdown License-File: LICENSE -UNKNOWN +# Matplotlib Inline Back-end for IPython and Jupyter +This package provides support for matplotlib to display figures directly inline in the Jupyter notebook and related clients, as shown below. + +## Installation + +With conda: + +```bash +conda install -c conda-forge matplotlib-inline +``` + +With pip: + +```bash +pip install matplotlib-inline +``` + +## Usage + +Note that in current versions of JupyterLab and Jupyter Notebook, the explicit use of the `%matplotlib inline` directive is not needed anymore, though other third-party clients may still require it. + +This will produce a figure immediately below: + +```python +%matplotlib inline + +import matplotlib.pyplot as plt +import numpy as np + +x = np.linspace(0, 3*np.pi, 500) +plt.plot(x, np.sin(x**2)) +plt.title('A simple chirp'); +``` + +## License + +Licensed under the terms of the BSD 3-Clause License, by the IPython Development Team (see `LICENSE` file). + +BSD 3-Clause License + +Copyright (c) 2019-2022, IPython Development Team. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/matplotlib-inline-0.1.3/setup.cfg new/matplotlib-inline-0.1.6/setup.cfg --- old/matplotlib-inline-0.1.3/setup.cfg 2021-09-07 17:02:39.191670000 +0200 +++ new/matplotlib-inline-0.1.6/setup.cfg 2022-08-18 05:47:05.680220600 +0200 @@ -1,7 +1,9 @@ [metadata] name = matplotlib-inline -version = 0.1.3 +version = attr: matplotlib_inline.__version__ description = Inline Matplotlib backend for Jupyter +long_description = file: README.md, LICENSE +long_description_content_type = text/markdown author = IPython Development Team author_email = ipython-...@scipy.org url = https://github.com/ipython/matplotlib-inline @@ -27,6 +29,7 @@ Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 [egg_info] tag_build =