Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-nest-asyncio for 
openSUSE:Factory checked in at 2021-06-26 21:25:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nest-asyncio (Old)
 and      /work/SRC/openSUSE:Factory/.python-nest-asyncio.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-nest-asyncio"

Sat Jun 26 21:25:32 2021 rev:3 rq:902433 version:1.5.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nest-asyncio/python-nest-asyncio.changes  
2020-07-20 21:11:24.165703163 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-nest-asyncio.new.2625/python-nest-asyncio.changes
        2021-06-26 21:26:00.127386013 +0200
@@ -1,0 +2,7 @@
+Fri Jun 25 11:19:17 UTC 2021 - Ben Greiner <[email protected]>
+
+- Update to 1.5.1
+  * no release notes 
+  * update required by jupyter_client 6.2
+
+-------------------------------------------------------------------

Old:
----
  nest_asyncio-1.4.0.tar.gz

New:
----
  nest_asyncio-1.5.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-nest-asyncio.spec ++++++
--- /var/tmp/diff_new_pack.X8vM3e/_old  2021-06-26 21:26:00.475386473 +0200
+++ /var/tmp/diff_new_pack.X8vM3e/_new  2021-06-26 21:26:00.479386478 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-nest-asyncio
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,13 +19,12 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-nest-asyncio
-Version:        1.4.0
+Version:        1.5.1
 Release:        0
 Summary:        Patch asyncio to allow nested event loops
 License:        BSD-2-Clause
 URL:            https://github.com/erdewit/nest_asyncio
 Source:         
https://files.pythonhosted.org/packages/source/n/nest_asyncio/nest_asyncio-%{version}.tar.gz
-BuildRequires:  %{python_module devel}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
@@ -57,11 +56,13 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
-%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} $python 
tests/nest_test.py
+%pyunittest -v tests.nest_test
 
 %files %{python_files}
 %license LICENSE
 %doc README.rst
