Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jupyter-kernel-test for
openSUSE:Factory checked in at 2023-09-25 20:03:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter-kernel-test (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter-kernel-test.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter-kernel-test"
Mon Sep 25 20:03:17 2023 rev:4 rq:1113301 version:0.6.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-jupyter-kernel-test/python-jupyter-kernel-test.changes
2023-02-05 19:23:16.376621793 +0100
+++
/work/SRC/openSUSE:Factory/.python-jupyter-kernel-test.new.1770/python-jupyter-kernel-test.changes
2023-09-25 20:58:31.994082252 +0200
@@ -1,0 +2,7 @@
+Sun Sep 24 18:02:36 UTC 2023 - Ben Greiner <[email protected]>
+
+- Update to 0.6.0
+ * Add test for Jep #65 #134 (@Hind-M)
+ * Drop Python 3.7 support #135 (@blink1073)
+
+-------------------------------------------------------------------
Old:
----
jupyter_kernel_test-0.5.0.tar.gz
New:
----
jupyter_kernel_test-0.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter-kernel-test.spec ++++++
--- /var/tmp/diff_new_pack.YYY5Gv/_old 2023-09-25 20:58:33.038119968 +0200
+++ /var/tmp/diff_new_pack.YYY5Gv/_new 2023-09-25 20:58:33.038119968 +0200
@@ -17,13 +17,13 @@
Name: python-jupyter-kernel-test
-Version: 0.5.0
+Version: 0.6.0
Release: 0
Summary: A tool for testing Jupyter kernels
License: BSD-3-Clause
URL: https://github.com/jupyter/jupyter_kernel_test
Source:
https://files.pythonhosted.org/packages/source/j/jupyter_kernel_test/jupyter_kernel_test-%{version}.tar.gz
-BuildRequires: %{python_module base >= 3.7}
+BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module hatchling >= 1.5}
BuildRequires: %{python_module pip}
BuildRequires: fdupes
++++++ jupyter_kernel_test-0.5.0.tar.gz -> jupyter_kernel_test-0.6.0.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_kernel_test-0.5.0/.github/workflows/tests.yml
new/jupyter_kernel_test-0.6.0/.github/workflows/tests.yml
--- old/jupyter_kernel_test-0.5.0/.github/workflows/tests.yml 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/.github/workflows/tests.yml 2020-02-02
01:00:00.000000000 +0100
@@ -25,12 +25,12 @@
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
- python-version: ["3.7", "3.11"]
+ python-version: ["3.8", "3.11"]
include:
- os: windows-latest
python-version: "3.9"
- os: macos-latest
- python-version: "3.8"
+ python-version: "3.9"
- os: ubuntu-latest
python-version: "3.10"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/.pre-commit-config.yaml
new/jupyter_kernel_test-0.6.0/.pre-commit-config.yaml
--- old/jupyter_kernel_test-0.5.0/.pre-commit-config.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/.pre-commit-config.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -19,7 +19,7 @@
- id: trailing-whitespace
- repo: https://github.com/python-jsonschema/check-jsonschema
- rev: 0.19.2
+ rev: 0.23.3
hooks:
- id: check-github-workflows
@@ -31,12 +31,12 @@
[mdformat-gfm, mdformat-frontmatter, mdformat-footnote]
- repo: https://github.com/psf/black
- rev: 22.12.0
+ rev: 23.7.0
hooks:
- id: black
- - repo: https://github.com/charliermarsh/ruff-pre-commit
- rev: v0.0.217
+ - repo: https://github.com/astral-sh/ruff-pre-commit
+ rev: v0.0.281
hooks:
- id: ruff
args: ["--fix"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/CHANGELOG.md
new/jupyter_kernel_test-0.6.0/CHANGELOG.md
--- old/jupyter_kernel_test-0.5.0/CHANGELOG.md 2020-02-02 01:00:00.000000000
+0100
+++ new/jupyter_kernel_test-0.6.0/CHANGELOG.md 2020-02-02 01:00:00.000000000
+0100
@@ -2,6 +2,27 @@
<!-- <START NEW CHANGELOG ENTRY> -->
+## 0.6.0
+
+([Full
Changelog](https://github.com/jupyter/jupyter_kernel_test/compare/v0.5.0...78b8f14cf8a7f6c4fba4cb20edd8fa293ae7a602))
+
+### Enhancements made
+
+- Add test for Jep #65
[#134](https://github.com/jupyter/jupyter_kernel_test/pull/134)
([@Hind-M](https://github.com/Hind-M))
+
+### Maintenance and upkeep improvements
+
+- Drop Python 3.7 support
[#135](https://github.com/jupyter/jupyter_kernel_test/pull/135)
([@blink1073](https://github.com/blink1073))
+- Add more linting
[#127](https://github.com/jupyter/jupyter_kernel_test/pull/127)
([@blink1073](https://github.com/blink1073))
+
+### Contributors to this release
+
+([GitHub contributors page for this
release](https://github.com/jupyter/jupyter_kernel_test/graphs/contributors?from=2023-01-27&to=2023-08-29&type=c))
+
+[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Ablink1073+updated%3A2023-01-27..2023-08-29&type=Issues)
|
[@Hind-M](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3AHind-M+updated%3A2023-01-27..2023-08-29&type=Issues)
|
[@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Apre-commit-ci+updated%3A2023-01-27..2023-08-29&type=Issues)
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
## 0.5.0
([Full
Changelog](https://github.com/jupyter/jupyter_kernel_test/compare/v0.4.5...c3ffbd013b1cdd32d7273d4fbe9ee0ab61af7a1e))
@@ -25,8 +46,6 @@
[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Ablink1073+updated%3A2022-08-22..2023-01-27&type=Issues)
|
[@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Adependabot+updated%3A2022-08-22..2023-01-27&type=Issues)
|
[@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_kernel_test+involves%3Apre-commit-ci+updated%3A2022-08-22..2023-01-27&type=Issues)
-<!-- <END NEW CHANGELOG ENTRY> -->
-
## 0.4.5
([Full
Changelog](https://github.com/jupyter/jupyter_kernel_test/compare/v0.4.4...85c23f820f8127808f60dab6f5871e8d26c01192))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/PKG-INFO
new/jupyter_kernel_test-0.6.0/PKG-INFO
--- old/jupyter_kernel_test-0.5.0/PKG-INFO 2020-02-02 01:00:00.000000000
+0100
+++ new/jupyter_kernel_test-0.6.0/PKG-INFO 2020-02-02 01:00:00.000000000
+0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jupyter_kernel_test
-Version: 0.5.0
+Version: 0.6.0
Project-URL: Homepage, https://github.com/jupyter/jupyter_kernel_test
Author-email: Jupyter Development Team <[email protected]>
License: Copyright (c) 2015-2021 Project Jupyter Contributors
@@ -35,7 +35,7 @@
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Testing
-Requires-Python: >=3.7
+Requires-Python: >=3.8
Requires-Dist: jsonschema
Requires-Dist: jupyter-client>=6.1.13
Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_kernel_test-0.5.0/jupyter_kernel_test/__init__.py
new/jupyter_kernel_test-0.6.0/jupyter_kernel_test/__init__.py
--- old/jupyter_kernel_test-0.5.0/jupyter_kernel_test/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/jupyter_kernel_test/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -15,7 +15,7 @@
TIMEOUT = 15
-__version__ = "0.5.0"
+__version__ = "0.6.0"
def ensure_sync(func):
@@ -68,7 +68,7 @@
)
self.assertTrue(reply["content"]["language_info"]["file_extension"].startswith("."))
- def execute_helper(
+ def execute_helper( # noqa
self, code, timeout=TIMEOUT, silent=False, store_history=True,
stop_on_error=True
):
msg_id = self.kc.execute(
@@ -100,7 +100,7 @@
def test_execute_stdout(self):
if not self.code_hello_world:
- raise SkipTest("No code hello world")
+ raise SkipTest("No code hello world") # noqa
self.flush_channels()
reply, output_msgs = self.execute_helper(code=self.code_hello_world)
@@ -121,7 +121,7 @@
def test_execute_stderr(self):
if not self.code_stderr:
- raise SkipTest("No code stderr")
+ raise SkipTest("No code stderr") # noqa
self.flush_channels()
reply, output_msgs = self.execute_helper(code=self.code_stderr)
@@ -148,7 +148,7 @@
def test_completion(self):
if not self.completion_samples:
- raise SkipTest("No completion samples")
+ raise SkipTest("No completion samples") # noqa
for sample in self.completion_samples:
with self.subTest(text=sample["text"]):
@@ -174,7 +174,7 @@
if not (
self.complete_code_samples or self.incomplete_code_samples or
self.invalid_code_samples
):
- raise SkipTest("Not testing is_complete")
+ raise SkipTest("Not testing is_complete") # noqa
self.flush_channels()
@@ -194,7 +194,7 @@
def test_pager(self):
if not self.code_page_something:
- raise SkipTest("No code page something")
+ raise SkipTest("No code page something") # noqa
self.flush_channels()
@@ -210,7 +210,7 @@
def test_error(self):
if not self.code_generate_error:
- raise SkipTest("No code generate error")
+ raise SkipTest("No code generate error") # noqa
self.flush_channels()
@@ -223,7 +223,7 @@
def test_execute_result(self):
if not self.code_execute_result:
- raise SkipTest("No code execute result")
+ raise SkipTest("No code execute result") # noqa
for sample in self.code_execute_result:
with self.subTest(code=sample["code"]):
@@ -246,13 +246,14 @@
if "result" in sample:
self.assertEqual(msg["content"]["data"][mime],
sample["result"])
if not found:
- raise AssertionError("execute_result message not found")
+ emsg = "execute_result message not found"
+ raise AssertionError(emsg)
code_display_data: list = []
def test_display_data(self):
if not self.code_display_data:
- raise SkipTest("No code display data")
+ raise SkipTest("No code display data") # noqa
for sample in self.code_display_data:
with self.subTest(code=sample["code"]):
@@ -270,7 +271,8 @@
continue
self.assertIn(sample["mime"], msg["content"]["data"])
if not found:
- raise AssertionError("display_data message not found")
+ emsg = "display_data message not found"
+ raise AssertionError(emsg)
# this should match one of the values in code_execute_result
code_history_pattern = ""
@@ -292,7 +294,7 @@
def test_history(self):
if not self.code_execute_result:
- raise SkipTest("No code execute result")
+ raise SkipTest("No code execute result") # noqa
codes = [s["code"] for s in self.code_execute_result]
_ = [s.get("result", "") for s in self.code_execute_result]
@@ -302,7 +304,7 @@
with self.subTest(hist_access_type="tail"):
if "tail" not in self.supported_history_operations:
- raise SkipTest("History tail not suported")
+ raise SkipTest("History tail not suported") # noqa
reply = self.history_helper(codes, output=False, raw=True,
hist_access_type="tail", n=n)
self.assertEqual(len(reply["content"]["history"]), n)
self.assertEqual(len(reply["content"]["history"][0]), 3)
@@ -317,9 +319,9 @@
with self.subTest(hist_access_type="range"):
if "range" not in self.supported_history_operations:
- raise SkipTest("History range not supported")
+ raise SkipTest("History range not supported") # noqa
if session is None:
- raise SkipTest("No session")
+ raise SkipTest("No session") # noqa
reply = self.history_helper(
codes,
output=False,
@@ -335,10 +337,9 @@
with self.subTest(hist_access_type="search"):
if not self.code_history_pattern:
- raise SkipTest("No code history pattern")
+ raise SkipTest("No code history pattern") # noqa
if "search" not in self.supported_history_operations:
- raise SkipTest("History search not supported")
-
+ raise SkipTest("History search not supported") # noqa
with self.subTest(subsearch="normal"):
reply = self.history_helper(
codes,
@@ -373,7 +374,7 @@
def test_inspect(self):
if not self.code_inspect_sample:
- raise SkipTest("No code inspect sample")
+ raise SkipTest("No code inspect sample") # noqa
self.flush_channels()
msg_id = self.kc.inspect(self.code_inspect_sample)
@@ -388,7 +389,7 @@
def test_clear_output(self):
if not self.code_clear_output:
- raise SkipTest("No code clear output")
+ raise SkipTest("No code clear output") # noqa
self.flush_channels()
reply, output_msgs = self.execute_helper(code=self.code_clear_output)
@@ -402,4 +403,40 @@
else:
continue
if not found:
- raise AssertionError("clear_output message not found")
+ emsg = "clear_output message not found"
+ raise AssertionError(emsg)
+
+
+class IopubWelcomeTests(TestCase):
+ kernel_name = "python3"
+ kc: BlockingKernelClient
+ km: KernelManager
+
+ @classmethod
+ def setUpClass(cls):
+ cls.km = KernelManager(kernel_name=cls.kernel_name)
+ cls.km.start_kernel()
+ cls.kc = cls.km.client()
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.kc.stop_channels()
+ cls.km.shutdown_kernel()
+
+ support_iopub_welcome = False
+
+ def test_recv_iopub_welcome_msg(self):
+ if not self.support_iopub_welcome:
+ raise SkipTest("Iopub welcome messages are not supported") # noqa
+
+ self.kc.start_channels()
+ while True:
+ msg = self.kc.get_iopub_msg()
+ if msg:
+ self.assertEqual(msg["header"]["msg_type"], "iopub_welcome")
+ self.assertEqual(msg["msg_type"], "iopub_welcome")
+ self.assertEqual(
+ msg["content"]["subscription"], ""
+ ) # Default: empty topic means subscription to all topics
+
+ break
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/jupyter_kernel_test-0.5.0/jupyter_kernel_test/msgspec_v5.py
new/jupyter_kernel_test-0.6.0/jupyter_kernel_test/msgspec_v5.py
--- old/jupyter_kernel_test-0.5.0/jupyter_kernel_test/msgspec_v5.py
2020-02-02 01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/jupyter_kernel_test/msgspec_v5.py
2020-02-02 01:00:00.000000000 +0100
@@ -116,14 +116,14 @@
msg_version_s = msg["header"]["version"]
m = re.match(r"(\d+)\.(\d+)", msg_version_s)
if not m:
- raise ValidationError("Version {} not like 'x.y'")
+ emsg = "Version {} not like 'x.y'"
+ raise ValidationError(emsg)
version_minor = int(m.group(2))
if msg_type is not None:
if msg["header"]["msg_type"] != msg_type:
- raise ValidationError(
- "Message type {!r} != {!r}".format(msg["header"]["msg_type"],
msg_type)
- )
+ emsg = "Message type {!r} !=
{!r}".format(msg["header"]["msg_type"], msg_type)
+ raise ValidationError(emsg)
else:
msg_type = msg["header"]["msg_type"]
@@ -131,15 +131,18 @@
if version_minor <= protocol_version[1]:
unx_top = set(msg) - set(msg_schema["properties"])
if unx_top:
- raise ValidationError(f"Unexpected keys: {unx_top}")
+ msg = f"Unexpected keys: {unx_top}"
+ raise ValidationError(msg)
unx_header = set(msg["header"]) - set(header_part["properties"])
if unx_header:
- raise ValidationError(f"Unexpected keys in header: {unx_header}")
+ emsg = f"Unexpected keys in header: {unx_header}"
+ raise ValidationError(emsg)
# Check the parent id
if "reply" in msg_type and parent_id and msg["parent_header"]["msg_id"] !=
parent_id:
- raise ValidationError("Parent header does not match expected")
+ emsg = "Parent header does not match expected"
+ raise ValidationError(emsg)
if msg_type in reply_msgs_using_status:
# Most _reply messages have common 'error' and 'abort' structures
@@ -154,7 +157,8 @@
elif status == "ok":
content_vdor = get_msg_content_validator(msg_type, version_minor)
else:
- raise ValidationError(f"status {status!r} should be
ok/error/abort")
+ msg = f"status {status!r} should be ok/error/abort"
+ raise ValidationError(msg)
else:
content_vdor = get_msg_content_validator(msg_type, version_minor)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/pyproject.toml
new/jupyter_kernel_test-0.6.0/pyproject.toml
--- old/jupyter_kernel_test-0.5.0/pyproject.toml 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/pyproject.toml 2020-02-02
01:00:00.000000000 +0100
@@ -12,7 +12,7 @@
"Programming Language :: Python :: 3",
"Topic :: Software Development :: Testing"
]
-requires-python = ">=3.7"
+requires-python = ">=3.8"
dependencies = [
"jupyter_client >=6.1.13",
"jsonschema"
@@ -48,10 +48,10 @@
[tool.hatch.envs.lint]
dependencies = [
- "black[jupyter]==22.12.0",
+ "black[jupyter]==23.3.0",
"mdformat>0.7",
"mdformat-gfm>=0.3.5",
- "ruff==0.0.217"
+ "ruff==0.0.276"
]
detached = true
[tool.hatch.envs.lint.scripts]
@@ -91,12 +91,15 @@
target-version = "py37"
line-length = 100
select = [
- "A", "B", "C", "E", "F", "FBT", "I", "N", "Q", "RUF", "S", "T",
- "UP", "W", "YTT",
+ "A", "B", "C", "DTZ", "E", "EM", "F", "FBT", "I", "ICN", "ISC", "N",
+ "PLC", "PLE", "PLR", "PLW", "Q", "RUF", "S", "SIM", "T", "TID", "UP",
+ "W", "YTT",
]
ignore = [
# FBT002 Boolean default value in function definition
"FBT002", "FBT003",
+ # RUF012 Mutable class attributes should be annotated with `typing.ClassVar`
+ "RUF012",
]
unfixable = [
# Don't touch print statements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/test_ipykernel.py
new/jupyter_kernel_test-0.6.0/test_ipykernel.py
--- old/jupyter_kernel_test-0.5.0/test_ipykernel.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/test_ipykernel.py 2020-02-02
01:00:00.000000000 +0100
@@ -9,7 +9,6 @@
class IPyKernelTests(jkt.KernelTests):
-
# REQUIRED
# the kernel to be tested
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/test_irkernel.py
new/jupyter_kernel_test-0.6.0/test_irkernel.py
--- old/jupyter_kernel_test-0.5.0/test_irkernel.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/test_irkernel.py 2020-02-02
01:00:00.000000000 +0100
@@ -20,7 +20,7 @@
try:
cls.km, cls.kc = jkt.start_new_kernel(kernel_name=cls.kernel_name)
except NoSuchKernel:
- raise unittest.SkipTest("No ir kernel installed") from None
+ raise unittest.SkipTest("No ir kernel installed") from None # noqa
language_name = "R"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/jupyter_kernel_test-0.5.0/test_xeus_cling.py
new/jupyter_kernel_test-0.6.0/test_xeus_cling.py
--- old/jupyter_kernel_test-0.5.0/test_xeus_cling.py 2020-02-02
01:00:00.000000000 +0100
+++ new/jupyter_kernel_test-0.6.0/test_xeus_cling.py 2020-02-02
01:00:00.000000000 +0100
@@ -19,7 +19,7 @@
try:
cls.km, cls.kc = jkt.start_new_kernel(kernel_name=cls.kernel_name)
except NoSuchKernel:
- raise unittest.SkipTest("Xeus-Cling Kernel not installed") from
None
+ raise unittest.SkipTest("Xeus-Cling Kernel not installed") from
None # noqa
language_name = "c++"