Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-tqdm for openSUSE:Factory checked in at 2021-09-03 21:25:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-tqdm (Old) and /work/SRC/openSUSE:Factory/.python-tqdm.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tqdm" Fri Sep 3 21:25:51 2021 rev:46 rq:914905 version:4.62.2 Changes: -------- --- /work/SRC/openSUSE:Factory/python-tqdm/python-tqdm.changes 2021-07-25 20:09:11.219448793 +0200 +++ /work/SRC/openSUSE:Factory/.python-tqdm.new.1899/python-tqdm.changes 2021-09-03 21:26:40.702208450 +0200 @@ -1,0 +2,7 @@ +Sun Aug 29 17:36:37 UTC 2021 - Arun Persaud <a...@gmx.de> + +- update to version 4.62.2: + * fix notebook memory leak (#1216) + * fix contrib.concurrent with generators (#1233 <- #1231) + +------------------------------------------------------------------- Old: ---- tqdm-4.61.2.tar.gz New: ---- tqdm-4.62.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-tqdm.spec ++++++ --- /var/tmp/diff_new_pack.EZAg3G/_old 2021-09-03 21:26:41.158208926 +0200 +++ /var/tmp/diff_new_pack.EZAg3G/_new 2021-09-03 21:26:41.162208930 +0200 @@ -28,7 +28,7 @@ %bcond_with test %endif Name: python-tqdm%{pkg_suffix} -Version: 4.61.2 +Version: 4.62.2 Release: 0 Summary: An extensible progress meter License: MIT AND MPL-2.0 ++++++ tqdm-4.61.2.tar.gz -> tqdm-4.62.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/.pre-commit-config.yaml new/tqdm-4.62.2/.pre-commit-config.yaml --- old/tqdm-4.61.2/.pre-commit-config.yaml 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/.pre-commit-config.yaml 2021-08-23 14:32:18.000000000 +0200 @@ -49,7 +49,7 @@ - flake8-debugger - flake8-string-format - repo: https://github.com/PyCQA/isort - rev: 5.8.0 + rev: 5.9.2 hooks: - id: isort - repo: https://github.com/kynan/nbstripout diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/CONTRIBUTING.md new/tqdm-4.62.2/CONTRIBUTING.md --- old/tqdm-4.61.2/CONTRIBUTING.md 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/CONTRIBUTING.md 2021-08-23 14:32:18.000000000 +0200 @@ -96,7 +96,7 @@ versions of Python.) Note: to install all versions of the Python interpreter that are specified -in [tox.ini](https://raw.githubusercontent.com/tqdm/tqdm/master/tox.ini), +in [tox.ini](https://github.com/tqdm/tqdm/blob/master/tox.ini), you can use `MiniConda` to install a minimal setup. You must also make sure that each distribution has an alias to call the Python interpreter: `python27` for Python 2.7's interpreter, `python32` for Python 3.2's, etc. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/PKG-INFO new/tqdm-4.62.2/PKG-INFO --- old/tqdm-4.61.2/PKG-INFO 2021-07-06 08:51:30.535508400 +0200 +++ new/tqdm-4.62.2/PKG-INFO 2021-08-23 14:32:45.035757500 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: tqdm -Version: 4.61.2 +Version: 4.62.2 Summary: Fast, Extensible Progress Meter Home-page: https://tqdm.github.io Maintainer: tqdm developers @@ -1403,7 +1403,7 @@ Contributions are welcome. See the - `CONTRIBUTING <https://raw.githubusercontent.com/tqdm/tqdm/master/CONTRIBUTING.md>`__ + `CONTRIBUTING <https://github.com/tqdm/tqdm/blob/master/CONTRIBUTING.md>`__ file for more information. Developers who have made significant contributions, ranked by *SLoC* @@ -1414,18 +1414,15 @@ ==================== ======================================================== ==== ================================ Name ID SLoC Notes ==================== ======================================================== ==== ================================ - Casper da Costa-Luis `casperdcl <https://github.com/casperdcl>`__ ~81% primary maintainer |Gift-Casper| + Casper da Costa-Luis `casperdcl <https://github.com/casperdcl>`__ ~78% primary maintainer |Gift-Casper| Stephen Larroque `lrq3000 <https://github.com/lrq3000>`__ ~10% team member - Martin Zugnoni `martinzugnoni <https://github.com/martinzugnoni>`__ ~3% + Martin Zugnoni `martinzugnoni <https://github.com/martinzugnoni>`__ ~4% + Daniel Ecer `de-code <https://github.com/de-code>`__ ~2% Richard Sheridan `richardsheridan <https://github.com/richardsheridan>`__ ~1% Guangshuo Chen `chengs <https://github.com/chengs>`__ ~1% Kyle Altendorf `altendky <https://github.com/altendky>`__ <1% Matthew Stevens `mjstevens777 <https://github.com/mjstevens777>`__ <1% Hadrien Mary `hadim <https://github.com/hadim>`__ <1% team member - Ivan Ivanov `obiwanus <https://github.com/obiwanus>`__ <1% - Daniel Panteleit `danielpanteleit <https://github.com/danielpanteleit>`__ <1% - Jonas Haag `jonashaag <https://github.com/jonashaag>`__ <1% - James E. King III `jeking3 <https://github.com/jeking3>`__ <1% Noam Yorav-Raphael `noamraph <https://github.com/noamraph>`__ <1% original author Mikhail Korobov `kmike <https://github.com/kmike>`__ <1% team member ==================== ======================================================== ==== ================================ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/README.rst new/tqdm-4.62.2/README.rst --- old/tqdm-4.61.2/README.rst 2021-07-06 08:51:27.000000000 +0200 +++ new/tqdm-4.62.2/README.rst 2021-08-23 14:32:41.000000000 +0200 @@ -1392,7 +1392,7 @@ Contributions are welcome. See the -`CONTRIBUTING <https://raw.githubusercontent.com/tqdm/tqdm/master/CONTRIBUTING.md>`__ +`CONTRIBUTING <https://github.com/tqdm/tqdm/blob/master/CONTRIBUTING.md>`__ file for more information. Developers who have made significant contributions, ranked by *SLoC* @@ -1403,18 +1403,15 @@ ==================== ======================================================== ==== ================================ Name ID SLoC Notes ==================== ======================================================== ==== ================================ -Casper da Costa-Luis `casperdcl <https://github.com/casperdcl>`__ ~81% primary maintainer |Gift-Casper| +Casper da Costa-Luis `casperdcl <https://github.com/casperdcl>`__ ~78% primary maintainer |Gift-Casper| Stephen Larroque `lrq3000 <https://github.com/lrq3000>`__ ~10% team member -Martin Zugnoni `martinzugnoni <https://github.com/martinzugnoni>`__ ~3% +Martin Zugnoni `martinzugnoni <https://github.com/martinzugnoni>`__ ~4% +Daniel Ecer `de-code <https://github.com/de-code>`__ ~2% Richard Sheridan `richardsheridan <https://github.com/richardsheridan>`__ ~1% Guangshuo Chen `chengs <https://github.com/chengs>`__ ~1% Kyle Altendorf `altendky <https://github.com/altendky>`__ <1% Matthew Stevens `mjstevens777 <https://github.com/mjstevens777>`__ <1% Hadrien Mary `hadim <https://github.com/hadim>`__ <1% team member -Ivan Ivanov `obiwanus <https://github.com/obiwanus>`__ <1% -Daniel Panteleit `danielpanteleit <https://github.com/danielpanteleit>`__ <1% -Jonas Haag `jonashaag <https://github.com/jonashaag>`__ <1% -James E. King III `jeking3 <https://github.com/jeking3>`__ <1% Noam Yorav-Raphael `noamraph <https://github.com/noamraph>`__ <1% original author Mikhail Korobov `kmike <https://github.com/kmike>`__ <1% team member ==================== ======================================================== ==== ================================ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tests/py37_asyncio.py new/tqdm-4.62.2/tests/py37_asyncio.py --- old/tqdm-4.61.2/tests/py37_asyncio.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tests/py37_asyncio.py 2021-08-23 14:32:18.000000000 +0200 @@ -122,7 +122,7 @@ @mark.asyncio async def test_gather(capsys): """Test asyncio gather""" - res = await gather(list(map(double, range(30)))) + res = await gather(*map(double, range(30))) _, err = capsys.readouterr() assert '30/30' in err assert res == list(range(0, 30 * 2, 2)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tests/tests_contrib_logging.py new/tqdm-4.62.2/tests/tests_contrib_logging.py --- old/tqdm-4.61.2/tests/tests_contrib_logging.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tests/tests_contrib_logging.py 2021-08-23 14:32:18.000000000 +0200 @@ -10,7 +10,7 @@ import pytest from tqdm import tqdm -from tqdm.contrib.logging import _get_first_found_console_logging_formatter +from tqdm.contrib.logging import _get_first_found_console_logging_handler from tqdm.contrib.logging import _TqdmLoggingHandler as TqdmLoggingHandler from tqdm.contrib.logging import logging_redirect_tqdm, tqdm_logging_redirect @@ -68,33 +68,25 @@ logger.info('test') -class TestGetFirstFoundConsoleLoggingFormatter: +class TestGetFirstFoundConsoleLoggingHandler: def test_should_return_none_for_no_handlers(self): - assert _get_first_found_console_logging_formatter([]) is None + assert _get_first_found_console_logging_handler([]) is None def test_should_return_none_without_stream_handler(self): handler = logging.handlers.MemoryHandler(capacity=1) - handler.formatter = TEST_LOGGING_FORMATTER - assert _get_first_found_console_logging_formatter([handler]) is None + assert _get_first_found_console_logging_handler([handler]) is None def test_should_return_none_for_stream_handler_not_stdout_or_stderr(self): handler = logging.StreamHandler(StringIO()) - handler.formatter = TEST_LOGGING_FORMATTER - assert _get_first_found_console_logging_formatter([handler]) is None + assert _get_first_found_console_logging_handler([handler]) is None - def test_should_return_stream_handler_formatter_if_stream_is_stdout(self): + def test_should_return_stream_handler_if_stream_is_stdout(self): handler = logging.StreamHandler(sys.stdout) - handler.formatter = TEST_LOGGING_FORMATTER - assert _get_first_found_console_logging_formatter( - [handler] - ) == TEST_LOGGING_FORMATTER + assert _get_first_found_console_logging_handler([handler]) == handler - def test_should_return_stream_handler_formatter_if_stream_is_stderr(self): + def test_should_return_stream_handler_if_stream_is_stderr(self): handler = logging.StreamHandler(sys.stderr) - handler.formatter = TEST_LOGGING_FORMATTER - assert _get_first_found_console_logging_formatter( - [handler] - ) == TEST_LOGGING_FORMATTER + assert _get_first_found_console_logging_handler([handler]) == handler class TestRedirectLoggingToTqdm: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tox.ini new/tqdm-4.62.2/tox.ini --- old/tqdm-4.61.2/tox.ini 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tox.ini 2021-08-23 14:32:18.000000000 +0200 @@ -33,7 +33,8 @@ matplotlib numpy pandas - keras: keras + py27-keras: keras<2.5 + !py27-keras: keras py3{6,7,8,9}: rich tf: tensorflow!=2.5.0 commands= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/_dist_ver.py new/tqdm-4.62.2/tqdm/_dist_ver.py --- old/tqdm-4.61.2/tqdm/_dist_ver.py 2021-07-06 08:51:30.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/_dist_ver.py 2021-08-23 14:32:44.000000000 +0200 @@ -1 +1 @@ -__version__ = '4.61.2' +__version__ = '4.62.2' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/asyncio.py new/tqdm-4.62.2/tqdm/asyncio.py --- old/tqdm-4.61.2/tqdm/asyncio.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/asyncio.py 2021-08-23 14:32:18.000000000 +0200 @@ -68,7 +68,7 @@ total=total, **tqdm_kwargs) @classmethod - async def gather(cls, fs, *, loop=None, timeout=None, total=None, **tqdm_kwargs): + async def gather(cls, *fs, loop=None, timeout=None, total=None, **tqdm_kwargs): """ Wrapper for `asyncio.gather`. """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/contrib/__init__.py new/tqdm-4.62.2/tqdm/contrib/__init__.py --- old/tqdm-4.61.2/tqdm/contrib/__init__.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/contrib/__init__.py 2021-08-23 14:32:18.000000000 +0200 @@ -6,9 +6,9 @@ import sys from functools import wraps -from tqdm import tqdm -from tqdm.auto import tqdm as tqdm_auto -from tqdm.utils import ObjectWrapper +from ..auto import tqdm as tqdm_auto +from ..std import tqdm +from ..utils import ObjectWrapper __author__ = {"github.com/": ["casperdcl"]} __all__ = ['tenumerate', 'tzip', 'tmap'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/contrib/bells.py new/tqdm-4.62.2/tqdm/contrib/bells.py --- old/tqdm-4.61.2/tqdm/contrib/bells.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/contrib/bells.py 2021-08-23 14:32:18.000000000 +0200 @@ -13,11 +13,11 @@ from os import getenv if getenv("TQDM_TELEGRAM_TOKEN") and getenv("TQDM_TELEGRAM_CHAT_ID"): - from tqdm.contrib.telegram import tqdm, trange + from .telegram import tqdm, trange elif getenv("TQDM_DISCORD_TOKEN") and getenv("TQDM_DISCORD_CHANNEL_ID"): - from tqdm.contrib.discord import tqdm, trange + from .discord import tqdm, trange else: - from tqdm.auto import tqdm, trange + from ..auto import tqdm, trange with warnings.catch_warnings(): warnings.simplefilter("ignore", category=FutureWarning) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/contrib/concurrent.py new/tqdm-4.62.2/tqdm/contrib/concurrent.py --- old/tqdm-4.61.2/tqdm/contrib/concurrent.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/contrib/concurrent.py 2021-08-23 14:32:18.000000000 +0200 @@ -5,8 +5,8 @@ from contextlib import contextmanager -from tqdm import TqdmWarning -from tqdm.auto import tqdm as tqdm_auto +from ..auto import tqdm as tqdm_auto +from ..std import TqdmWarning try: from operator import length_hint @@ -58,7 +58,7 @@ """ kwargs = tqdm_kwargs.copy() if "total" not in kwargs: - kwargs["total"] = len(iterables[0]) + kwargs["total"] = length_hint(iterables[0]) tqdm_class = kwargs.pop("tqdm_class", tqdm_auto) max_workers = kwargs.pop("max_workers", min(32, cpu_count() + 4)) chunksize = kwargs.pop("chunksize", 1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/contrib/discord.py new/tqdm-4.62.2/tqdm/contrib/discord.py --- old/tqdm-4.61.2/tqdm/contrib/discord.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/contrib/discord.py 2021-08-23 14:32:18.000000000 +0200 @@ -18,9 +18,8 @@ except ImportError: raise ImportError("Please `pip install disco-py`") -from tqdm.auto import tqdm as tqdm_auto -from tqdm.utils import _range - +from ..auto import tqdm as tqdm_auto +from ..utils import _range from .utils_worker import MonoWorker __author__ = {"github.com/": ["casperdcl"]} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/contrib/itertools.py new/tqdm-4.62.2/tqdm/contrib/itertools.py --- old/tqdm-4.61.2/tqdm/contrib/itertools.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/contrib/itertools.py 2021-08-23 14:32:18.000000000 +0200 @@ -5,7 +5,7 @@ import itertools -from tqdm.auto import tqdm as tqdm_auto +from ..auto import tqdm as tqdm_auto __author__ = {"github.com/": ["casperdcl"]} __all__ = ['product'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/contrib/logging.py new/tqdm-4.62.2/tqdm/contrib/logging.py --- old/tqdm-4.61.2/tqdm/contrib/logging.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/contrib/logging.py 2021-08-23 14:32:18.000000000 +0200 @@ -26,7 +26,7 @@ def emit(self, record): try: msg = self.format(record) - self.tqdm_class.write(msg) + self.tqdm_class.write(msg, file=self.stream) self.flush() except (KeyboardInterrupt, SystemExit): raise @@ -39,10 +39,10 @@ and handler.stream in {sys.stdout, sys.stderr}) -def _get_first_found_console_logging_formatter(handlers): +def _get_first_found_console_logging_handler(handlers): for handler in handlers: if _is_console_logging_handler(handler): - return handler.formatter + return handler @contextmanager @@ -85,8 +85,10 @@ try: for logger in loggers: tqdm_handler = _TqdmLoggingHandler(tqdm_class) - tqdm_handler.setFormatter( - _get_first_found_console_logging_formatter(logger.handlers)) + orig_handler = _get_first_found_console_logging_handler(logger.handlers) + if orig_handler is not None: + tqdm_handler.setFormatter(orig_handler.formatter) + tqdm_handler.stream = orig_handler.stream logger.handlers = [ handler for handler in logger.handlers if not _is_console_logging_handler(handler)] + [tqdm_handler] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/contrib/telegram.py new/tqdm-4.62.2/tqdm/contrib/telegram.py --- old/tqdm-4.61.2/tqdm/contrib/telegram.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/contrib/telegram.py 2021-08-23 14:32:18.000000000 +0200 @@ -11,12 +11,13 @@ from __future__ import absolute_import from os import getenv +from warnings import warn from requests import Session -from tqdm.auto import tqdm as tqdm_auto -from tqdm.utils import _range - +from ..auto import tqdm as tqdm_auto +from ..std import TqdmWarning +from ..utils import _range from .utils_worker import MonoWorker __author__ = {"github.com/": ["casperdcl"]} @@ -32,17 +33,28 @@ super(TelegramIO, self).__init__() self.token = token self.chat_id = chat_id - self.session = session = Session() + self.session = Session() self.text = self.__class__.__name__ + self.message_id + + @property + def message_id(self): + if hasattr(self, '_message_id'): + return self._message_id try: - res = session.post( + res = self.session.post( self.API + '%s/sendMessage' % self.token, data={'text': '`' + self.text + '`', 'chat_id': self.chat_id, - 'parse_mode': 'MarkdownV2'}) + 'parse_mode': 'MarkdownV2'}).json() except Exception as e: tqdm_auto.write(str(e)) else: - self.message_id = res.json()['result']['message_id'] + if res.get('error_code') == 429: + warn("Creation rate limit: try increasing `mininterval`.", + TqdmWarning, stacklevel=2) + else: + self._message_id = res['result']['message_id'] + return self._message_id def write(self, s): """Replaces internal `message_id`'s text with `s`.""" @@ -51,12 +63,15 @@ s = s.replace('\r', '').strip() if s == self.text: return # avoid duplicate message Bot error + message_id = self.message_id + if message_id is None: + return self.text = s try: future = self.submit( self.session.post, self.API + '%s/editMessageText' % self.token, data={'text': '`' + s + '`', 'chat_id': self.chat_id, - 'message_id': self.message_id, 'parse_mode': 'MarkdownV2'}) + 'message_id': message_id, 'parse_mode': 'MarkdownV2'}) except Exception as e: tqdm_auto.write(str(e)) else: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/contrib/utils_worker.py new/tqdm-4.62.2/tqdm/contrib/utils_worker.py --- old/tqdm-4.61.2/tqdm/contrib/utils_worker.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/contrib/utils_worker.py 2021-08-23 14:32:18.000000000 +0200 @@ -6,7 +6,7 @@ from collections import deque from concurrent.futures import ThreadPoolExecutor -from tqdm.auto import tqdm as tqdm_auto +from ..auto import tqdm as tqdm_auto __author__ = {"github.com/": ["casperdcl"]} __all__ = ['MonoWorker'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/notebook.py new/tqdm-4.62.2/tqdm/notebook.py --- old/tqdm-4.61.2/tqdm/notebook.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/notebook.py 2021-08-23 14:32:18.000000000 +0200 @@ -14,6 +14,7 @@ # import compatibility functions and utilities import re import sys +from weakref import proxy # to inherit from the tqdm class from .std import tqdm as std_tqdm @@ -75,17 +76,19 @@ class TqdmHBox(HBox): """`ipywidgets.HBox` with a pretty representation""" def _repr_json_(self, pretty=None): - if not hasattr(self, "pbar"): + pbar = getattr(self, 'pbar', None) + if pbar is None: return {} - d = self.pbar.format_dict + d = pbar.format_dict if pretty is not None: d["ascii"] = not pretty return d def __repr__(self, pretty=False): - if not hasattr(self, "pbar"): + pbar = getattr(self, 'pbar', None) + if pbar is None: return super(TqdmHBox, self).__repr__() - return self.pbar.format_meter(**self._repr_json_(pretty)) + return pbar.format_meter(**self._repr_json_(pretty)) def _repr_pretty_(self, pp, *_, **__): pp.text(self.__repr__(True)) @@ -237,7 +240,7 @@ unit_scale = 1 if self.unit_scale is True else self.unit_scale or 1 total = self.total * unit_scale if self.total else self.total self.container = self.status_printer(self.fp, total, self.desc, self.ncols) - self.container.pbar = self + self.container.pbar = proxy(self) self.displayed = False if display_here and self.delay <= 0: display(self.container) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm/utils.py new/tqdm-4.62.2/tqdm/utils.py --- old/tqdm-4.61.2/tqdm/utils.py 2021-07-06 08:51:01.000000000 +0200 +++ new/tqdm-4.62.2/tqdm/utils.py 2021-08-23 14:32:18.000000000 +0200 @@ -6,6 +6,7 @@ import sys from functools import wraps from warnings import warn +from weakref import proxy # py2/3 compat try: @@ -137,17 +138,25 @@ """ Quietly set `tqdm_instance.miniters=inf` if `func` raises `errno=5`. """ + tqdm_instance = proxy(tqdm_instance) + def inner(*args, **kwargs): try: return func(*args, **kwargs) except OSError as e: if e.errno != 5: raise - tqdm_instance.miniters = float('inf') + try: + tqdm_instance.miniters = float('inf') + except ReferenceError: + pass except ValueError as e: if 'closed' not in str(e): raise - tqdm_instance.miniters = float('inf') + try: + tqdm_instance.miniters = float('inf') + except ReferenceError: + pass return inner def __init__(self, wrapped, tqdm_instance): @@ -277,7 +286,7 @@ from fcntl import ioctl from termios import TIOCGWINSZ except ImportError: - return None + return None, None else: try: rows, cols = array('h', ioctl(fp, TIOCGWINSZ, '\0' * 8))[:2] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tqdm-4.61.2/tqdm.egg-info/PKG-INFO new/tqdm-4.62.2/tqdm.egg-info/PKG-INFO --- old/tqdm-4.61.2/tqdm.egg-info/PKG-INFO 2021-07-06 08:51:30.000000000 +0200 +++ new/tqdm-4.62.2/tqdm.egg-info/PKG-INFO 2021-08-23 14:32:44.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: tqdm -Version: 4.61.2 +Version: 4.62.2 Summary: Fast, Extensible Progress Meter Home-page: https://tqdm.github.io Maintainer: tqdm developers @@ -1403,7 +1403,7 @@ Contributions are welcome. See the - `CONTRIBUTING <https://raw.githubusercontent.com/tqdm/tqdm/master/CONTRIBUTING.md>`__ + `CONTRIBUTING <https://github.com/tqdm/tqdm/blob/master/CONTRIBUTING.md>`__ file for more information. Developers who have made significant contributions, ranked by *SLoC* @@ -1414,18 +1414,15 @@ ==================== ======================================================== ==== ================================ Name ID SLoC Notes ==================== ======================================================== ==== ================================ - Casper da Costa-Luis `casperdcl <https://github.com/casperdcl>`__ ~81% primary maintainer |Gift-Casper| + Casper da Costa-Luis `casperdcl <https://github.com/casperdcl>`__ ~78% primary maintainer |Gift-Casper| Stephen Larroque `lrq3000 <https://github.com/lrq3000>`__ ~10% team member - Martin Zugnoni `martinzugnoni <https://github.com/martinzugnoni>`__ ~3% + Martin Zugnoni `martinzugnoni <https://github.com/martinzugnoni>`__ ~4% + Daniel Ecer `de-code <https://github.com/de-code>`__ ~2% Richard Sheridan `richardsheridan <https://github.com/richardsheridan>`__ ~1% Guangshuo Chen `chengs <https://github.com/chengs>`__ ~1% Kyle Altendorf `altendky <https://github.com/altendky>`__ <1% Matthew Stevens `mjstevens777 <https://github.com/mjstevens777>`__ <1% Hadrien Mary `hadim <https://github.com/hadim>`__ <1% team member - Ivan Ivanov `obiwanus <https://github.com/obiwanus>`__ <1% - Daniel Panteleit `danielpanteleit <https://github.com/danielpanteleit>`__ <1% - Jonas Haag `jonashaag <https://github.com/jonashaag>`__ <1% - James E. King III `jeking3 <https://github.com/jeking3>`__ <1% Noam Yorav-Raphael `noamraph <https://github.com/noamraph>`__ <1% original author Mikhail Korobov `kmike <https://github.com/kmike>`__ <1% team member ==================== ======================================================== ==== ================================