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 2026-02-11 18:47:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-matplotlib-inline (Old)
and /work/SRC/openSUSE:Factory/.python-matplotlib-inline.new.1670 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-matplotlib-inline"
Wed Feb 11 18:47:12 2026 rev:7 rq:1330432 version:0.2.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-matplotlib-inline/python-matplotlib-inline.changes
2024-04-23 18:55:27.585137292 +0200
+++
/work/SRC/openSUSE:Factory/.python-matplotlib-inline.new.1670/python-matplotlib-inline.changes
2026-02-11 18:47:32.830100907 +0100
@@ -1,0 +2,9 @@
+Mon Dec 1 22:58:44 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 0.2.1:
+ * python 3.13 support
+ * move to flit
+ * test on python 3.14
+ * docstring fixes
+
+-------------------------------------------------------------------
Old:
----
matplotlib_inline-0.1.7.tar.gz
New:
----
matplotlib_inline-0.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-matplotlib-inline.spec ++++++
--- /var/tmp/diff_new_pack.F8NkkM/_old 2026-02-11 18:47:33.370123584 +0100
+++ /var/tmp/diff_new_pack.F8NkkM/_new 2026-02-11 18:47:33.374123753 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-matplotlib-inline
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -28,14 +28,14 @@
%endif
%{?sle15_python_module_pythons}
Name: python-matplotlib-inline%{psuffix}
-Version: 0.1.7
+Version: 0.2.1
Release: 0
Summary: Inline Matplotlib backend for Jupyter
License: BSD-3-Clause
URL: https://github.com/ipython/matplotlib-inline
Source:
https://files.pythonhosted.org/packages/source/m/matplotlib-inline/matplotlib_inline-%{version}.tar.gz
+BuildRequires: %{python_module flit-core}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module traitlets}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
++++++ matplotlib_inline-0.1.7.tar.gz -> matplotlib_inline-0.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/matplotlib_inline-0.1.7/PKG-INFO
new/matplotlib_inline-0.2.1/PKG-INFO
--- old/matplotlib_inline-0.1.7/PKG-INFO 2024-04-15 15:44:27.718683200
+0200
+++ new/matplotlib_inline-0.2.1/PKG-INFO 1970-01-01 01:00:00.000000000
+0100
@@ -1,61 +1,37 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: matplotlib-inline
-Version: 0.1.7
+Version: 0.2.1
Summary: Inline Matplotlib backend for Jupyter
-Author-email: IPython Development Team <[email protected]>
-License: 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.
-
-Project-URL: Homepage, https://github.com/ipython/matplotlib-inline
Keywords: ipython,jupyter,matplotlib,python
+Author-email: IPython Development Team <[email protected]>
+Requires-Python: >=3.9
+Description-Content-Type: text/markdown
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: IPython
-Classifier: Framework :: Jupyter
-Classifier: Framework :: Jupyter :: JupyterLab
Classifier: Framework :: Jupyter :: JupyterLab :: 3
Classifier: Framework :: Jupyter :: JupyterLab :: 4
+Classifier: Framework :: Jupyter :: JupyterLab
+Classifier: Framework :: Jupyter
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python
Classifier: Topic :: Multimedia :: Graphics
-Requires-Python: >=3.8
-Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: traitlets
+Requires-Dist: flake8 ; extra == "test"
+Requires-Dist: nbdime ; extra == "test"
+Requires-Dist: nbval ; extra == "test"
+Requires-Dist: notebook ; extra == "test"
+Requires-Dist: pytest ; extra == "test"
+Project-URL: Homepage, https://github.com/ipython/matplotlib-inline
+Provides-Extra: test
# Matplotlib Inline Back-end for IPython and Jupyter
@@ -95,3 +71,4 @@
## 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.7/matplotlib_inline/__init__.py
new/matplotlib_inline-0.2.1/matplotlib_inline/__init__.py
--- old/matplotlib_inline-0.1.7/matplotlib_inline/__init__.py 2024-04-15
15:39:33.000000000 +0200
+++ new/matplotlib_inline-0.2.1/matplotlib_inline/__init__.py 2025-10-23
10:59:45.367959700 +0200
@@ -1,2 +1,8 @@
from . import backend_inline, config # noqa
-__version__ = "0.1.7" # noqa
+
+__version__ = "0.2.1"
+
+# we can't ''.join(...) otherwise finding the version number at build time
requires
+# import which introduces IPython and matplotlib at build time, and thus
circular
+# dependencies.
+version_info = tuple(int(s) for s in __version__.split(".")[:3])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/matplotlib_inline-0.1.7/matplotlib_inline/backend_inline.py
new/matplotlib_inline-0.2.1/matplotlib_inline/backend_inline.py
--- old/matplotlib_inline-0.1.7/matplotlib_inline/backend_inline.py
2024-04-15 15:37:56.000000000 +0200
+++ new/matplotlib_inline-0.2.1/matplotlib_inline/backend_inline.py
2025-10-23 10:59:45.367959700 +0200
@@ -4,17 +4,16 @@
# Distributed under the terms of the BSD 3-Clause License.
import matplotlib
+from IPython.core.getipython import get_ipython
+from IPython.core.interactiveshell import InteractiveShell
+from IPython.core.pylabtools import select_figure_formats
+from IPython.display import display
from matplotlib import colors
+from matplotlib._pylab_helpers import Gcf
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
-from IPython.core.pylabtools import select_figure_formats
-from IPython.display import display
-
from .config import InlineBackend
@@ -43,10 +42,11 @@
# https://github.com/ipython/ipython/issues/1612
# https://github.com/matplotlib/matplotlib/issues/835
- if not hasattr(figure, 'show'):
+ if not hasattr(figure, "show"):
# Queue up `figure` for display
figure.show = lambda *a: display(
- figure, metadata=_fetch_figure_metadata(figure))
+ 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
@@ -89,20 +89,20 @@
for figure_manager in Gcf.get_all_fig_managers():
display(
figure_manager.canvas.figure,
- metadata=_fetch_figure_metadata(figure_manager.canvas.figure)
+ metadata=_fetch_figure_metadata(figure_manager.canvas.figure),
)
finally:
show._to_draw = []
# only call close('all') if any to close
# close triggers gc.collect, which can be slow
if close and Gcf.get_all_fig_managers():
- matplotlib.pyplot.close('all')
+ matplotlib.pyplot.close("all")
# This flag will be reset by draw_if_interactive when called
-show._draw_called = False
+show._draw_called = False # type: ignore[attr-defined]
# list of figures to draw when flush_figures is called
-show._to_draw = []
+show._to_draw = [] # type: ignore[attr-defined]
def flush_figures():
@@ -176,8 +176,8 @@
if cfg not in shell.configurables:
shell.configurables.append(cfg)
- if backend in ('inline', 'module://matplotlib_inline.backend_inline'):
- shell.events.register('post_execute', flush_figures)
+ if backend in ("inline", "module://matplotlib_inline.backend_inline"):
+ shell.events.register("post_execute", flush_figures)
# Save rcParams that will be overwrittern
shell._saved_rcParams = {}
@@ -188,10 +188,10 @@
new_backend_name = "inline"
else:
try:
- shell.events.unregister('post_execute', flush_figures)
+ shell.events.unregister("post_execute", flush_figures)
except ValueError:
pass
- if hasattr(shell, '_saved_rcParams'):
+ if hasattr(shell, "_saved_rcParams"):
matplotlib.rcParams.update(shell._saved_rcParams)
del shell._saved_rcParams
new_backend_name = "other"
@@ -208,11 +208,18 @@
def _enable_matplotlib_integration():
"""Enable extra IPython matplotlib integration when we are loaded as the
matplotlib backend."""
- from matplotlib import get_backend
ip = get_ipython()
- backend = get_backend()
- if ip and backend in ('inline',
'module://matplotlib_inline.backend_inline'):
+
+ import matplotlib
+
+ if matplotlib.__version_info__ >= (3, 10):
+ backend = matplotlib.get_backend(auto_select=False)
+ else:
+ backend = matplotlib.rcParams._get("backend")
+
+ if ip and backend in ("inline",
"module://matplotlib_inline.backend_inline"):
from IPython.core.pylabtools import activate_matplotlib
+
try:
activate_matplotlib(backend)
configure_inline_support(ip, backend)
@@ -221,8 +228,9 @@
def configure_once(*args):
activate_matplotlib(backend)
configure_inline_support(ip, backend)
- ip.events.unregister('post_run_cell', configure_once)
- ip.events.register('post_run_cell', configure_once)
+ ip.events.unregister("post_run_cell", configure_once)
+
+ ip.events.register("post_run_cell", configure_once)
_enable_matplotlib_integration()
@@ -233,13 +241,17 @@
# determine if a background is needed for legibility
if _is_transparent(fig.get_facecolor()):
# the background is transparent
- ticksLight = _is_light([label.get_color()
- for axes in fig.axes
- for axis in (axes.xaxis, axes.yaxis)
- for label in axis.get_ticklabels()])
+ ticksLight = _is_light(
+ [
+ label.get_color()
+ for axes in fig.axes
+ for axis in (axes.xaxis, axes.yaxis)
+ for label in axis.get_ticklabels()
+ ]
+ )
if ticksLight.size and (ticksLight == ticksLight[0]).all():
# there are one or more tick labels, all with the same lightness
- return {'needs_background': 'dark' if ticksLight[0] else 'light'}
+ return {"needs_background": "dark" if ticksLight[0] else "light"}
return None
@@ -249,13 +261,13 @@
opposed to dark). Based on ITU BT.601 luminance formula (see
https://stackoverflow.com/a/596241)."""
rgbaArr = colors.to_rgba_array(color)
- return rgbaArr[:, :3].dot((.299, .587, .114)) > .5
+ return rgbaArr[:, :3].dot((0.299, 0.587, 0.114)) > 0.5
def _is_transparent(color):
"""Determine transparency from alpha."""
rgba = colors.to_rgba(color)
- return rgba[3] < .5
+ return rgba[3] < 0.5
def set_matplotlib_formats(*formats, **kwargs):
@@ -263,12 +275,21 @@
For example, this enables PNG and JPEG output with a JPEG quality of 90%::
- In [1]: set_matplotlib_formats('png', 'jpeg', quality=90)
+ In [1]: set_matplotlib_formats('png', 'jpeg',
+ pil_kwargs={'quality': 90})
+
+ To set this in your notebook by `%config` magic::
+
+ In [1]: %config InlineBackend.figure_formats = {'png', 'jpeg'}
+ %config InlineBackend.print_figure_kwargs = \\
+ {'pil_kwargs': {'quality' : 90}}
To set this in your config files use the following::
c.InlineBackend.figure_formats = {'png', 'jpeg'}
- c.InlineBackend.print_figure_kwargs.update({'quality' : 90})
+ c.InlineBackend.print_figure_kwargs.update({
+ 'pil_kwargs': {'quality' : 90}
+ })
Parameters
----------
@@ -276,6 +297,10 @@
One or more figure formats to enable: 'png', 'retina', 'jpeg', 'svg',
'pdf'.
**kwargs
Keyword args will be relayed to ``figure.canvas.print_figure``.
+
+ In addition, see the docstrings of `plt.savefig()`,
+ `matplotlib.figure.Figure.savefig()`, `PIL.Image.Image.save()` and
+ :ref:`Pillow Image file formats <handbook/image-file-formats>`.
"""
# build kwargs, starting with InlineBackend config
cfg = InlineBackend.instance()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/matplotlib_inline-0.1.7/matplotlib_inline/config.py
new/matplotlib_inline-0.2.1/matplotlib_inline/config.py
--- old/matplotlib_inline-0.1.7/matplotlib_inline/config.py 2024-04-15
15:37:56.000000000 +0200
+++ new/matplotlib_inline-0.2.1/matplotlib_inline/config.py 2025-10-23
10:59:45.367959700 +0200
@@ -6,10 +6,8 @@
# Copyright (c) IPython Development Team.
# Distributed under the terms of the BSD 3-Clause License.
+from traitlets import Bool, Dict, Instance, Set, TraitError, Unicode
from traitlets.config.configurable import SingletonConfigurable
-from traitlets import (
- Dict, Instance, Set, Bool, TraitError, Unicode
-)
# Configurable for inline backend options
@@ -18,6 +16,7 @@
out = False
try:
from PIL import Image # noqa
+
out = True
except ImportError:
pass
@@ -44,37 +43,45 @@
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)
+ IPython/Jupyter-specific usage.""",
+ ).tag(config=True)
figure_formats = Set(
- {'png'},
+ {"png"},
help="""A set of figure formats to enable: 'png',
- 'retina', 'jpeg', 'svg', 'pdf'.""").tag(config=True)
+ 'retina', 'jpeg', 'svg', 'pdf'.""",
+ ).tag(config=True)
def _update_figure_formatters(self):
if self.shell is not None:
from IPython.core.pylabtools import select_figure_formats
- select_figure_formats(self.shell, self.figure_formats,
**self.print_figure_kwargs)
+
+ select_figure_formats(
+ self.shell, self.figure_formats, **self.print_figure_kwargs
+ )
def _figure_formats_changed(self, name, old, new):
- if 'jpg' in new or 'jpeg' in new:
+ if "jpg" in new or "jpeg" in new:
if not pil_available():
raise TraitError("Requires PIL/Pillow for JPG figures")
self._update_figure_formatters()
- figure_format = Unicode(help="""The figure format to enable (deprecated
- use `figure_formats`
instead)""").tag(config=True)
+ figure_format = Unicode(
+ help="""The figure format to enable (deprecated
+ use `figure_formats` instead)"""
+ ).tag(config=True)
def _figure_format_changed(self, name, old, new):
if new:
self.figure_formats = {new}
print_figure_kwargs = Dict(
- {'bbox_inches': 'tight'},
+ {"bbox_inches": "tight"},
help="""Extra kwargs to be passed to fig.canvas.print_figure.
- Logical examples include: bbox_inches, quality (for jpeg figures), etc.
- """
+ Logical examples include: bbox_inches, pil_kwargs, etc. In addition,
+ see the docstrings of `set_matplotlib_formats`.
+ """,
).tag(config=True)
_print_figure_kwargs_changed = _update_figure_formatters
@@ -94,7 +101,9 @@
iterative editing of figures, and behaves most consistently with
other matplotlib backends, but figure barriers between cells must
be explicit.
- """).tag(config=True)
+ """,
+ ).tag(config=True)
- shell = Instance('IPython.core.interactiveshell.InteractiveShellABC',
- allow_none=True)
+ shell = Instance(
+ "IPython.core.interactiveshell.InteractiveShellABC", allow_none=True
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/PKG-INFO
new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/PKG-INFO
--- old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/PKG-INFO
2024-04-15 15:44:27.000000000 +0200
+++ new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/PKG-INFO
1970-01-01 01:00:00.000000000 +0100
@@ -1,97 +0,0 @@
-Metadata-Version: 2.1
-Name: matplotlib-inline
-Version: 0.1.7
-Summary: Inline Matplotlib backend for Jupyter
-Author-email: IPython Development Team <[email protected]>
-License: 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.
-
-Project-URL: Homepage, https://github.com/ipython/matplotlib-inline
-Keywords: ipython,jupyter,matplotlib,python
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Framework :: IPython
-Classifier: Framework :: Jupyter
-Classifier: Framework :: Jupyter :: JupyterLab
-Classifier: Framework :: Jupyter :: JupyterLab :: 3
-Classifier: Framework :: Jupyter :: JupyterLab :: 4
-Classifier: Intended Audience :: Developers
-Classifier: Intended Audience :: Science/Research
-Classifier: License :: OSI Approved :: BSD License
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
-Classifier: Programming Language :: Python :: 3.10
-Classifier: Programming Language :: Python :: 3.11
-Classifier: Programming Language :: Python :: 3.12
-Classifier: Topic :: Multimedia :: Graphics
-Requires-Python: >=3.8
-Description-Content-Type: text/markdown
-License-File: LICENSE
-Requires-Dist: traitlets
-
-# 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).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/SOURCES.txt
new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/SOURCES.txt
--- old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/SOURCES.txt
2024-04-15 15:44:27.000000000 +0200
+++ new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/SOURCES.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-LICENSE
-README.md
-pyproject.toml
-setup.py
-matplotlib_inline/__init__.py
-matplotlib_inline/backend_inline.py
-matplotlib_inline/config.py
-matplotlib_inline.egg-info/PKG-INFO
-matplotlib_inline.egg-info/SOURCES.txt
-matplotlib_inline.egg-info/dependency_links.txt
-matplotlib_inline.egg-info/entry_points.txt
-matplotlib_inline.egg-info/requires.txt
-matplotlib_inline.egg-info/top_level.txt
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/dependency_links.txt
new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/dependency_links.txt
--- old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/dependency_links.txt
2024-04-15 15:44:27.000000000 +0200
+++ new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/dependency_links.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/entry_points.txt
new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/entry_points.txt
--- old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/entry_points.txt
2024-04-15 15:44:27.000000000 +0200
+++ new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/entry_points.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-[matplotlib.backend]
-inline = matplotlib_inline.backend_inline
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/requires.txt
new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/requires.txt
--- old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/requires.txt
2024-04-15 15:44:27.000000000 +0200
+++ new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/requires.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-traitlets
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/top_level.txt
new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/top_level.txt
--- old/matplotlib_inline-0.1.7/matplotlib_inline.egg-info/top_level.txt
2024-04-15 15:44:27.000000000 +0200
+++ new/matplotlib_inline-0.2.1/matplotlib_inline.egg-info/top_level.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-matplotlib_inline
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/matplotlib_inline-0.1.7/pyproject.toml
new/matplotlib_inline-0.2.1/pyproject.toml
--- old/matplotlib_inline-0.1.7/pyproject.toml 2024-04-15 15:37:56.000000000
+0200
+++ new/matplotlib_inline-0.2.1/pyproject.toml 2025-10-23 10:59:45.367959700
+0200
@@ -1,6 +1,6 @@
[build-system]
-build-backend = "setuptools.build_meta"
-requires = ["setuptools"]
+build-backend = "flit_core.buildapi"
+requires = ["flit_core>=3.2"]
[project]
name = "matplotlib-inline"
@@ -11,22 +11,26 @@
classifiers = [
"Development Status :: 5 - Production/Stable",
"Framework :: IPython",
- "Framework :: Jupyter",
- "Framework :: Jupyter :: JupyterLab",
"Framework :: Jupyter :: JupyterLab :: 3",
"Framework :: Jupyter :: JupyterLab :: 4",
+ "Framework :: Jupyter :: JupyterLab",
+ "Framework :: Jupyter",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
- "License :: OSI Approved :: BSD License",
- "Programming Language :: Python",
- "Programming Language :: Python :: 3",
- "Programming Language :: Python :: 3.8",
- "Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
+ "Programming Language :: Python :: 3.14",
+ "Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python",
"Topic :: Multimedia :: Graphics",
]
+
+# do not rely on matplotlib/IPython, as we want matplotlib-inline to be
_installable_ without pulling the other
+# dependencies
+
dependencies = ["traitlets"]
dynamic = ["version"]
keywords = [
@@ -37,13 +41,51 @@
]
license = {file = "LICENSE"}
readme = "README.md"
-requires-python = ">=3.8"
+requires-python = ">=3.9"
[project.entry-points."matplotlib.backend"]
inline = "matplotlib_inline.backend_inline"
+[project.optional-dependencies]
+test = [
+ "flake8",
+ "nbdime",
+ "nbval",
+ "notebook",
+ "pytest",
+]
+
[project.urls]
Homepage = "https://github.com/ipython/matplotlib-inline"
[tool.setuptools.dynamic]
version = {attr = "matplotlib_inline.__version__"}
+
+[tool.pytest.ini_options]
+xfail_strict = true
+log_cli_level = "info"
+addopts = [
+ "--nbval",
+ "--ignore=tests/notebooks/.ipynb_checkpoints/*",
+ "--strict-config",
+ "-ra",
+ "--strict-markers",
+]
+filterwarnings = ["error"]
+testpaths = [
+ "tests",
+]
+
+[tool.mypy]
+strict=false
+warn_unreachable=true
+enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
+
+[tool.ruff]
+
+[tool.ruff.lint]
+extend-select = [
+ "UP", # pyupgrade
+ "I", # isort
+ "B", # flake8-bugbear
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/matplotlib_inline-0.1.7/setup.cfg
new/matplotlib_inline-0.2.1/setup.cfg
--- old/matplotlib_inline-0.1.7/setup.cfg 2024-04-15 15:44:27.718683200
+0200
+++ new/matplotlib_inline-0.2.1/setup.cfg 1970-01-01 01:00:00.000000000
+0100
@@ -1,4 +0,0 @@
-[egg_info]
-tag_build =
-tag_date = 0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/matplotlib_inline-0.1.7/setup.py
new/matplotlib_inline-0.2.1/setup.py
--- old/matplotlib_inline-0.1.7/setup.py 2024-04-15 15:37:56.000000000
+0200
+++ new/matplotlib_inline-0.2.1/setup.py 1970-01-01 01:00:00.000000000
+0100
@@ -1,2 +0,0 @@
-# setup.py shim for use with applications that require it.
-__import__("setuptools").setup()