Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-qtconsole for
openSUSE:Factory checked in at 2025-11-24 14:08:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-qtconsole (Old)
and /work/SRC/openSUSE:Factory/.python-qtconsole.new.14147 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-qtconsole"
Mon Nov 24 14:08:58 2025 rev:36 rq:1319158 version:5.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-qtconsole/python-qtconsole.changes
2024-11-18 20:02:00.903151431 +0100
+++
/work/SRC/openSUSE:Factory/.python-qtconsole.new.14147/python-qtconsole.changes
2025-11-24 14:10:27.884486692 +0100
@@ -1,0 +2,9 @@
+Fri Nov 21 16:10:25 UTC 2025 - Ben Greiner <[email protected]>
+
+- Update to 5.7.0
+ * Zoom in/out with Ctrl + mouse wheel.
+ * Add support for IPython 9 theme and colors handling.
+ * Drop support for Python 3.8.
+- Use Qt6 for tests
+
+-------------------------------------------------------------------
Old:
----
qtconsole-5.6.1.tar.gz
New:
----
qtconsole-5.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-qtconsole.spec ++++++
--- /var/tmp/diff_new_pack.4YexKh/_old 2025-11-24 14:10:28.636518290 +0100
+++ /var/tmp/diff_new_pack.4YexKh/_new 2025-11-24 14:10:28.640518458 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-qtconsole
#
-# 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
@@ -22,14 +22,14 @@
%bcond_with libalternatives
%endif
Name: python-qtconsole
-Version: 5.6.1
+Version: 5.7.0
Release: 0
Summary: Jupyter Qt console
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/jupyter/qtconsole
Source0:
https://files.pythonhosted.org/packages/source/q/qtconsole/qtconsole-%{version}.tar.gz
-BuildRequires: %{python_module base >= 3.8}
+BuildRequires: %{python_module base >= 3.9}
BuildRequires: %{python_module jupyter-core}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
@@ -45,6 +45,7 @@
Requires: python-Pygments
Requires: python-QtPy >= 2.4.0
Requires: python-ipykernel >= 4.1
+Requires: python-ipython_pygments_lexers
Requires: python-jupyter-client >= 4.1
Requires: python-jupyter-core
Requires: python-packaging
@@ -67,15 +68,17 @@
%endif
# SECTION test requirements
BuildRequires: %{python_module Pygments}
+BuildRequires: %{python_module PyQt6}
BuildRequires: %{python_module QtPy >= 2.4.0}
BuildRequires: %{python_module flaky}
BuildRequires: %{python_module ipykernel >= 4.1}
+BuildRequires: %{python_module ipython_pygments_lexers}
BuildRequires: %{python_module jupyter-client >= 4.1}
BuildRequires: %{python_module packaging}
+BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module pytest-qt}
BuildRequires: %{python_module pytest-xvfb}
BuildRequires: %{python_module pytest}
-BuildRequires: %{python_module qt5}
BuildRequires: %{python_module traitlets}
# /SECTION
%python_subpackages
++++++ qtconsole-5.6.1.tar.gz -> qtconsole-5.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/PKG-INFO new/qtconsole-5.7.0/PKG-INFO
--- old/qtconsole-5.6.1/PKG-INFO 2024-10-29 00:54:34.228311000 +0100
+++ new/qtconsole-5.7.0/PKG-INFO 2025-09-10 20:57:10.072859300 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: qtconsole
-Version: 5.6.1
+Version: 5.7.0
Summary: Jupyter Qt console
Home-page: http://jupyter.org
Author: Jupyter Development Team
@@ -17,12 +17,12 @@
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
-Requires-Python: >= 3.8
+Classifier: Programming Language :: Python :: 3.13
+Requires-Python: >= 3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: traitlets!=5.2.1,!=5.2.2
@@ -30,14 +30,31 @@
Requires-Dist: jupyter_client>=4.1
Requires-Dist: pygments
Requires-Dist: ipykernel>=4.1
+Requires-Dist: ipython_pygments_lexers
Requires-Dist: qtpy>=2.4.0
Requires-Dist: packaging
Provides-Extra: test
Requires-Dist: flaky; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-qt; extra == "test"
+Requires-Dist: pytest-asyncio; extra == "test"
Provides-Extra: doc
Requires-Dist: Sphinx>=1.3; extra == "doc"
+Dynamic: author
+Dynamic: author-email
+Dynamic: classifier
+Dynamic: description
+Dynamic: description-content-type
+Dynamic: home-page
+Dynamic: keywords
+Dynamic: license
+Dynamic: license-file
+Dynamic: maintainer
+Dynamic: platform
+Dynamic: provides-extra
+Dynamic: requires-dist
+Dynamic: requires-python
+Dynamic: summary
# Jupyter QtConsole
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/docs/source/changelog.rst
new/qtconsole-5.7.0/docs/source/changelog.rst
--- old/qtconsole-5.6.1/docs/source/changelog.rst 2024-10-29
00:50:51.000000000 +0100
+++ new/qtconsole-5.7.0/docs/source/changelog.rst 2025-09-10
20:54:45.000000000 +0200
@@ -3,6 +3,27 @@
Changes in Jupyter Qt console
=============================
+.. _5.7:
+
+5.7
+~~~
+
+5.7.0
+-----
+
+`5.7.0 on GitHub <https://github.com/jupyter/qtconsole/milestones/5.7.0>`__
+
+Additions
++++++++++
+
+* Zoom in/out with Ctrl + mouse wheel.
+* Add support for IPython 9 theme and colors handling.
+
+Changes
++++++++
+
+* Drop support for Python 3.8.
+
.. _5.6:
5.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/qtconsole/_version.py
new/qtconsole-5.7.0/qtconsole/_version.py
--- old/qtconsole-5.6.1/qtconsole/_version.py 2024-10-29 00:52:44.000000000
+0100
+++ new/qtconsole-5.7.0/qtconsole/_version.py 2025-09-10 20:56:43.000000000
+0200
@@ -1,2 +1,2 @@
-version_info = (5, 6, 1)
+version_info = (5, 7, 0)
__version__ = '.'.join(map(str, version_info))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/qtconsole/ansi_code_processor.py
new/qtconsole-5.7.0/qtconsole/ansi_code_processor.py
--- old/qtconsole-5.6.1/qtconsole/ansi_code_processor.py 2024-10-29
00:45:58.000000000 +0100
+++ new/qtconsole-5.7.0/qtconsole/ansi_code_processor.py 2025-09-07
20:55:59.000000000 +0200
@@ -281,6 +281,14 @@
params[:3] = []
elif code == 49:
self.background_color = None
+ elif code >= 90 and code <= 97:
+ # Bright foreground color
+ self.foreground_color = code - 90
+ self.intensity = 1
+ elif code >=100 and code <= 107:
+ # Bright background color
+ self.background_color = code - 100
+ self.intensity = 1
# Recurse with unconsumed parameters.
self.set_sgr_code(params)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/qtconsole/console_widget.py
new/qtconsole-5.7.0/qtconsole/console_widget.py
--- old/qtconsole-5.6.1/qtconsole/console_widget.py 2024-10-29
00:45:58.000000000 +0100
+++ new/qtconsole-5.7.0/qtconsole/console_widget.py 2025-08-05
19:18:12.000000000 +0200
@@ -488,6 +488,26 @@
pos = event.globalPos()
QtWidgets.QToolTip.showText(pos, anchor)
+ elif (
+ etype == QtCore.QEvent.Wheel
+ and self._control_key_down(event.modifiers())
+ ):
+ if sys.platform != 'darwin':
+ if hasattr(event, 'angleDelta'):
+ if event.angleDelta().y() < 0:
+ self._decrease_font_size()
+ elif event.angleDelta().y() > 0:
+ self._increase_font_size()
+ elif hasattr(event, 'delta'):
+ if event.delta() < 0:
+ self._decrease_font_size()
+ elif event.delta() > 0:
+ self._increase_font_size()
+
+ # This is necessary to prevent that the mouse wheel event also
+ # scrolls up and down in this case.
+ return True
+
return super().eventFilter(obj, event)
#---------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/qtconsole/jupyter_widget.py
new/qtconsole-5.7.0/qtconsole/jupyter_widget.py
--- old/qtconsole-5.6.1/qtconsole/jupyter_widget.py 2024-08-28
20:01:04.000000000 +0200
+++ new/qtconsole-5.7.0/qtconsole/jupyter_widget.py 2025-09-07
20:55:59.000000000 +0200
@@ -14,7 +14,7 @@
from qtpy import QtCore, QtGui
-from IPython.lib.lexers import IPython3Lexer
+from ipython_pygments_lexers import IPython3Lexer
from pygments.lexers import get_lexer_by_name
from pygments.util import ClassNotFound
from qtconsole import __version__
@@ -367,8 +367,9 @@
"""
# If a number was not specified, make a prompt number request.
if number is None:
- if self._prompt_requested:
+ if self._prompt_requested or self.kernel_client is None:
# Already asked for prompt, avoid multiple prompts.
+ # Or kernel is not created yet.
return
self._prompt_requested = True
msg_id = self.kernel_client.execute('', silent=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/qtconsole/mainwindow.py
new/qtconsole-5.7.0/qtconsole/mainwindow.py
--- old/qtconsole-5.6.1/qtconsole/mainwindow.py 2024-08-28 20:01:04.000000000
+0200
+++ new/qtconsole-5.7.0/qtconsole/mainwindow.py 2025-09-07 21:02:32.000000000
+0200
@@ -11,7 +11,9 @@
from functools import partial
from threading import Thread
+from IPython.core import release as ipython_release
from jupyter_core.paths import jupyter_runtime_dir
+from packaging.version import parse as parse_version
from pygments.styles import get_all_styles
from qtpy import QtGui, QtCore, QtWidgets
@@ -797,31 +799,53 @@
def set_syntax_style(self, syntax_style):
"""Set up syntax style for the current console."""
- if syntax_style=='bw':
- colors='nocolor'
+ if syntax_style == 'bw':
+ colors = 'nocolor'
+ highlight_color = 'bg:ansiyellow'
elif styles.dark_style(syntax_style):
- colors='linux'
-
+ colors = 'linux'
+ highlight_color = 'bg:ansired'
else:
- colors='lightbg'
+ colors = 'lightbg'
+ highlight_color = 'bg:ansiyellow'
+
self.active_frontend.syntax_style = syntax_style
style_sheet = styles.sheet_from_template(syntax_style, colors)
self.active_frontend.style_sheet = style_sheet
self.active_frontend._syntax_style_changed()
self.active_frontend._style_sheet_changed()
self.active_frontend.reset(clear=True)
- self.active_frontend._execute(
-f"""
+
+ if parse_version(ipython_release.version) >= parse_version("9.0"):
+ colors = colors.replace('nocolor', 'nocolors')
+ traceback_colors_code = f"""
+import IPython.utils.PyColorize
+from IPython.core.ultratb import VerboseTB
+from IPython.utils.PyColorize import Theme, {colors}_theme
+
+base = '{syntax_style}'
+extra_style = {colors}_theme.extra_style
+theme = Theme(
+ 'qtconsole_theme',
+ base,
+ extra_style,
+)
+VerboseTB.tb_highlight = '{highlight_color}'
+IPython.utils.PyColorize.theme_table['qtconsole_theme'] = theme
+get_ipython().run_line_magic('colors', 'qtconsole_theme')
+"""
+ else:
+ traceback_colors_code = f"""
from IPython.core.ultratb import VerboseTB
if getattr(VerboseTB, 'tb_highlight_style', None) is not None:
VerboseTB.tb_highlight_style = '{syntax_style}'
+ VerboseTB.tb_highlight = '{highlight_color}'
elif getattr(VerboseTB, '_tb_highlight_style', None) is not None:
VerboseTB._tb_highlight_style = '{syntax_style}'
-else:
- get_ipython().run_line_magic('colors', '{colors}')
-""",
- True)
-
+ VerboseTB._tb_highlight = '{highlight_color}'
+get_ipython().run_line_magic('colors', '{colors}')
+ """
+ self.active_frontend._execute(traceback_colors_code, True)
def close_active_frontend(self):
self.close_tab(self.active_frontend)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtconsole-5.6.1/qtconsole/tests/test_00_console_widget.py
new/qtconsole-5.7.0/qtconsole/tests/test_00_console_widget.py
--- old/qtconsole-5.6.1/qtconsole/tests/test_00_console_widget.py
2024-08-28 20:01:04.000000000 +0200
+++ new/qtconsole-5.7.0/qtconsole/tests/test_00_console_widget.py
2025-08-05 18:59:49.000000000 +0200
@@ -2,7 +2,6 @@
import unittest
import sys
-from flaky import flaky
import pytest
from qtpy import QtCore, QtGui, QtWidgets
@@ -34,7 +33,7 @@
console.window.close()
-@flaky(max_runs=3)
[email protected](max_runs=3)
@pytest.mark.parametrize(
"debug", [True, False])
def test_scroll(qtconsole, qtbot, debug):
@@ -141,7 +140,7 @@
assert scroll_bar.value() > prev_position
-@flaky(max_runs=3)
[email protected](max_runs=3)
def test_input(qtconsole, qtbot):
"""
Test input function
@@ -174,7 +173,7 @@
assert 'name: test\ntest' in control.toPlainText()
-@flaky(max_runs=3)
[email protected](max_runs=3)
def test_debug(qtconsole, qtbot):
"""
Make sure the cursor works while debugging
@@ -208,7 +207,7 @@
assert control.toPlainText().strip().split()[-1] == "abcd"
-@flaky(max_runs=15)
[email protected](max_runs=15)
def test_input_and_print(qtconsole, qtbot):
"""
Test that we print correctly mixed input and print statements.
@@ -260,7 +259,7 @@
assert output in control.toPlainText()
-@flaky(max_runs=5)
[email protected](max_runs=5)
@pytest.mark.skipif(os.name == 'nt', reason="no SIGTERM on Windows")
def test_restart_after_kill(qtconsole, qtbot):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/qtconsole/tests/test_comms.py
new/qtconsole-5.7.0/qtconsole/tests/test_comms.py
--- old/qtconsole-5.6.1/qtconsole/tests/test_comms.py 2024-08-28
20:01:04.000000000 +0200
+++ new/qtconsole-5.7.0/qtconsole/tests/test_comms.py 2025-08-05
18:59:49.000000000 +0200
@@ -3,7 +3,7 @@
from queue import Empty
import unittest
-from flaky import flaky
+import pytest
from qtconsole.manager import QtKernelManager
@@ -55,7 +55,7 @@
pass
return msg
- @flaky(max_runs=10)
+ @pytest.mark.flaky(max_runs=10)
def test_kernel_to_frontend(self):
"""Communicate from the kernel to the frontend."""
comm_manager = self.comm_manager
@@ -109,7 +109,7 @@
msg = self._get_next_msg()
assert msg['header']['msg_type'] == 'stream'
- @flaky(max_runs=10)
+ @pytest.mark.flaky(max_runs=10)
def test_frontend_to_kernel(self):
"""Communicate from the frontend to the kernel."""
comm_manager = self.comm_manager
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtconsole-5.6.1/qtconsole/tests/test_inprocess_kernel.py
new/qtconsole-5.7.0/qtconsole/tests/test_inprocess_kernel.py
--- old/qtconsole-5.6.1/qtconsole/tests/test_inprocess_kernel.py
2024-10-26 20:19:26.000000000 +0200
+++ new/qtconsole-5.7.0/qtconsole/tests/test_inprocess_kernel.py
2025-08-05 18:59:49.000000000 +0200
@@ -3,29 +3,28 @@
# Copyright (c) Jupyter Development Team.
# Distributed under the terms of the Modified BSD License.
-import unittest
-
from qtconsole.inprocess import QtInProcessKernelManager
+from inspect import iscoroutinefunction
+import pytest
-class InProcessTests(unittest.TestCase):
[email protected]
+async def test_execute():
+ kernel_manager = QtInProcessKernelManager()
+ if iscoroutinefunction(kernel_manager.start_kernel):
+ await kernel_manager.start_kernel()
+ else:
+ kernel_manager.start_kernel()
+ kernel_client = kernel_manager.client()
+
+ """Test execution of shell commands."""
+ # check that closed works as expected
+ assert not kernel_client.iopub_channel.closed()
+
+ # check that running code works
+ kernel_client.execute("a=1")
+ assert kernel_manager.kernel is not None, "kernel has likely not started"
+ assert kernel_manager.kernel.shell.user_ns.get("a") == 1
- def setUp(self):
- """Open an in-process kernel."""
- self.kernel_manager = QtInProcessKernelManager()
- self.kernel_manager.start_kernel()
- self.kernel_client = self.kernel_manager.client()
-
- def tearDown(self):
- """Shutdown the in-process kernel. """
- self.kernel_client.stop_channels()
- self.kernel_manager.shutdown_kernel()
-
- def test_execute(self):
- """Test execution of shell commands."""
- # check that closed works as expected
- assert not self.kernel_client.iopub_channel.closed()
-
- # check that running code works
- self.kernel_client.execute('a=1')
- assert self.kernel_manager.kernel.shell.user_ns.get('a') == 1
+ kernel_client.stop_channels()
+ kernel_manager.shutdown_kernel()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/qtconsole.egg-info/PKG-INFO
new/qtconsole-5.7.0/qtconsole.egg-info/PKG-INFO
--- old/qtconsole-5.6.1/qtconsole.egg-info/PKG-INFO 2024-10-29
00:54:34.000000000 +0100
+++ new/qtconsole-5.7.0/qtconsole.egg-info/PKG-INFO 2025-09-10
20:57:09.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 2.1
+Metadata-Version: 2.4
Name: qtconsole
-Version: 5.6.1
+Version: 5.7.0
Summary: Jupyter Qt console
Home-page: http://jupyter.org
Author: Jupyter Development Team
@@ -17,12 +17,12 @@
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
-Requires-Python: >= 3.8
+Classifier: Programming Language :: Python :: 3.13
+Requires-Python: >= 3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: traitlets!=5.2.1,!=5.2.2
@@ -30,14 +30,31 @@
Requires-Dist: jupyter_client>=4.1
Requires-Dist: pygments
Requires-Dist: ipykernel>=4.1
+Requires-Dist: ipython_pygments_lexers
Requires-Dist: qtpy>=2.4.0
Requires-Dist: packaging
Provides-Extra: test
Requires-Dist: flaky; extra == "test"
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-qt; extra == "test"
+Requires-Dist: pytest-asyncio; extra == "test"
Provides-Extra: doc
Requires-Dist: Sphinx>=1.3; extra == "doc"
+Dynamic: author
+Dynamic: author-email
+Dynamic: classifier
+Dynamic: description
+Dynamic: description-content-type
+Dynamic: home-page
+Dynamic: keywords
+Dynamic: license
+Dynamic: license-file
+Dynamic: maintainer
+Dynamic: platform
+Dynamic: provides-extra
+Dynamic: requires-dist
+Dynamic: requires-python
+Dynamic: summary
# Jupyter QtConsole
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/qtconsole.egg-info/requires.txt
new/qtconsole-5.7.0/qtconsole.egg-info/requires.txt
--- old/qtconsole-5.6.1/qtconsole.egg-info/requires.txt 2024-10-29
00:54:34.000000000 +0100
+++ new/qtconsole-5.7.0/qtconsole.egg-info/requires.txt 2025-09-10
20:57:09.000000000 +0200
@@ -3,6 +3,7 @@
jupyter_client>=4.1
pygments
ipykernel>=4.1
+ipython_pygments_lexers
qtpy>=2.4.0
packaging
@@ -13,3 +14,4 @@
flaky
pytest
pytest-qt
+pytest-asyncio
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtconsole-5.6.1/setup.py new/qtconsole-5.7.0/setup.py
--- old/qtconsole-5.6.1/setup.py 2024-08-28 20:01:04.000000000 +0200
+++ new/qtconsole-5.7.0/setup.py 2025-09-10 20:46:29.000000000 +0200
@@ -13,8 +13,8 @@
import sys
v = sys.version_info
-if v[0] >= 3 and v[:2] < (3, 7):
- error = "ERROR: %s requires Python version 3.8 or above." % name
+if v[0] >= 3 and v[:2] < (3, 8):
+ error = "ERROR: %s requires Python version 3.9 or above." % name
print(error, file=sys.stderr)
sys.exit(1)
@@ -63,19 +63,20 @@
license = 'BSD',
platforms = "Linux, Mac OS X, Windows",
keywords = ['Interactive', 'Interpreter', 'Shell'],
- python_requires = '>= 3.8',
+ python_requires = '>= 3.9',
install_requires = [
'traitlets!=5.2.1,!=5.2.2',
'jupyter_core',
'jupyter_client>=4.1',
'pygments',
'ipykernel>=4.1', # not a real dependency, but require the reference
kernel
+ 'ipython_pygments_lexers',
'qtpy>=2.4.0',
'packaging'
],
- extras_require = {
- 'test': ['flaky', 'pytest', 'pytest-qt'],
- 'doc': 'Sphinx>=1.3',
+ extras_require={
+ "test": ["flaky", "pytest", "pytest-qt", "pytest-asyncio"],
+ "doc": "Sphinx>=1.3",
},
entry_points = {
'gui_scripts': [
@@ -89,11 +90,11 @@
'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',
],
)