Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-jupyter-core for openSUSE:Factory checked in at 2023-10-16 22:33:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-jupyter-core (Old) and /work/SRC/openSUSE:Factory/.python-jupyter-core.new.20540 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter-core" Mon Oct 16 22:33:12 2023 rev:20 rq:1117894 version:5.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-jupyter-core/python-jupyter-core.changes 2023-10-08 12:22:48.667849243 +0200 +++ /work/SRC/openSUSE:Factory/.python-jupyter-core.new.20540/python-jupyter-core.changes 2023-10-16 22:33:23.596706562 +0200 @@ -1,0 +2,7 @@ +Sun Oct 15 15:28:47 UTC 2023 - Ben Greiner <c...@bnavigator.de> + +- Update to 5.4.0 + * Add python 3.12 support #367 (@blink1073) + * Update typings for traitlets 5.11 #366 (@blink1073) + +------------------------------------------------------------------- Old: ---- jupyter_core-5.3.2.tar.gz New: ---- jupyter_core-5.4.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-jupyter-core.spec ++++++ --- /var/tmp/diff_new_pack.uHMfYg/_old 2023-10-16 22:33:27.316840746 +0200 +++ /var/tmp/diff_new_pack.uHMfYg/_new 2023-10-16 22:33:27.316840746 +0200 @@ -32,7 +32,7 @@ %endif Name: python-jupyter-core%{psuffix} -Version: 5.3.2 +Version: 5.4.0 Release: 0 Summary: Base package on which Jupyter projects rely License: BSD-3-Clause @@ -112,6 +112,8 @@ donttest="test_jupyter_path_prefer_env or test_jupyter_config_path_prefer_env" # we changed the xdg path donttest="$donttest or test_config_dir_linux" +# async failure +donttest="$donttest or test_ensure_async" %pytest -k "not ($donttest)" %endif ++++++ jupyter_core-5.3.2.tar.gz -> jupyter_core-5.4.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/.github/workflows/test.yml new/jupyter_core-5.4.0/.github/workflows/test.yml --- old/jupyter_core-5.3.2/.github/workflows/test.yml 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/.github/workflows/test.yml 2020-02-02 01:00:00.000000000 +0100 @@ -28,12 +28,14 @@ fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python-version: ["3.8", "3.11"] + python-version: ["3.8", "3.12"] include: - os: windows-latest python-version: "3.9" - os: ubuntu-latest - python-version: "pypy-3.8" + python-version: "3.11" + - os: ubuntu-latest + python-version: "pypy-3.9" - os: macos-latest python-version: "3.10" steps: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/CHANGELOG.md new/jupyter_core-5.4.0/CHANGELOG.md --- old/jupyter_core-5.3.2/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100 @@ -2,6 +2,23 @@ <!-- <START NEW CHANGELOG ENTRY> --> +## 5.4.0 + +([Full Changelog](https://github.com/jupyter/jupyter_core/compare/v5.3.2...d6a748262a44334f27008e8c90d2557f46481f5b)) + +### Maintenance and upkeep improvements + +- Add python 3.12 support [#367](https://github.com/jupyter/jupyter_core/pull/367) ([@blink1073](https://github.com/blink1073)) +- Update typings for traitlets 5.11 [#366](https://github.com/jupyter/jupyter_core/pull/366) ([@blink1073](https://github.com/blink1073)) + +### Contributors to this release + +([GitHub contributors page for this release](https://github.com/jupyter/jupyter_core/graphs/contributors?from=2023-09-27&to=2023-10-10&type=c)) + +[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_core+involves%3Ablink1073+updated%3A2023-09-27..2023-10-10&type=Issues) | [@davidbrochart](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_core+involves%3Adavidbrochart+updated%3A2023-09-27..2023-10-10&type=Issues) | [@jamescooke](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_core+involves%3Ajamescooke+updated%3A2023-09-27..2023-10-10&type=Issues) + +<!-- <END NEW CHANGELOG ENTRY> --> + ## 5.3.2 ([Full Changelog](https://github.com/jupyter/jupyter_core/compare/v5.3.1...0cf041784533c56da138a0947b6db29999790247)) @@ -21,8 +38,6 @@ [@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_core+involves%3Ablink1073+updated%3A2023-06-14..2023-09-27&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_core+involves%3Adependabot+updated%3A2023-06-14..2023-09-27&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fjupyter_core+involves%3Apre-commit-ci+updated%3A2023-06-14..2023-09-27&type=Issues) -<!-- <END NEW CHANGELOG ENTRY> --> - ## 5.3.1 ([Full Changelog](https://github.com/jupyter/jupyter_core/compare/v5.3.0...c64421919f6627f82c8899018bba0836760331f4)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/PKG-INFO new/jupyter_core-5.4.0/PKG-INFO --- old/jupyter_core-5.3.2/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: jupyter_core -Version: 5.3.2 +Version: 5.4.0 Summary: Jupyter core package. A base package on which Jupyter projects rely. Project-URL: Homepage, https://jupyter.org Project-URL: Documentation, https://jupyter-core.readthedocs.io/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/jupyter_core/application.py new/jupyter_core-5.4.0/jupyter_core/application.py --- old/jupyter_core-5.3.2/jupyter_core/application.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/jupyter_core/application.py 2020-02-02 01:00:00.000000000 +0100 @@ -37,7 +37,7 @@ base_aliases: dict[str, t.Any] = {} if isinstance(Application.aliases, dict): # traitlets 5 - base_aliases.update(Application.aliases) # type:ignore[arg-type] + base_aliases.update(Application.aliases) _jupyter_aliases = { "log-level": "Application.log_level", "config": "JupyterApp.config_file", @@ -47,7 +47,7 @@ base_flags: dict[str, t.Any] = {} if isinstance(Application.flags, dict): # traitlets 5 - base_flags.update(Application.flags) # type:ignore[arg-type] + base_flags.update(Application.flags) _jupyter_flags: dict[str, t.Any] = { "debug": ( {"Application": {"log_level": logging.DEBUG}}, @@ -72,8 +72,8 @@ name = "jupyter" # override in subclasses description = "A Jupyter Application" - aliases = base_aliases # type:ignore[assignment] - flags = base_flags # type:ignore[assignment] + aliases = base_aliases + flags = base_flags def _log_level_default(self) -> int: return logging.INFO @@ -156,8 +156,6 @@ return config_text = self.generate_config_file() - if isinstance(config_text, bytes): - config_text = config_text.decode("utf8") print("Writing default config to: %s" % config_file) ensure_dir_exists(os.path.abspath(os.path.dirname(config_file)), 0o700) with open(config_file, mode="w", encoding="utf-8") as f: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/jupyter_core/command.py new/jupyter_core-5.4.0/jupyter_core/command.py --- old/jupyter_core-5.3.2/jupyter_core/command.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/jupyter_core/command.py 2020-02-02 01:00:00.000000000 +0100 @@ -209,7 +209,7 @@ if cwords and len(cwords) > 1 and not cwords[1].startswith("-"): # If first completion word looks like a subcommand, # increment word from which to start handling arguments - increment_argcomplete_index() # type:ignore[no-untyped-call] + increment_argcomplete_index() return cwords else: # Otherwise no subcommand, directly autocomplete and exit diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/jupyter_core/utils/__init__.py new/jupyter_core-5.4.0/jupyter_core/utils/__init__.py --- old/jupyter_core-5.3.2/jupyter_core/utils/__init__.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/jupyter_core/utils/__init__.py 2020-02-02 01:00:00.000000000 +0100 @@ -160,12 +160,17 @@ pass # Run the loop for this thread. - try: - loop = asyncio.get_event_loop() - except RuntimeError: - loop = asyncio.new_event_loop() - asyncio.set_event_loop(loop) - return loop.run_until_complete(inner) + # In Python 3.12, a deprecation warning is raised, which + # may later turn into a RuntimeError. We handle both + # cases. + with warnings.catch_warnings(): + warnings.simplefilter("ignore", DeprecationWarning) + try: + loop = asyncio.get_event_loop() + except RuntimeError: + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + return loop.run_until_complete(inner) wrapped.__doc__ = coro.__doc__ return wrapped diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/jupyter_core/version.py new/jupyter_core-5.4.0/jupyter_core/version.py --- old/jupyter_core-5.3.2/jupyter_core/version.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/jupyter_core/version.py 2020-02-02 01:00:00.000000000 +0100 @@ -5,7 +5,7 @@ from typing import List # Version string must appear intact for hatch versioning -__version__ = "5.3.2" +__version__ = "5.4.0" # Build up version_info tuple for backwards compatibility pattern = r"(?P<major>\d+).(?P<minor>\d+).(?P<patch>\d+)(?P<rest>.*)" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/pyproject.toml new/jupyter_core-5.4.0/pyproject.toml --- old/jupyter_core-5.3.2/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100 @@ -88,7 +88,7 @@ [tool.hatch.envs.typing] features = ["test"] -dependencies = ["mypy>=1.5.1", "traitlets>=5.10.1"] +dependencies = ["mypy>=1.5.1", "traitlets>=5.11.2"] [tool.hatch.envs.typing.scripts] test = "mypy --install-types --non-interactive {args}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/tests/test_async.py new/jupyter_core-5.4.0/tests/test_async.py --- old/jupyter_core-5.3.2/tests/test_async.py 2020-02-02 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/tests/test_async.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,34 +0,0 @@ -"""Tests for async helper functions""" - -# Copyright (c) Jupyter Development Team. -# Distributed under the terms of the Modified BSD License. - -import asyncio - -from jupyter_core.utils import ensure_async, run_sync - - -async def afunc(): - return "afunc" - - -def func(): - return "func" - - -sync_afunc = run_sync(afunc) - - -def test_ensure_async(): - async def main(): - assert await ensure_async(afunc()) == "afunc" - assert await ensure_async(func()) == "func" - - asyncio.run(main()) - - -def test_run_sync(): - async def main(): - assert sync_afunc() == "afunc" - - asyncio.run(main()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyter_core-5.3.2/tests/test_utils.py new/jupyter_core-5.4.0/tests/test_utils.py --- old/jupyter_core-5.3.2/tests/test_utils.py 1970-01-01 01:00:00.000000000 +0100 +++ new/jupyter_core-5.4.0/tests/test_utils.py 2020-02-02 01:00:00.000000000 +0100 @@ -0,0 +1,56 @@ +"""Tests for utils""" + +# Copyright (c) Jupyter Development Team. +# Distributed under the terms of the Modified BSD License. + +import asyncio +import os +import tempfile + +import pytest + +from jupyter_core.utils import deprecation, ensure_async, ensure_dir_exists, run_sync + + +def test_ensure_dir_exists(): + with tempfile.TemporaryDirectory() as td: + ensure_dir_exists(td) + ensure_dir_exists(os.path.join(str(td), "foo"), 0o777) + + +def test_deprecation(): + with pytest.deprecated_call(): + deprecation("foo") + + +async def afunc(): + return "afunc" + + +def func(): + return "func" + + +sync_afunc = run_sync(afunc) + + +def test_run_sync(): + async def foo(): + return 1 + + foo_sync = run_sync(foo) + assert foo_sync() == 1 + assert foo_sync() == 1 + + asyncio.set_event_loop(None) + assert foo_sync() == 1 + + asyncio.run(foo()) + + +def test_ensure_async(): + async def main(): + assert await ensure_async(afunc()) == "afunc" + assert await ensure_async(func()) == "func" + + asyncio.run(main())