-%{python_sitelib}/*
+%{python_sitelib}/nest_asyncio.py*
+%pycache_only %{python_sitelib}/__pycache__/nest_asyncio*.pyc
+%{python_sitelib}/nest_asyncio-%{version}*-info
 
 %changelog

++++++ nest_asyncio-1.4.0.tar.gz -> nest_asyncio-1.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/.github/FUNDING.yml 
new/nest_asyncio-1.5.1/.github/FUNDING.yml
--- old/nest_asyncio-1.4.0/.github/FUNDING.yml  2020-03-29 16:38:24.000000000 
+0200
+++ new/nest_asyncio-1.5.1/.github/FUNDING.yml  1970-01-01 01:00:00.000000000 
+0100
@@ -1,2 +0,0 @@
-github: erdewit
-custom: www.paypal.me/erdewit
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/.gitignore 
new/nest_asyncio-1.5.1/.gitignore
--- old/nest_asyncio-1.4.0/.gitignore   2018-09-28 23:35:37.000000000 +0200
+++ new/nest_asyncio-1.5.1/.gitignore   1970-01-01 01:00:00.000000000 +0100
@@ -1,107 +0,0 @@
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-.Python
-env/
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-wheels/
-*.egg-info/
-.installed.cfg
-*.egg
-
-# PyInstaller
-#  Usually these files are written by a python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*.cover
-.hypothesis/
-
-# Translations
-*.mo
-*.pot
-
-# Django stuff:
-*.log
-local_settings.py
-
-# Flask stuff:
-instance/
-.webassets-cache
-
-# Scrapy stuff:
-.scrapy
-
-# Sphinx documentation
-docs/_build/
-
-# PyBuilder
-target/
-
-# Jupyter Notebook
-.ipynb_checkpoints
-
-# pyenv
-.python-version
-
-# celery beat schedule file
-celerybeat-schedule
-
-# SageMath parsed files
-*.sage.py
-
-# dotenv
-.env
-
-# virtualenv
-.venv
-venv/
-ENV/
-
-# Spyder project settings
-.spyderproject
-.spyproject
-
-# Rope project settings
-.ropeproject
-
-# mkdocs documentation
-/site
-
-# mypy
-.mypy_cache/
-
-.vscode
-.project
-.pydevproject
-.settings/
-.idea
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/.travis.yml 
new/nest_asyncio-1.5.1/.travis.yml
--- old/nest_asyncio-1.4.0/.travis.yml  2019-12-07 10:12:47.000000000 +0100
+++ new/nest_asyncio-1.5.1/.travis.yml  1970-01-01 01:00:00.000000000 +0100
@@ -1,13 +0,0 @@
-language: python
-sudo: false
-python:
-  - "3.5"
-  - "3.6"
-  - "3.7"
-  - "3.8"
-  - "nightly"
-install:
-  - pip install .
-script:
-  - python3 tests/nest_test.py
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/PKG-INFO 
new/nest_asyncio-1.5.1/PKG-INFO
--- old/nest_asyncio-1.4.0/PKG-INFO     2020-07-17 13:14:09.707323600 +0200
+++ new/nest_asyncio-1.5.1/PKG-INFO     2021-01-27 16:43:32.017318000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: nest_asyncio
-Version: 1.4.0
+Version: 1.5.1
 Summary: Patch asyncio to allow nested event loops
 Home-page: https://github.com/erdewit/nest_asyncio
 Author: Ewald R. de Wit
@@ -48,9 +48,10 @@
         Loops from other projects, such as uvloop or quamash,
         generally can't be patched.
         
-        .. |Build| image:: 
https://travis-ci.org/erdewit/nest_asyncio.svg?branch=master
+        
+        .. |Build| image:: 
https://github.com/erdewit/nest_asyncio/workflows/Test/badge.svg?branche=master
            :alt: Build
-           :target: https://travis-ci.org/erdewit/nest_asyncio
+           :target: https://github.com/erdewit/nest_asyncio/actions
         
         .. |PyPiVersion| image:: https://img.shields.io/pypi/v/nest_asyncio.svg
            :alt: PyPi
@@ -76,6 +77,7 @@
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3 :: Only
 Requires-Python: >=3.5
 Description-Content-Type: text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/README.rst 
new/nest_asyncio-1.5.1/README.rst
--- old/nest_asyncio-1.4.0/README.rst   2019-02-02 15:35:24.000000000 +0100
+++ new/nest_asyncio-1.5.1/README.rst   2021-01-24 18:32:43.000000000 +0100
@@ -40,9 +40,10 @@
 Loops from other projects, such as uvloop or quamash,
 generally can't be patched.
 
-.. |Build| image:: https://travis-ci.org/erdewit/nest_asyncio.svg?branch=master
+
+.. |Build| image:: 
https://github.com/erdewit/nest_asyncio/workflows/Test/badge.svg?branche=master
    :alt: Build
-   :target: https://travis-ci.org/erdewit/nest_asyncio
+   :target: https://github.com/erdewit/nest_asyncio/actions
 
 .. |PyPiVersion| image:: https://img.shields.io/pypi/v/nest_asyncio.svg
    :alt: PyPi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/dist.sh 
new/nest_asyncio-1.5.1/dist.sh
--- old/nest_asyncio-1.4.0/dist.sh      2018-09-07 17:13:20.000000000 +0200
+++ new/nest_asyncio-1.5.1/dist.sh      1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-rm -rf dist build
-python3 setup.py sdist bdist_wheel
-python3 -m twine upload dist/*
-rm -rf dist build *.egg-info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/nest_asyncio.egg-info/PKG-INFO 
new/nest_asyncio-1.5.1/nest_asyncio.egg-info/PKG-INFO
--- old/nest_asyncio-1.4.0/nest_asyncio.egg-info/PKG-INFO       2020-07-17 
13:14:09.000000000 +0200
+++ new/nest_asyncio-1.5.1/nest_asyncio.egg-info/PKG-INFO       2021-01-27 
16:43:31.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: nest-asyncio
-Version: 1.4.0
+Version: 1.5.1
 Summary: Patch asyncio to allow nested event loops
 Home-page: https://github.com/erdewit/nest_asyncio
 Author: Ewald R. de Wit
@@ -48,9 +48,10 @@
         Loops from other projects, such as uvloop or quamash,
         generally can't be patched.
         
-        .. |Build| image:: 
https://travis-ci.org/erdewit/nest_asyncio.svg?branch=master
+        
+        .. |Build| image:: 
https://github.com/erdewit/nest_asyncio/workflows/Test/badge.svg?branche=master
            :alt: Build
-           :target: https://travis-ci.org/erdewit/nest_asyncio
+           :target: https://github.com/erdewit/nest_asyncio/actions
         
         .. |PyPiVersion| image:: https://img.shields.io/pypi/v/nest_asyncio.svg
            :alt: PyPi
@@ -76,6 +77,7 @@
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3 :: Only
 Requires-Python: >=3.5
 Description-Content-Type: text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/nest_asyncio.egg-info/SOURCES.txt 
new/nest_asyncio-1.5.1/nest_asyncio.egg-info/SOURCES.txt
--- old/nest_asyncio-1.4.0/nest_asyncio.egg-info/SOURCES.txt    2020-07-17 
13:14:09.000000000 +0200
+++ new/nest_asyncio-1.5.1/nest_asyncio.egg-info/SOURCES.txt    2021-01-27 
16:43:31.000000000 +0100
@@ -1,14 +1,9 @@
-.gitignore
-.travis.yml
 LICENSE
 MANIFEST.in
 README.rst
-dist.sh
 nest_asyncio.py
-pyproject.toml
 setup.cfg
 setup.py
-.github/FUNDING.yml
 nest_asyncio.egg-info/PKG-INFO
 nest_asyncio.egg-info/SOURCES.txt
 nest_asyncio.egg-info/dependency_links.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/nest_asyncio.py 
new/nest_asyncio-1.5.1/nest_asyncio.py
--- old/nest_asyncio-1.4.0/nest_asyncio.py      2020-07-16 16:25:07.000000000 
+0200
+++ new/nest_asyncio-1.5.1/nest_asyncio.py      2021-01-27 16:39:44.000000000 
+0100
@@ -1,12 +1,14 @@
 import asyncio
 import asyncio.events as events
+import os
 import sys
 import threading
+from contextlib import contextmanager
 from heapq import heappop
 
 
 def apply(loop=None):
-    """Patch asyncio to make its event loop reentrent."""
+    """Patch asyncio to make its event loop reentrant."""
     loop = loop or asyncio.get_event_loop()
     if not isinstance(loop, asyncio.BaseEventLoop):
         raise ValueError('Can\'t patch loop of type %s' % type(loop))
@@ -16,7 +18,6 @@
     _patch_asyncio()
     _patch_loop(loop)
     _patch_task()
-    _patch_handle()
     _patch_tornado()
 
 
@@ -44,44 +45,18 @@
 
 
 def _patch_loop(loop):
-    """Patch loop to make it reentrent."""
+    """Patch loop to make it reentrant."""
 
     def run_forever(self):
-        if sys.version_info >= (3, 7, 0):
-            set_coro_tracking = self._set_coroutine_origin_tracking
-        else:
-            set_coro_tracking = self._set_coroutine_wrapper
-
-        self._check_closed()
-        old_thread_id = self._thread_id
-        old_running_loop = events._get_running_loop()
-        set_coro_tracking(self._debug)
-        self._thread_id = threading.get_ident()
-
-        if self._asyncgens is not None:
-            old_agen_hooks = sys.get_asyncgen_hooks()
-            sys.set_asyncgen_hooks(
-                firstiter=self._asyncgen_firstiter_hook,
-                finalizer=self._asyncgen_finalizer_hook)
-        try:
-            events._set_running_loop(self)
+        with manage_run(self), manage_asyncgens(self):
             while True:
                 self._run_once()
                 if self._stopping:
                     break
-        finally:
-            self._stopping = False
-            self._thread_id = old_thread_id
-            events._set_running_loop(old_running_loop)
-            set_coro_tracking(False)
-            if self._asyncgens is not None:
-                sys.set_asyncgen_hooks(*old_agen_hooks)
+        self._stopping = False
 
     def run_until_complete(self, future):
-        old_running_loop = events._get_running_loop()
-        try:
-            self._check_closed()
-            events._set_running_loop(self)
+        with manage_run(self):
             f = asyncio.ensure_future(future, loop=self)
             if f is not future:
                 f._log_destroy_pending = False
@@ -93,8 +68,6 @@
                 raise RuntimeError(
                     'Event loop stopped before Future completed.')
             return f.result()
-        finally:
-            events._set_running_loop(old_running_loop)
 
     def _run_once(self):
         """
@@ -107,36 +80,84 @@
         while scheduled and scheduled[0]._cancelled:
             heappop(scheduled)
 
-        timeout = 0 if ready or self._stopping \
-            else min(max(0, scheduled[0]._when - now), 10) if scheduled \
-            else None
+        timeout = (
+            0 if ready or self._stopping
+            else min(max(scheduled[0]._when - now, 0), 86400) if scheduled
+            else None)
         event_list = self._selector.select(timeout)
         self._process_events(event_list)
 
-        while scheduled and scheduled[0]._when < now + self._clock_resolution:
+        end_time = self.time() + self._clock_resolution
+        while scheduled and scheduled[0]._when < end_time:
             handle = heappop(scheduled)
             ready.append(handle)
 
-        while ready:
+        for _ in range(len(ready)):
+            if not ready:
+                break
             handle = ready.popleft()
             if not handle._cancelled:
                 handle._run()
         handle = None
 
+    @contextmanager
+    def manage_run(self):
+        """Set up the loop for running."""
+        self._check_closed()
+        old_thread_id = self._thread_id
+        old_running_loop = events._get_running_loop()
+        try:
+            self._thread_id = threading.get_ident()
+            events._set_running_loop(self)
+            self._num_runs_pending += 1
+            if self._is_proactorloop:
+                if self._self_reading_future is None:
+                    self.call_soon(self._loop_self_reading)
+            yield
+        finally:
+            self._thread_id = old_thread_id
+            events._set_running_loop(old_running_loop)
+            self._num_runs_pending -= 1
+            if self._is_proactorloop:
+                if (self._num_runs_pending == 0
+                        and self._self_reading_future is not None):
+                    ov = self._self_reading_future._ov
+                    self._self_reading_future.cancel()
+                    if ov is not None:
+                        self._proactor._unregister(ov)
+                    self._self_reading_future = None
+
+    @contextmanager
+    def manage_asyncgens(self):
+        old_agen_hooks = sys.get_asyncgen_hooks()
+        try:
+            self._set_coroutine_origin_tracking(self._debug)
+            if self._asyncgens is not None:
+                sys.set_asyncgen_hooks(
+                    firstiter=self._asyncgen_firstiter_hook,
+                    finalizer=self._asyncgen_finalizer_hook)
+            yield
+        finally:
+            self._set_coroutine_origin_tracking(False)
+            if self._asyncgens is not None:
+                sys.set_asyncgen_hooks(*old_agen_hooks)
+
     def _check_running(self):
         """Do not throw exception if loop is already running."""
         pass
 
     cls = loop.__class__
-    cls._run_once_orig = cls._run_once
-    cls._run_once = _run_once
-    cls._run_forever_orig = cls.run_forever
     cls.run_forever = run_forever
-    cls._run_until_complete_orig = cls.run_until_complete
     cls.run_until_complete = run_until_complete
+    cls._run_once = _run_once
     cls._check_running = _check_running
     cls._check_runnung = _check_running  # typo in Python 3.7 source
     cls._nest_patched = True
+    cls._num_runs_pending = 0
+    cls._is_proactorloop = (
+            os.name == 'nt' and issubclass(cls, asyncio.ProactorEventLoop))
+    if sys.version_info < (3, 7, 0):
+        cls._set_coroutine_origin_tracking = cls._set_coroutine_wrapper
 
 
 def _patch_task():
@@ -172,45 +193,6 @@
         Task._step = step
 
 
-def _patch_handle():
-    """Patch Handle to allow recursive calls."""
-
-    def update_from_context(ctx):
-        """Copy context ctx to currently active context."""
-        for var in ctx:
-            var.set(ctx[var])
-
-    def run(self):
-        """
-        Run the callback in a sub-context, then copy any sub-context vars
-        over to the Handle's context.
-        """
-        try:
-            ctx = self._context.copy()
-            ctx.run(self._callback, *self._args)
-            if ctx:
-                self._context.run(update_from_context, ctx)
-        except (SystemExit, KeyboardInterrupt):
-            raise
-        except BaseException as exc:
-            cb = format_helpers._format_callback_source(
-                self._callback, self._args)
-            msg = 'Exception in callback {}'.format(cb)
-            context = {
-                'message': msg,
-                'exception': exc,
-                'handle': self,
-            }
-            if self._source_traceback:
-                context['source_traceback'] = self._source_traceback
-            self._loop.call_exception_handler(context)
-        self = None
-
-    if sys.version_info >= (3, 7, 0):
-        from asyncio import format_helpers
-        events.Handle._run = run
-
-
 def _patch_tornado():
         """
         If tornado is imported before nest_asyncio, make tornado aware of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/pyproject.toml 
new/nest_asyncio-1.5.1/pyproject.toml
--- old/nest_asyncio-1.4.0/pyproject.toml       2020-07-16 12:39:43.000000000 
+0200
+++ new/nest_asyncio-1.5.1/pyproject.toml       1970-01-01 01:00:00.000000000 
+0100
@@ -1,5 +0,0 @@
-[build-system]
-requires = ["setuptools>=42", "wheel", "setuptools_scm[toml]>=3.4.3"]
-build-backend = "setuptools.build_meta"
-
-[tool.setuptools_scm]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nest_asyncio-1.4.0/setup.cfg 
new/nest_asyncio-1.5.1/setup.cfg
--- old/nest_asyncio-1.4.0/setup.cfg    2020-07-17 13:14:09.708323500 +0200
+++ new/nest_asyncio-1.5.1/setup.cfg    2021-01-27 16:43:32.017318000 +0100
@@ -1,6 +1,6 @@
 [metadata]
 name = nest_asyncio
-version = 1.4.0
+version = 1.5.1
 author = Ewald R. de Wit
 author_email = [email protected]
 license = BSD
@@ -18,6 +18,7 @@
        Programming Language :: Python :: 3.6
        Programming Language :: Python :: 3.7
        Programming Language :: Python :: 3.8
+       Programming Language :: Python :: 3.9
        Programming Language :: Python :: 3 :: Only
 
 [options]

Reply via email to