From 7e487e6016da1cb881b81faa47df94e406ff1258 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Thu, 8 Dec 2016 19:27:12 +0100 Subject: [PATCH 01/53] spec: enable pyhton3 subpackage for fedora only Version: 1.2-10 --- python-progress.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/python-progress.spec b/python-progress.spec index 314ffb8..ac1b8c3 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -1,10 +1,10 @@ # Created by pyp2rpm-0.5.2 %global pypi_name progress -%global with_python3 1 +%global with_python3 0%{?fedora} Name: python-%{pypi_name} Version: 1.2 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Easy to use progress bars License: ISC @@ -81,6 +81,9 @@ popd %endif # with_python3 %changelog +* Thu Dec 08 2016 Pavel Raiskup - 1.2-10 +- keep enabled python3 subpackage only in fedora, and merge into epel7 + * Tue Nov 01 2016 Pavel Raiskup - 1.2-9 - fix avg counter for copr-cli (rhbz#1299634) From 70654b4cb11cddef10322f836ed27a113f4cf395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Dec 2016 18:20:37 +0100 Subject: [PATCH 02/53] Rebuild for Python 3.6 --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index ac1b8c3..bb5eb36 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: 1.2 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Easy to use progress bars License: ISC @@ -81,6 +81,9 @@ popd %endif # with_python3 %changelog +* Mon Dec 19 2016 Miro Hrončok - 1.2-11 +- Rebuild for Python 3.6 + * Thu Dec 08 2016 Pavel Raiskup - 1.2-10 - keep enabled python3 subpackage only in fedora, and merge into epel7 From 8ece51e70cf9ca9160399f097019bf408031818f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 10:01:06 +0000 Subject: [PATCH 03/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index bb5eb36..131c4e8 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: 1.2 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Easy to use progress bars License: ISC @@ -81,6 +81,9 @@ popd %endif # with_python3 %changelog +* Sat Feb 11 2017 Fedora Release Engineering - 1.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Mon Dec 19 2016 Miro Hrončok - 1.2-11 - Rebuild for Python 3.6 From 3ac39b9129880e39f0868cb0ac29140fceb4e738 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 11:21:38 +0000 Subject: [PATCH 04/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 131c4e8..21d2feb 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: 1.2 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Easy to use progress bars License: ISC @@ -81,6 +81,9 @@ popd %endif # with_python3 %changelog +* Thu Jul 27 2017 Fedora Release Engineering - 1.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Sat Feb 11 2017 Fedora Release Engineering - 1.2-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From fa4712f9a8f987a4387623b52e862a993d9f115a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sat, 19 Aug 2017 09:42:08 -0400 Subject: [PATCH 05/53] Python 2 binary package renamed to python2-progress --- python-progress.spec | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/python-progress.spec b/python-progress.spec index 21d2feb..bcf2e17 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: 1.2 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Easy to use progress bars License: ISC @@ -23,10 +23,18 @@ BuildRequires: python3-setuptools Patch1: 0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch Patch2: 0002-make-the-progress-bar-more-stable.patch -%description -Collection of easy to use progress bars and spinners. +%global _description\ +Collection of easy to use progress bars and spinners.\ +%description %_description + +%package -n python2-%{pypi_name} +Summary: %summary +%{?python_provide:%python_provide python2-%{pypi_name}} + +%description -n python2-%{pypi_name} %_description + %if 0%{?with_python3} %package -n python3-%{pypi_name} Summary: Easy to use progress bars @@ -68,7 +76,7 @@ popd %{__python2} setup.py install --skip-build --root %{buildroot} -%files +%files -n python2-%{pypi_name} %doc README.rst LICENSE %{python2_sitelib}/%{pypi_name} %{python2_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info @@ -81,6 +89,10 @@ popd %endif # with_python3 %changelog +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 1.2-14 +- Python 2 binary package renamed to python2-progress + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + * Thu Jul 27 2017 Fedora Release Engineering - 1.2-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From bb4ece1813a92ebb8ad77e34f66920f0327f47a8 Mon Sep 17 00:00:00 2001 From: Iryna Shcherbina Date: Sat, 27 Jan 2018 01:34:07 +0100 Subject: [PATCH 06/53] Update Python 2 dependency declarations to new packaging standards --- python-progress.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/python-progress.spec b/python-progress.spec index bcf2e17..1c7e8a8 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: 1.2 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Easy to use progress bars License: ISC @@ -13,7 +13,7 @@ Source0: https://pypi.python.org/packages/source/p/%{pypi_name}/%{pypi_na BuildArch: noarch BuildRequires: python2-devel -BuildRequires: python-setuptools +BuildRequires: python2-setuptools %if %{?with_python3} BuildRequires: python3-devel @@ -89,6 +89,10 @@ popd %endif # with_python3 %changelog +* Sat Jan 27 2018 Iryna Shcherbina - 1.2-15 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + * Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 1.2-14 - Python 2 binary package renamed to python2-progress See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 From 88c608f77914949c937749e42ac0a9df2ea042cb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 9 Feb 2018 09:54:59 +0000 Subject: [PATCH 07/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 1c7e8a8..2cb0d5b 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: 1.2 -Release: 15%{?dist} +Release: 16%{?dist} Summary: Easy to use progress bars License: ISC @@ -89,6 +89,9 @@ popd %endif # with_python3 %changelog +* Fri Feb 09 2018 Fedora Release Engineering - 1.2-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sat Jan 27 2018 Iryna Shcherbina - 1.2-15 - Update Python 2 dependency declarations to new packaging standards (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) From 8148da1813842ec80c8471b8e32c009f6be60878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 19 Jun 2018 11:13:47 +0200 Subject: [PATCH 08/53] Rebuilt for Python 3.7 --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 2cb0d5b..4e7443f 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: 1.2 -Release: 16%{?dist} +Release: 17%{?dist} Summary: Easy to use progress bars License: ISC @@ -89,6 +89,9 @@ popd %endif # with_python3 %changelog +* Tue Jun 19 2018 Miro Hrončok - 1.2-17 +- Rebuilt for Python 3.7 + * Fri Feb 09 2018 Fedora Release Engineering - 1.2-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 6509813ba97856ab9bae943debee37ad5784ac66 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 14 Jul 2018 01:29:03 +0000 Subject: [PATCH 09/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 4e7443f..235b3e4 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -4,7 +4,7 @@ Name: python-%{pypi_name} Version: 1.2 -Release: 17%{?dist} +Release: 18%{?dist} Summary: Easy to use progress bars License: ISC @@ -89,6 +89,9 @@ popd %endif # with_python3 %changelog +* Sat Jul 14 2018 Fedora Release Engineering - 1.2-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue Jun 19 2018 Miro Hrončok - 1.2-17 - Rebuilt for Python 3.7 From 7a9317354994a441546643337856f8ed7e171853 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Sat, 1 Sep 2018 21:31:36 +0200 Subject: [PATCH 10/53] fix el6 build Related: rhbz#1310704 --- python-progress.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python-progress.spec b/python-progress.spec index ac1b8c3..ca384d3 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -38,6 +38,7 @@ Collection of easy to use progress bars and spinners. %prep %autosetup -p1 -n %{pypi_name}-%{version} + # Remove bundled egg-info rm -rf %{pypi_name}.egg-info @@ -81,6 +82,9 @@ popd %endif # with_python3 %changelog +* Sat Sep 01 2018 Pavel Raiskup - 1.2-10 +- el6 build requires newline after %%autosetup (rhbz#1310704) + * Thu Dec 08 2016 Pavel Raiskup - 1.2-10 - keep enabled python3 subpackage only in fedora, and merge into epel7 From 9e67771e64653995dc3c60d2e2560491f4342d7c Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 3 Oct 2018 08:52:29 +0200 Subject: [PATCH 11/53] No python2 packages in F30+ Resolves: rhbz#1634951 --- python-progress.spec | 72 ++++++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 30 deletions(-) diff --git a/python-progress.spec b/python-progress.spec index 235b3e4..06ba35b 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -1,24 +1,42 @@ +%if 0%{?fedora} + %bcond_without python3 + %if 0%{?fedora} > 29 + %bcond_with python2 + %else + %bcond_without python2 + %endif +%else + %if 0%{?rhel} > 7 + %bcond_with python2 + %bcond_without python3 + %else + %bcond_without python2 + %bcond_with python3 + %endif +%endif + # Created by pyp2rpm-0.5.2 %global pypi_name progress -%global with_python3 0%{?fedora} Name: python-%{pypi_name} Version: 1.2 -Release: 18%{?dist} +Release: 19%{?dist} Summary: Easy to use progress bars License: ISC URL: http://github.com/verigak/progress/ Source0: https://pypi.python.org/packages/source/p/%{pypi_name}/%{pypi_name}-%{version}.tar.gz BuildArch: noarch - + +%if %{with python2} BuildRequires: python2-devel BuildRequires: python2-setuptools - -%if %{?with_python3} +%endif + +%if %{with python3} BuildRequires: python3-devel BuildRequires: python3-setuptools -%endif # if with_python3 +%endif Patch1: 0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch Patch2: 0002-make-the-progress-bar-more-stable.patch @@ -29,19 +47,23 @@ Collection of easy to use progress bars and spinners.\ %description %_description + +%if 0%{with python2} %package -n python2-%{pypi_name} Summary: %summary %{?python_provide:%python_provide python2-%{pypi_name}} %description -n python2-%{pypi_name} %_description +%endif # python2 -%if 0%{?with_python3} + +%if 0%{with python3} %package -n python3-%{pypi_name} Summary: Easy to use progress bars %description -n python3-%{pypi_name} Collection of easy to use progress bars and spinners. -%endif # with_python3 +%endif # python3 %prep @@ -49,46 +71,36 @@ Collection of easy to use progress bars and spinners. # Remove bundled egg-info rm -rf %{pypi_name}.egg-info -%if 0%{?with_python3} -rm -rf %{py3dir} -cp -a . %{py3dir} -find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' -%endif # with_python3 %build -%{__python2} setup.py build +%{?with_python2: %py2_build} +%{?with_python3: %py3_build} -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py build -popd -%endif # with_python3 %install -# Must do the subpackages' install first because the scripts in /usr/bin are -# overwritten with every setup.py install (and we want the python2 version -# to be the default for now). -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py install --skip-build --root %{buildroot} -popd -%endif # with_python3 +%{?with_python2: %py2_install} +%{?with_python3: %py3_install} -%{__python2} setup.py install --skip-build --root %{buildroot} +%if 0%{with python2} %files -n python2-%{pypi_name} %doc README.rst LICENSE %{python2_sitelib}/%{pypi_name} %{python2_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info +%endif -%if 0%{?with_python3} +%if 0%{with python3} %files -n python3-%{pypi_name} %doc README.rst LICENSE %{python3_sitelib}/%{pypi_name} %{python3_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info -%endif # with_python3 +%endif + %changelog +* Wed Oct 03 2018 Pavel Raiskup - 1.2-19 +- no python2 in f30+ (rhbz#1634951) + * Sat Jul 14 2018 Fedora Release Engineering - 1.2-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 0fe14e8f9462b8521dd2a69550afa6e7d716ef9b Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 3 Oct 2018 09:18:29 +0200 Subject: [PATCH 12/53] Fix el6 build Related: rhbz#1310704 --- python-progress.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python-progress.spec b/python-progress.spec index 06ba35b..c88d651 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -68,6 +68,7 @@ Collection of easy to use progress bars and spinners. %prep %autosetup -p1 -n %{pypi_name}-%{version} + # Remove bundled egg-info rm -rf %{pypi_name}.egg-info @@ -100,6 +101,7 @@ rm -rf %{pypi_name}.egg-info %changelog * Wed Oct 03 2018 Pavel Raiskup - 1.2-19 - no python2 in f30+ (rhbz#1634951) +- fix el6 build (rhbz#1310704) * Sat Jul 14 2018 Fedora Release Engineering - 1.2-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 58de2876cab5839ba55634207a6870dda45e4675 Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Wed, 5 Dec 2018 10:04:44 -0600 Subject: [PATCH 13/53] 1.4 --- .gitignore | 1 + python-progress.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 877e889..ddbdc28 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /progress-1.2.tar.gz +/progress-1.4.tar.gz diff --git a/python-progress.spec b/python-progress.spec index c88d651..06e3b25 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -19,8 +19,8 @@ %global pypi_name progress Name: python-%{pypi_name} -Version: 1.2 -Release: 19%{?dist} +Version: 1.4 +Release: 1%{?dist} Summary: Easy to use progress bars License: ISC @@ -38,8 +38,8 @@ BuildRequires: python3-devel BuildRequires: python3-setuptools %endif -Patch1: 0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch -Patch2: 0002-make-the-progress-bar-more-stable.patch +#Patch1: 0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch +#Patch2: 0002-make-the-progress-bar-more-stable.patch %global _description\ Collection of easy to use progress bars and spinners.\ @@ -99,6 +99,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Wed Dec 05 2018 Gwyn Ciesla - 1.4-1 +- 1.4 + * Wed Oct 03 2018 Pavel Raiskup - 1.2-19 - no python2 in f30+ (rhbz#1634951) - fix el6 build (rhbz#1310704) diff --git a/sources b/sources index 569ca80..487c028 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c1dbf49a41e80408d3874d976ba894cc progress-1.2.tar.gz +SHA512 (progress-1.4.tar.gz) = f9973ac4f670632fa4ab27232f53c0c74992329a298f95ea6a39ba7a4cbdccfacd44a49c367bf45d739d4fb652e13c271792eff509c9277e2250c2cdb3e82c48 From 22856fa1a800395bef103faa6fff9266b2be56c3 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Tue, 11 Dec 2018 15:35:26 +0100 Subject: [PATCH 14/53] Updates from PR#3 Version: 1.4-2 --- .gitignore | 3 +- 0001-fixup-moving-average-window.patch | 124 ++++++++++++++++++ ...-dequeue-to-give-us-better-statistic.patch | 73 ----------- 0002-make-the-progress-bar-more-stable.patch | 87 ------------ python-progress.spec | 10 +- 5 files changed, 131 insertions(+), 166 deletions(-) create mode 100644 0001-fixup-moving-average-window.patch delete mode 100644 0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch delete mode 100644 0002-make-the-progress-bar-more-stable.patch diff --git a/.gitignore b/.gitignore index ddbdc28..bf39ebb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -/progress-1.2.tar.gz -/progress-1.4.tar.gz +/progress-*.tar.gz diff --git a/0001-fixup-moving-average-window.patch b/0001-fixup-moving-average-window.patch new file mode 100644 index 0000000..0f3c8bc --- /dev/null +++ b/0001-fixup-moving-average-window.patch @@ -0,0 +1,124 @@ +Fix fast upload avg calculation + +Upstream verigak/progress is broken for very fast uploads; e.g. +with 'copr build' command, the next() call is called so often that +the avg() calculation probably suffers from some small +floating-point numbers problems: + + With 15MB/s => next() called for each 8096B => ~2000 calls/s + +Since the upstream default window size is only of size 10 items +(by default), it calculates the average speed only for the last +~0.005s. We could enlarge the size of window (sma_window param), +but the algorithm is so naive that it would decrease the +performance. + +This has been discussed very extensively with upstream (PR 24 and +friends) but I neither was not able to explain the problem, nor I +was able to convince upstream to accept my patches. + +This downstream patch - while it keeps the backward API +compatibility - changes the algorithm so the average speed is +calculation is fast enough, and much more stable (by default it +calculates speed for window of 2 seconds). + +Fork with this patch backported is maintained in +https://github.com/python-progress/python-progress + +diff --git a/progress/__init__.py b/progress/__init__.py +index a41f65d..1147462 100644 +--- a/progress/__init__.py ++++ b/progress/__init__.py +@@ -24,16 +24,53 @@ from time import time + __version__ = '1.4' + + ++class _Window(object): ++ max_seconds = 2 ++ max_items = None ++ ++ def __init__(self, max_seconds=2, max_items=None): ++ self.max_seconds = max_seconds ++ self.max_items = max_items ++ ++ stamp = time() ++ self.last = stamp - 0.001 ++ self.counter = 0 ++ self.deque = deque() ++ self.next(0, stamp) ++ ++ def pop(self): ++ item = self.deque.popleft() ++ self.counter -= item[1] ++ ++ def clean(self): ++ if self.max_items: ++ while len(self.deque) > self.max_items: ++ self.pop() ++ while len(self.deque) > 2 and self.last - self.deque[0][0] > float(self.max_seconds): ++ self.pop() ++ ++ def next(self, n, t): ++ self.clean() ++ self.deque.append((self.last, n)) ++ self.last = t ++ self.counter += n ++ ++ @property ++ def avg(self): ++ return self.counter / (self.last - self.deque[0][0]) ++ ++ + class Infinite(object): + file = stderr +- sma_window = 10 # Simple Moving Average window ++ # Maximum number of next() calls to be held in Simple Moving Average ++ # window structure (in memory), default is unlimited. ++ sma_window_seconds = 2 ++ sma_window = None + + def __init__(self, *args, **kwargs): + self.index = 0 + self.start_ts = time() +- self.avg = 0 +- self._ts = self.start_ts +- self._xput = deque(maxlen=self.sma_window) ++ self.window = _Window(self.sma_window_seconds, self.sma_window) + for key, val in kwargs.items(): + setattr(self, key, val) + +@@ -46,15 +83,17 @@ class Infinite(object): + def elapsed(self): + return int(time() - self.start_ts) + ++ @property ++ def avg(self): ++ speed = self.window.avg ++ if speed: ++ return 1/speed ++ return 3600 # better constant? ++ + @property + def elapsed_td(self): + return timedelta(seconds=self.elapsed) + +- def update_avg(self, n, dt): +- if n > 0: +- self._xput.append(dt / n) +- self.avg = sum(self._xput) / len(self._xput) +- + def update(self): + pass + +@@ -65,10 +104,7 @@ class Infinite(object): + pass + + def next(self, n=1): +- now = time() +- dt = now - self._ts +- self.update_avg(n, dt) +- self._ts = now ++ self.window.next(n, time()) + self.index = self.index + n + self.update() + diff --git a/0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch b/0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch deleted file mode 100644 index 5ad8b39..0000000 --- a/0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 1911decab746ad8046d00768f6125c7a98ed4fd3 Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -Date: Mon, 18 Jan 2016 18:32:20 +0100 -Subject: [PATCH 1/2] (possibly) enlarge dequeue() to give us better statistics - -It happened on Fedora 23 x86_64 that if the next() was called with -constant window of n=8196 units (in Bytes, default with -MultipartEncoderMonitor) -- some cache/buffer on the road caused -that the sum of deltas started to be highly inaccurate (bar shown -like 40MB instead of 1MB _most_ of the time). This could be -solved by higher sma_window; but we would have to rather large -numbers there and that would result in high complexity. - -So store into deque() also "actual" time() and count all units in -window in separate variable (self._in_window) to avoid sum() -complexity issues. That way we may count: - - (actual_time - last_item_time) / items_in_window - -This would allow us to raise the value of sma_window. - -This resolves verigak/progress/pull/24. ---- - progress/__init__.py | 19 ++++++++++++------- - 1 file changed, 12 insertions(+), 7 deletions(-) - -diff --git a/progress/__init__.py b/progress/__init__.py -index a860e2c..3130fe1 100644 ---- a/progress/__init__.py -+++ b/progress/__init__.py -@@ -32,7 +32,8 @@ class Infinite(object): - self.index = 0 - self.start_ts = time() - self._ts = self.start_ts -- self._dt = deque(maxlen=self.sma_window) -+ self._dt = deque() -+ self._in_window = 0 - for key, val in kwargs.items(): - setattr(self, key, val) - -@@ -43,7 +44,9 @@ class Infinite(object): - - @property - def avg(self): -- return sum(self._dt) / len(self._dt) if self._dt else 0 -+ if not self._in_window: -+ return 0 -+ return (self._ts - self._dt[0]['t']) / self._in_window - - @property - def elapsed(self): -@@ -63,11 +66,13 @@ class Infinite(object): - pass - - def next(self, n=1): -- if n > 0: -- now = time() -- dt = (now - self._ts) / n -- self._dt.append(dt) -- self._ts = now -+ self._ts = time() -+ self._dt.append({'t': self._ts, 'n': n}) -+ self._in_window = self._in_window + n -+ -+ if len(self._dt) > self.sma_window: -+ item = self._dt.popleft() -+ self._in_window = self._in_window - item['n'] - - self.index = self.index + n - self.update() --- -2.7.4 - diff --git a/0002-make-the-progress-bar-more-stable.patch b/0002-make-the-progress-bar-more-stable.patch deleted file mode 100644 index ba0fedc..0000000 --- a/0002-make-the-progress-bar-more-stable.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 4691a1efdcd8cbe4bc66d586307daf6505f21db4 Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -Date: Mon, 18 Jan 2016 19:05:25 +0100 -Subject: [PATCH 2/2] make the progress bar more stable - -Add new sma_delta parameter. That parameter represents time delta -(in seconds) for which _one item_ in deque() is valid until we -create new one. Practically, one item represents number of items -processed during 'sma_delta' time (by default 0.3s). - -Taking into account sma_delta and sma_window values, progress bar -now returns statistics for the last (sma_delta*sma_window) -seconds, which is by default 3s. - -Document a bit. - -This resolves verigak/progress/pull/24. ---- - progress/__init__.py | 43 +++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 41 insertions(+), 2 deletions(-) - -diff --git a/progress/__init__.py b/progress/__init__.py -index 3130fe1..37b4547 100644 ---- a/progress/__init__.py -+++ b/progress/__init__.py -@@ -24,9 +24,35 @@ from time import time - __version__ = '1.2' - - -+""" -+The moving average is calculated by this formula: -+ -+ _in_window / (time() - oldest_timestamp_in_window) -+ -+Because the frequency of calling next() callback might be rather very high, -+doing the naive next()/avg() implementation leads to issues (PR 23): -+ -+ def next(N): -+ t = time() -+ delta = N / (t - last_timestamp) # very small number -+ _dt.append(delta) -+ _avg = sum(_dt)/len(_dt) -+ last_timestamp = t -+ -+.. Even if 'len(_dt)' was 1000, the time frame can be very small (e.g. file -+download for next(N=8k in bytes) on 1Gbit network. With the mentioned formula -+the window size is limited by *time*, not by the next() callback frequency. -+ -+The moving average is calculated -at most- for the last 3 seconds by default: -+ -+ sma_window x sma_delta = 10 x 0.3 = 3s -+ -+Users can change this default window size, when needed. -+""" - class Infinite(object): - file = stderr -- sma_window = 10 -+ sma_window = 10 # Size of the window -- (max) number of sma_delta items. -+ sma_delta = 0.3 # Time-length of one item in window, in seconds. - - def __init__(self, *args, **kwargs): - self.index = 0 -@@ -67,7 +93,20 @@ class Infinite(object): - - def next(self, n=1): - self._ts = time() -- self._dt.append({'t': self._ts, 'n': n}) -+ -+ item = {'t': self._ts, 'n': 0} -+ if len(self._dt): -+ old_item = self._dt.pop() -+ if self._ts > old_item['t'] + self.sma_delta: -+ # Already reached timeout, we are not going to -+ # touch this item. Return it back. -+ self._dt.append(old_item) -+ else: -+ item = old_item -+ -+ item['n'] = item['n'] + n -+ -+ self._dt.append(item) - self._in_window = self._in_window + n - - if len(self._dt) > self.sma_window: --- -2.7.4 - diff --git a/python-progress.spec b/python-progress.spec index 06e3b25..c92b545 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,12 +20,12 @@ Name: python-%{pypi_name} Version: 1.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Easy to use progress bars License: ISC URL: http://github.com/verigak/progress/ -Source0: https://pypi.python.org/packages/source/p/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +Source0: %pypi_source BuildArch: noarch %if %{with python2} @@ -38,8 +38,7 @@ BuildRequires: python3-devel BuildRequires: python3-setuptools %endif -#Patch1: 0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch -#Patch2: 0002-make-the-progress-bar-more-stable.patch +Patch1: 0001-fixup-moving-average-window.patch %global _description\ Collection of easy to use progress bars and spinners.\ @@ -99,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Tue Dec 11 2018 Pavel Raiskup - 1.4-2 +- followup for previous commit, PR#3 + * Wed Dec 05 2018 Gwyn Ciesla - 1.4-1 - 1.4 From 8726ae006439a344d8d414af264c308264a4a4d1 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 12 Dec 2018 12:12:53 +0100 Subject: [PATCH 15/53] update to 1.4 Sync el6 with the rest of the branches. Version: 1.4-2 --- .gitignore | 2 +- 0001-fixup-moving-average-window.patch | 124 +++++++++++++++++ ...-dequeue-to-give-us-better-statistic.patch | 73 ---------- 0002-make-the-progress-bar-more-stable.patch | 87 ------------ python-progress.spec | 129 ++++++++++++------ sources | 2 +- 6 files changed, 215 insertions(+), 202 deletions(-) create mode 100644 0001-fixup-moving-average-window.patch delete mode 100644 0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch delete mode 100644 0002-make-the-progress-bar-more-stable.patch diff --git a/.gitignore b/.gitignore index 877e889..bf39ebb 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/progress-1.2.tar.gz +/progress-*.tar.gz diff --git a/0001-fixup-moving-average-window.patch b/0001-fixup-moving-average-window.patch new file mode 100644 index 0000000..0f3c8bc --- /dev/null +++ b/0001-fixup-moving-average-window.patch @@ -0,0 +1,124 @@ +Fix fast upload avg calculation + +Upstream verigak/progress is broken for very fast uploads; e.g. +with 'copr build' command, the next() call is called so often that +the avg() calculation probably suffers from some small +floating-point numbers problems: + + With 15MB/s => next() called for each 8096B => ~2000 calls/s + +Since the upstream default window size is only of size 10 items +(by default), it calculates the average speed only for the last +~0.005s. We could enlarge the size of window (sma_window param), +but the algorithm is so naive that it would decrease the +performance. + +This has been discussed very extensively with upstream (PR 24 and +friends) but I neither was not able to explain the problem, nor I +was able to convince upstream to accept my patches. + +This downstream patch - while it keeps the backward API +compatibility - changes the algorithm so the average speed is +calculation is fast enough, and much more stable (by default it +calculates speed for window of 2 seconds). + +Fork with this patch backported is maintained in +https://github.com/python-progress/python-progress + +diff --git a/progress/__init__.py b/progress/__init__.py +index a41f65d..1147462 100644 +--- a/progress/__init__.py ++++ b/progress/__init__.py +@@ -24,16 +24,53 @@ from time import time + __version__ = '1.4' + + ++class _Window(object): ++ max_seconds = 2 ++ max_items = None ++ ++ def __init__(self, max_seconds=2, max_items=None): ++ self.max_seconds = max_seconds ++ self.max_items = max_items ++ ++ stamp = time() ++ self.last = stamp - 0.001 ++ self.counter = 0 ++ self.deque = deque() ++ self.next(0, stamp) ++ ++ def pop(self): ++ item = self.deque.popleft() ++ self.counter -= item[1] ++ ++ def clean(self): ++ if self.max_items: ++ while len(self.deque) > self.max_items: ++ self.pop() ++ while len(self.deque) > 2 and self.last - self.deque[0][0] > float(self.max_seconds): ++ self.pop() ++ ++ def next(self, n, t): ++ self.clean() ++ self.deque.append((self.last, n)) ++ self.last = t ++ self.counter += n ++ ++ @property ++ def avg(self): ++ return self.counter / (self.last - self.deque[0][0]) ++ ++ + class Infinite(object): + file = stderr +- sma_window = 10 # Simple Moving Average window ++ # Maximum number of next() calls to be held in Simple Moving Average ++ # window structure (in memory), default is unlimited. ++ sma_window_seconds = 2 ++ sma_window = None + + def __init__(self, *args, **kwargs): + self.index = 0 + self.start_ts = time() +- self.avg = 0 +- self._ts = self.start_ts +- self._xput = deque(maxlen=self.sma_window) ++ self.window = _Window(self.sma_window_seconds, self.sma_window) + for key, val in kwargs.items(): + setattr(self, key, val) + +@@ -46,15 +83,17 @@ class Infinite(object): + def elapsed(self): + return int(time() - self.start_ts) + ++ @property ++ def avg(self): ++ speed = self.window.avg ++ if speed: ++ return 1/speed ++ return 3600 # better constant? ++ + @property + def elapsed_td(self): + return timedelta(seconds=self.elapsed) + +- def update_avg(self, n, dt): +- if n > 0: +- self._xput.append(dt / n) +- self.avg = sum(self._xput) / len(self._xput) +- + def update(self): + pass + +@@ -65,10 +104,7 @@ class Infinite(object): + pass + + def next(self, n=1): +- now = time() +- dt = now - self._ts +- self.update_avg(n, dt) +- self._ts = now ++ self.window.next(n, time()) + self.index = self.index + n + self.update() + diff --git a/0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch b/0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch deleted file mode 100644 index 5ad8b39..0000000 --- a/0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 1911decab746ad8046d00768f6125c7a98ed4fd3 Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -Date: Mon, 18 Jan 2016 18:32:20 +0100 -Subject: [PATCH 1/2] (possibly) enlarge dequeue() to give us better statistics - -It happened on Fedora 23 x86_64 that if the next() was called with -constant window of n=8196 units (in Bytes, default with -MultipartEncoderMonitor) -- some cache/buffer on the road caused -that the sum of deltas started to be highly inaccurate (bar shown -like 40MB instead of 1MB _most_ of the time). This could be -solved by higher sma_window; but we would have to rather large -numbers there and that would result in high complexity. - -So store into deque() also "actual" time() and count all units in -window in separate variable (self._in_window) to avoid sum() -complexity issues. That way we may count: - - (actual_time - last_item_time) / items_in_window - -This would allow us to raise the value of sma_window. - -This resolves verigak/progress/pull/24. ---- - progress/__init__.py | 19 ++++++++++++------- - 1 file changed, 12 insertions(+), 7 deletions(-) - -diff --git a/progress/__init__.py b/progress/__init__.py -index a860e2c..3130fe1 100644 ---- a/progress/__init__.py -+++ b/progress/__init__.py -@@ -32,7 +32,8 @@ class Infinite(object): - self.index = 0 - self.start_ts = time() - self._ts = self.start_ts -- self._dt = deque(maxlen=self.sma_window) -+ self._dt = deque() -+ self._in_window = 0 - for key, val in kwargs.items(): - setattr(self, key, val) - -@@ -43,7 +44,9 @@ class Infinite(object): - - @property - def avg(self): -- return sum(self._dt) / len(self._dt) if self._dt else 0 -+ if not self._in_window: -+ return 0 -+ return (self._ts - self._dt[0]['t']) / self._in_window - - @property - def elapsed(self): -@@ -63,11 +66,13 @@ class Infinite(object): - pass - - def next(self, n=1): -- if n > 0: -- now = time() -- dt = (now - self._ts) / n -- self._dt.append(dt) -- self._ts = now -+ self._ts = time() -+ self._dt.append({'t': self._ts, 'n': n}) -+ self._in_window = self._in_window + n -+ -+ if len(self._dt) > self.sma_window: -+ item = self._dt.popleft() -+ self._in_window = self._in_window - item['n'] - - self.index = self.index + n - self.update() --- -2.7.4 - diff --git a/0002-make-the-progress-bar-more-stable.patch b/0002-make-the-progress-bar-more-stable.patch deleted file mode 100644 index ba0fedc..0000000 --- a/0002-make-the-progress-bar-more-stable.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 4691a1efdcd8cbe4bc66d586307daf6505f21db4 Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -Date: Mon, 18 Jan 2016 19:05:25 +0100 -Subject: [PATCH 2/2] make the progress bar more stable - -Add new sma_delta parameter. That parameter represents time delta -(in seconds) for which _one item_ in deque() is valid until we -create new one. Practically, one item represents number of items -processed during 'sma_delta' time (by default 0.3s). - -Taking into account sma_delta and sma_window values, progress bar -now returns statistics for the last (sma_delta*sma_window) -seconds, which is by default 3s. - -Document a bit. - -This resolves verigak/progress/pull/24. ---- - progress/__init__.py | 43 +++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 41 insertions(+), 2 deletions(-) - -diff --git a/progress/__init__.py b/progress/__init__.py -index 3130fe1..37b4547 100644 ---- a/progress/__init__.py -+++ b/progress/__init__.py -@@ -24,9 +24,35 @@ from time import time - __version__ = '1.2' - - -+""" -+The moving average is calculated by this formula: -+ -+ _in_window / (time() - oldest_timestamp_in_window) -+ -+Because the frequency of calling next() callback might be rather very high, -+doing the naive next()/avg() implementation leads to issues (PR 23): -+ -+ def next(N): -+ t = time() -+ delta = N / (t - last_timestamp) # very small number -+ _dt.append(delta) -+ _avg = sum(_dt)/len(_dt) -+ last_timestamp = t -+ -+.. Even if 'len(_dt)' was 1000, the time frame can be very small (e.g. file -+download for next(N=8k in bytes) on 1Gbit network. With the mentioned formula -+the window size is limited by *time*, not by the next() callback frequency. -+ -+The moving average is calculated -at most- for the last 3 seconds by default: -+ -+ sma_window x sma_delta = 10 x 0.3 = 3s -+ -+Users can change this default window size, when needed. -+""" - class Infinite(object): - file = stderr -- sma_window = 10 -+ sma_window = 10 # Size of the window -- (max) number of sma_delta items. -+ sma_delta = 0.3 # Time-length of one item in window, in seconds. - - def __init__(self, *args, **kwargs): - self.index = 0 -@@ -67,7 +93,20 @@ class Infinite(object): - - def next(self, n=1): - self._ts = time() -- self._dt.append({'t': self._ts, 'n': n}) -+ -+ item = {'t': self._ts, 'n': 0} -+ if len(self._dt): -+ old_item = self._dt.pop() -+ if self._ts > old_item['t'] + self.sma_delta: -+ # Already reached timeout, we are not going to -+ # touch this item. Return it back. -+ self._dt.append(old_item) -+ else: -+ item = old_item -+ -+ item['n'] = item['n'] + n -+ -+ self._dt.append(item) - self._in_window = self._in_window + n - - if len(self._dt) > self.sma_window: --- -2.7.4 - diff --git a/python-progress.spec b/python-progress.spec index ca384d3..c92b545 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -1,39 +1,68 @@ +%if 0%{?fedora} + %bcond_without python3 + %if 0%{?fedora} > 29 + %bcond_with python2 + %else + %bcond_without python2 + %endif +%else + %if 0%{?rhel} > 7 + %bcond_with python2 + %bcond_without python3 + %else + %bcond_without python2 + %bcond_with python3 + %endif +%endif + # Created by pyp2rpm-0.5.2 %global pypi_name progress -%global with_python3 0%{?fedora} Name: python-%{pypi_name} -Version: 1.2 -Release: 10%{?dist} +Version: 1.4 +Release: 2%{?dist} Summary: Easy to use progress bars License: ISC URL: http://github.com/verigak/progress/ -Source0: https://pypi.python.org/packages/source/p/%{pypi_name}/%{pypi_name}-%{version}.tar.gz +Source0: %pypi_source BuildArch: noarch - + +%if %{with python2} BuildRequires: python2-devel -BuildRequires: python-setuptools - -%if %{?with_python3} +BuildRequires: python2-setuptools +%endif + +%if %{with python3} BuildRequires: python3-devel BuildRequires: python3-setuptools -%endif # if with_python3 +%endif -Patch1: 0001-possibly-enlarge-dequeue-to-give-us-better-statistic.patch -Patch2: 0002-make-the-progress-bar-more-stable.patch +Patch1: 0001-fixup-moving-average-window.patch -%description -Collection of easy to use progress bars and spinners. +%global _description\ +Collection of easy to use progress bars and spinners.\ -%if 0%{?with_python3} +%description %_description + + +%if 0%{with python2} +%package -n python2-%{pypi_name} +Summary: %summary +%{?python_provide:%python_provide python2-%{pypi_name}} + +%description -n python2-%{pypi_name} %_description +%endif # python2 + + +%if 0%{with python3} %package -n python3-%{pypi_name} Summary: Easy to use progress bars %description -n python3-%{pypi_name} Collection of easy to use progress bars and spinners. -%endif # with_python3 +%endif # python3 %prep @@ -42,48 +71,68 @@ Collection of easy to use progress bars and spinners. # Remove bundled egg-info rm -rf %{pypi_name}.egg-info -%if 0%{?with_python3} -rm -rf %{py3dir} -cp -a . %{py3dir} -find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' -%endif # with_python3 %build -%{__python2} setup.py build +%{?with_python2: %py2_build} +%{?with_python3: %py3_build} -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py build -popd -%endif # with_python3 %install -# Must do the subpackages' install first because the scripts in /usr/bin are -# overwritten with every setup.py install (and we want the python2 version -# to be the default for now). -%if 0%{?with_python3} -pushd %{py3dir} -%{__python3} setup.py install --skip-build --root %{buildroot} -popd -%endif # with_python3 +%{?with_python2: %py2_install} +%{?with_python3: %py3_install} -%{__python2} setup.py install --skip-build --root %{buildroot} -%files +%if 0%{with python2} +%files -n python2-%{pypi_name} %doc README.rst LICENSE %{python2_sitelib}/%{pypi_name} %{python2_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info +%endif -%if 0%{?with_python3} +%if 0%{with python3} %files -n python3-%{pypi_name} %doc README.rst LICENSE %{python3_sitelib}/%{pypi_name} %{python3_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info -%endif # with_python3 +%endif + %changelog -* Sat Sep 01 2018 Pavel Raiskup - 1.2-10 -- el6 build requires newline after %%autosetup (rhbz#1310704) +* Tue Dec 11 2018 Pavel Raiskup - 1.4-2 +- followup for previous commit, PR#3 + +* Wed Dec 05 2018 Gwyn Ciesla - 1.4-1 +- 1.4 + +* Wed Oct 03 2018 Pavel Raiskup - 1.2-19 +- no python2 in f30+ (rhbz#1634951) +- fix el6 build (rhbz#1310704) + +* Sat Jul 14 2018 Fedora Release Engineering - 1.2-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1.2-17 +- Rebuilt for Python 3.7 + +* Fri Feb 09 2018 Fedora Release Engineering - 1.2-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 27 2018 Iryna Shcherbina - 1.2-15 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 1.2-14 +- Python 2 binary package renamed to python2-progress + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Thu Jul 27 2017 Fedora Release Engineering - 1.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 1.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 1.2-11 +- Rebuild for Python 3.6 * Thu Dec 08 2016 Pavel Raiskup - 1.2-10 - keep enabled python3 subpackage only in fedora, and merge into epel7 diff --git a/sources b/sources index 569ca80..487c028 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c1dbf49a41e80408d3874d976ba894cc progress-1.2.tar.gz +SHA512 (progress-1.4.tar.gz) = f9973ac4f670632fa4ab27232f53c0c74992329a298f95ea6a39ba7a4cbdccfacd44a49c367bf45d739d4fb652e13c271792eff509c9277e2250c2cdb3e82c48 From 46094e8f8e21d061ac84fa7b4b089aaa658b2e45 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 2 Feb 2019 08:26:37 +0000 Subject: [PATCH 16/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index c92b545..9bedb0a 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Sat Feb 02 2019 Fedora Release Engineering - 1.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Tue Dec 11 2018 Pavel Raiskup - 1.4-2 - followup for previous commit, PR#3 From e39309c4c30e20c50916690d7bb91f5c0e6a48ac Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Mon, 18 Mar 2019 11:51:35 +0100 Subject: [PATCH 17/53] new upstream release Version: 1.5-1 --- 0001-fixup-moving-average-window.patch | 61 ++++++++++++++++++++------ python-progress.spec | 7 ++- sources | 2 +- 3 files changed, 54 insertions(+), 16 deletions(-) diff --git a/0001-fixup-moving-average-window.patch b/0001-fixup-moving-average-window.patch index 0f3c8bc..769c68f 100644 --- a/0001-fixup-moving-average-window.patch +++ b/0001-fixup-moving-average-window.patch @@ -22,15 +22,37 @@ compatibility - changes the algorithm so the average speed is calculation is fast enough, and much more stable (by default it calculates speed for window of 2 seconds). +We also don't seem to have the monotonic() mess, since we don't seem +to suffer from the same issues. + Fork with this patch backported is maintained in https://github.com/python-progress/python-progress +diff --git a/MANIFEST.in b/MANIFEST.in +index ef7c4cb..0c73842 100644 +--- a/MANIFEST.in ++++ b/MANIFEST.in +@@ -1,2 +1 @@ + include README.rst LICENSE +-include test_*.py diff --git a/progress/__init__.py b/progress/__init__.py -index a41f65d..1147462 100644 +index e434c25..1cbdce6 100644 --- a/progress/__init__.py +++ b/progress/__init__.py -@@ -24,16 +24,53 @@ from time import time - __version__ = '1.4' +@@ -18,10 +18,7 @@ from collections import deque + from datetime import timedelta + from math import ceil + from sys import stderr +-try: +- from time import monotonic +-except ImportError: +- from time import time as monotonic ++from time import time + + + __version__ = '1.5' +@@ -30,19 +27,55 @@ HIDE_CURSOR = '\x1b[?25l' + SHOW_CURSOR = '\x1b[?25h' +class _Window(object): @@ -76,45 +98,58 @@ index a41f65d..1147462 100644 + # window structure (in memory), default is unlimited. + sma_window_seconds = 2 + sma_window = None + check_tty = True + hide_cursor = True - def __init__(self, *args, **kwargs): + def __init__(self, message='', **kwargs): self.index = 0 - self.start_ts = time() +- self.start_ts = monotonic() - self.avg = 0 +- self._avg_update_ts = self.start_ts - self._ts = self.start_ts - self._xput = deque(maxlen=self.sma_window) ++ self.start_ts = time() + self.window = _Window(self.sma_window_seconds, self.sma_window) for key, val in kwargs.items(): setattr(self, key, val) -@@ -46,15 +83,17 @@ class Infinite(object): - def elapsed(self): - return int(time() - self.start_ts) +@@ -62,23 +95,19 @@ class Infinite(object): + @property + def elapsed(self): +- return int(monotonic() - self.start_ts) ++ return int(time() - self.start_ts) ++ + @property + def avg(self): + speed = self.window.avg + if speed: + return 1/speed + return 3600 # better constant? -+ + @property def elapsed_td(self): return timedelta(seconds=self.elapsed) - def update_avg(self, n, dt): - if n > 0: +- xput_len = len(self._xput) - self._xput.append(dt / n) -- self.avg = sum(self._xput) / len(self._xput) +- now = monotonic() +- # update when we're still filling _xput, then after every second +- if (xput_len < self.sma_window or +- now - self._avg_update_ts > 1): +- self.avg = sum(self._xput) / len(self._xput) +- self._avg_update_ts = now - def update(self): pass -@@ -65,10 +104,7 @@ class Infinite(object): - pass +@@ -112,10 +141,7 @@ class Infinite(object): + return self.file.isatty() if self.check_tty else True def next(self, n=1): -- now = time() +- now = monotonic() - dt = now - self._ts - self.update_avg(n, dt) - self._ts = now diff --git a/python-progress.spec b/python-progress.spec index 9bedb0a..530ea11 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -19,8 +19,8 @@ %global pypi_name progress Name: python-%{pypi_name} -Version: 1.4 -Release: 3%{?dist} +Version: 1.5 +Release: 1%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Mon Mar 18 2019 Pavel Raiskup - 1.5-1 +- the latest upstream release + * Sat Feb 02 2019 Fedora Release Engineering - 1.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index 487c028..c6b40a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (progress-1.4.tar.gz) = f9973ac4f670632fa4ab27232f53c0c74992329a298f95ea6a39ba7a4cbdccfacd44a49c367bf45d739d4fb652e13c271792eff509c9277e2250c2cdb3e82c48 +SHA512 (progress-1.5.tar.gz) = a9bee3498746233f874da2d6509d052882d9592df69c223637279a1fae40174a4dc279b56a7558e95ed173b0d357ae07752501c577a3cb9c79e0f87095838896 From ac87388fb1f835047487f8bbbe340a25a6a26cf4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jul 2019 15:19:11 +0000 Subject: [PATCH 18/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 530ea11..03bee90 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jul 26 2019 Fedora Release Engineering - 1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Mon Mar 18 2019 Pavel Raiskup - 1.5-1 - the latest upstream release From c326a74a7bab5a0b2f1de8ead84cdb2a5435de76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Aug 2019 10:50:37 +0200 Subject: [PATCH 19/53] Rebuilt for Python 3.8 --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 03bee90..0c6ce89 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Mon Aug 19 2019 Miro Hrončok - 1.5-3 +- Rebuilt for Python 3.8 + * Fri Jul 26 2019 Fedora Release Engineering - 1.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 97fe74ee7996aed58ed22567d260826f4b629a8c Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Thu, 26 Sep 2019 08:42:02 -0500 Subject: [PATCH 20/53] "Adding package.cfg file" --- package.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 package.cfg diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file From 682ce814c1d895afb268777cc7275eccfc970ff7 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Thu, 26 Sep 2019 16:22:28 +0200 Subject: [PATCH 21/53] drop package.cfg This is to avoid differences in master and epel8 branch. --- package.cfg | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 package.cfg diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 66ea79d..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = epel8 epel8-playground \ No newline at end of file From 9073d294fbe1c3a5959f18710f46c2e62f05153c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 3 Oct 2019 14:23:50 +0200 Subject: [PATCH 22/53] Rebuilt for Python 3.8.0rc1 (#1748018) --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 0c6ce89..855496a 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.5 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Thu Oct 03 2019 Miro Hrončok - 1.5-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + * Mon Aug 19 2019 Miro Hrončok - 1.5-3 - Rebuilt for Python 3.8 From e9f0d5214f8bfe9a5c1fb162e9d359dc6c1967b7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 30 Jan 2020 14:12:37 +0000 Subject: [PATCH 23/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 855496a..543f744 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.5 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Thu Jan 30 2020 Fedora Release Engineering - 1.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Oct 03 2019 Miro Hrončok - 1.5-4 - Rebuilt for Python 3.8.0rc1 (#1748018) From 495376923bdb157187068d7f6441f18997eabbb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 26 May 2020 03:31:28 +0200 Subject: [PATCH 24/53] Rebuilt for Python 3.9 --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 543f744..4a004fb 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.5 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Tue May 26 2020 Miro Hrončok - 1.5-6 +- Rebuilt for Python 3.9 + * Thu Jan 30 2020 Fedora Release Engineering - 1.5-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 40b9d50d82ce5c581898a132b0b124856ef5eaeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 13 Jul 2020 21:04:36 +0200 Subject: [PATCH 25/53] Replace Python version glob with macro (needed for Python 3.10+) See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/PQIGCQCRNBYNXBX2ICWEM3PLDLNOG2ZT/ Co-authored-by: Tomas Hrnciar --- python-progress.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 4a004fb..a15ffcf 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -93,7 +93,7 @@ rm -rf %{pypi_name}.egg-info %files -n python3-%{pypi_name} %doc README.rst LICENSE %{python3_sitelib}/%{pypi_name} -%{python3_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info +%{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info %endif From 582f828b59ae5ab343652fcb6f63c2d967cf6cb5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jul 2020 02:54:20 +0000 Subject: [PATCH 26/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index a15ffcf..10a9c1e 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.5 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Wed Jul 29 2020 Fedora Release Engineering - 1.5-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue May 26 2020 Miro Hrončok - 1.5-6 - Rebuilt for Python 3.9 From f802995f3676e3646ac704c173233a215459d471 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 27 Jan 2021 12:24:24 +0000 Subject: [PATCH 27/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 10a9c1e..a432bd4 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.5 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Wed Jan 27 2021 Fedora Release Engineering - 1.5-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Wed Jul 29 2020 Fedora Release Engineering - 1.5-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 4aad60a7387518322288694f82820ee9ef041b8e Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 20:51:43 +0200 Subject: [PATCH 28/53] Rebuilt for Python 3.10 --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index a432bd4..d53d1e3 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.5 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jun 04 2021 Python Maint - 1.5-9 +- Rebuilt for Python 3.10 + * Wed Jan 27 2021 Fedora Release Engineering - 1.5-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From b6118e8650bc970d4f1ff3b3ea314791a45d5a04 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 08:21:46 +0000 Subject: [PATCH 29/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index d53d1e3..d61a6ab 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.5 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 1.5-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Fri Jun 04 2021 Python Maint - 1.5-9 - Rebuilt for Python 3.10 From 22463f2e42bb75a0b492d84ded5b0e42fd9adfdd Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Sat, 4 Dec 2021 19:50:18 +0100 Subject: [PATCH 30/53] New upstream release Resolves: rhbz#1987117 Version: 1.6-1 --- 0001-fixup-moving-average-window.patch | 10 +++++----- python-progress.spec | 4 ++-- sources | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/0001-fixup-moving-average-window.patch b/0001-fixup-moving-average-window.patch index 769c68f..8b9de8e 100644 --- a/0001-fixup-moving-average-window.patch +++ b/0001-fixup-moving-average-window.patch @@ -36,7 +36,7 @@ index ef7c4cb..0c73842 100644 include README.rst LICENSE -include test_*.py diff --git a/progress/__init__.py b/progress/__init__.py -index e434c25..1cbdce6 100644 +index b434b30..71b2039 100644 --- a/progress/__init__.py +++ b/progress/__init__.py @@ -18,10 +18,7 @@ from collections import deque @@ -50,7 +50,7 @@ index e434c25..1cbdce6 100644 +from time import time - __version__ = '1.5' + __version__ = '1.6' @@ -30,19 +27,55 @@ HIDE_CURSOR = '\x1b[?25l' SHOW_CURSOR = '\x1b[?25h' @@ -113,7 +113,7 @@ index e434c25..1cbdce6 100644 for key, val in kwargs.items(): setattr(self, key, val) -@@ -62,23 +95,19 @@ class Infinite(object): +@@ -67,23 +100,19 @@ class Infinite(object): @property def elapsed(self): @@ -145,8 +145,8 @@ index e434c25..1cbdce6 100644 def update(self): pass -@@ -112,10 +141,7 @@ class Infinite(object): - return self.file.isatty() if self.check_tty else True +@@ -116,10 +145,7 @@ class Infinite(object): + raise AttributeError(msg) def next(self, n=1): - now = monotonic() diff --git a/python-progress.spec b/python-progress.spec index d61a6ab..f2ae997 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -19,8 +19,8 @@ %global pypi_name progress Name: python-%{pypi_name} -Version: 1.5 -Release: 10%{?dist} +Version: 1.6 +Release: 1%{?dist} Summary: Easy to use progress bars License: ISC diff --git a/sources b/sources index c6b40a1..a0bba33 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (progress-1.5.tar.gz) = a9bee3498746233f874da2d6509d052882d9592df69c223637279a1fae40174a4dc279b56a7558e95ed173b0d357ae07752501c577a3cb9c79e0f87095838896 +SHA512 (progress-1.6.tar.gz) = 58a614bba5a7273a42ba5e9607b3a965fec17f26a4f24563d4c13679ea32b23dda7509c5da81a2a34bebeeedd91154d0457ab8dac95cc7a092add2567249cc94 From 40e61ae2605ea7d9bb4446380b3bbc9873c84744 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jan 2022 14:18:42 +0000 Subject: [PATCH 31/53] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index f2ae997..2687b07 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jan 21 2022 Fedora Release Engineering - 1.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Fri Jul 23 2021 Fedora Release Engineering - 1.5-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 1d8a18691b3493897e2082d6c69c4753d0869d09 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 13 Jun 2022 15:14:03 +0200 Subject: [PATCH 32/53] Rebuilt for Python 3.11 --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 2687b07..8fb8a2d 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Mon Jun 13 2022 Python Maint - 1.6-3 +- Rebuilt for Python 3.11 + * Fri Jan 21 2022 Fedora Release Engineering - 1.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From bbc325efdbd35e8dd63c597d0cca7ab9b3ab445b Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Sat, 2 Jul 2022 10:54:40 +0200 Subject: [PATCH 33/53] Make sure the SMA window has really at least 2 seconds This could cause problems on very unstable connections. When next() wasn't called for a long time, and then it was called very frequently (so time() returned 4x the same value) we were clean()ing the window.dequeue so much so we got "last" equal to "deque[0][0]", therefore counter/(last - deque[0][0]) could cause a division by zero. In theory, this would also solve some temporary situations when subsequent calls to time() did not return consecutive values: >>> a = time() ; b = time() ; a > b True Resolves: rhbz#2103093 Version: 1.6-4 --- 0001-fixup-moving-average-window.patch | 2 +- python-progress.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/0001-fixup-moving-average-window.patch b/0001-fixup-moving-average-window.patch index 8b9de8e..844a6eb 100644 --- a/0001-fixup-moving-average-window.patch +++ b/0001-fixup-moving-average-window.patch @@ -77,7 +77,7 @@ index b434b30..71b2039 100644 + if self.max_items: + while len(self.deque) > self.max_items: + self.pop() -+ while len(self.deque) > 2 and self.last - self.deque[0][0] > float(self.max_seconds): ++ while len(self.deque) > 2 and self.last - self.deque[1][0] > float(self.max_seconds): + self.pop() + + def next(self, n, t): diff --git a/python-progress.spec b/python-progress.spec index 8fb8a2d..5b5e3ac 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Sat Jul 02 2022 Pavel Raiskup - 1.6-4 +- fix for very frequent next() call, rhbz#2103093 + * Mon Jun 13 2022 Python Maint - 1.6-3 - Rebuilt for Python 3.11 From c7e9fc54d91f8223ad5e8f50aea86e3b487a304c Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Tue, 5 Jul 2022 10:02:29 +0200 Subject: [PATCH 34/53] Add a release helper script --- build-and-update-all-branches | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 build-and-update-all-branches diff --git a/build-and-update-all-branches b/build-and-update-all-branches new file mode 100755 index 0000000..53768c2 --- /dev/null +++ b/build-and-update-all-branches @@ -0,0 +1,39 @@ +#! /bin/sh + +# Prepare main branch, review the list of branches below and then execute this +# script. + +branches='main epel7 epel8 epel9 f35 f36' + +exit_handler () +{ + git checkout main +} + +trap exit_handler EXIT + +set -e +set -x + +koji hello + +tasks= +for branch in $branches; do + if test $branch != main; then + git checkout "$branch" + git merge main + fi + git push + skip_nvr_check= + if test $branch = epel7; then + skip_nvr_check=--skip-nvr-check + fi + tasks="${tasks}`fedpkg build $skip_nvr_check --nowait | grep 'Created task' | cut -d: -f2`" +done + +if test -n "$tasks"; then + koji watch-task $tasks +fi + +git checkout main +fedpkg update From 0750cb964f6da5de10da84458ecad1a525826499 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Jul 2022 20:59:56 +0000 Subject: [PATCH 35/53] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 5b5e3ac..6515584 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jul 22 2022 Fedora Release Engineering - 1.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Sat Jul 02 2022 Pavel Raiskup - 1.6-4 - fix for very frequent next() call, rhbz#2103093 From 390ed8303dd1cf4628afc6ccac6b69c329292fae Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Fri, 15 Jul 2022 09:21:25 +0200 Subject: [PATCH 36/53] Sync with https://github.com/python-progress/python-progress - use time.monotonic(), as the original fork does - return infinity time per item for zero speed Version: 1.6-6 --- 0001-fixup-moving-average-window.patch | 57 ++++++++------------------ python-progress.spec | 5 ++- 2 files changed, 22 insertions(+), 40 deletions(-) diff --git a/0001-fixup-moving-average-window.patch b/0001-fixup-moving-average-window.patch index 844a6eb..96ea569 100644 --- a/0001-fixup-moving-average-window.patch +++ b/0001-fixup-moving-average-window.patch @@ -11,7 +11,7 @@ Since the upstream default window size is only of size 10 items (by default), it calculates the average speed only for the last ~0.005s. We could enlarge the size of window (sma_window param), but the algorithm is so naive that it would decrease the -performance. +performance (O(N): sum(queue)/len(queue)). This has been discussed very extensively with upstream (PR 24 and friends) but I neither was not able to explain the problem, nor I @@ -22,36 +22,14 @@ compatibility - changes the algorithm so the average speed is calculation is fast enough, and much more stable (by default it calculates speed for window of 2 seconds). -We also don't seem to have the monotonic() mess, since we don't seem -to suffer from the same issues. - Fork with this patch backported is maintained in https://github.com/python-progress/python-progress -diff --git a/MANIFEST.in b/MANIFEST.in -index ef7c4cb..0c73842 100644 ---- a/MANIFEST.in -+++ b/MANIFEST.in -@@ -1,2 +1 @@ - include README.rst LICENSE --include test_*.py diff --git a/progress/__init__.py b/progress/__init__.py -index b434b30..71b2039 100644 +index b434b30..f26056d 100644 --- a/progress/__init__.py +++ b/progress/__init__.py -@@ -18,10 +18,7 @@ from collections import deque - from datetime import timedelta - from math import ceil - from sys import stderr --try: -- from time import monotonic --except ImportError: -- from time import time as monotonic -+from time import time - - - __version__ = '1.6' -@@ -30,19 +27,55 @@ HIDE_CURSOR = '\x1b[?25l' +@@ -30,19 +30,55 @@ HIDE_CURSOR = '\x1b[?25l' SHOW_CURSOR = '\x1b[?25h' @@ -63,7 +41,7 @@ index b434b30..71b2039 100644 + self.max_seconds = max_seconds + self.max_items = max_items + -+ stamp = time() ++ stamp = monotonic() + self.last = stamp - 0.001 + self.counter = 0 + self.deque = deque() @@ -103,30 +81,26 @@ index b434b30..71b2039 100644 def __init__(self, message='', **kwargs): self.index = 0 -- self.start_ts = monotonic() + self.start_ts = monotonic() - self.avg = 0 - self._avg_update_ts = self.start_ts - self._ts = self.start_ts - self._xput = deque(maxlen=self.sma_window) -+ self.start_ts = time() + self.window = _Window(self.sma_window_seconds, self.sma_window) for key, val in kwargs.items(): setattr(self, key, val) -@@ -67,23 +100,19 @@ class Infinite(object): - - @property +@@ -69,21 +105,17 @@ class Infinite(object): def elapsed(self): -- return int(monotonic() - self.start_ts) -+ return int(time() - self.start_ts) -+ + return int(monotonic() - self.start_ts) + + @property + def avg(self): + speed = self.window.avg + if speed: + return 1/speed -+ return 3600 # better constant? - ++ return float("inf") ++ @property def elapsed_td(self): return timedelta(seconds=self.elapsed) @@ -145,15 +119,20 @@ index b434b30..71b2039 100644 def update(self): pass -@@ -116,10 +145,7 @@ class Infinite(object): - raise AttributeError(msg) +@@ -112,14 +144,10 @@ class Infinite(object): + try: + return self.file.isatty() if self.check_tty else True + except AttributeError: +- msg = "%s has no attribute 'isatty'. Try setting check_tty=False." % self +- raise AttributeError(msg) ++ raise AttributeError('\'{}\' object has no attribute \'isatty\'. Try setting parameter check_tty=False.'.format(self)) def next(self, n=1): - now = monotonic() - dt = now - self._ts - self.update_avg(n, dt) - self._ts = now -+ self.window.next(n, time()) ++ self.window.next(n, monotonic()) self.index = self.index + n self.update() diff --git a/python-progress.spec b/python-progress.spec index 6515584..7b35399 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jul 15 2022 Pavel Raiskup - 1.6-6 +- use time.monotonic(), bar.avg is infinity for zero speed + * Fri Jul 22 2022 Fedora Release Engineering - 1.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 505ca6ee150ca11a19580f3fc228a01592daaa6f Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Fri, 15 Jul 2022 09:25:36 +0200 Subject: [PATCH 37/53] spec: clean comments after macros This caused a non-fatal syntax errors on newer systems. --- python-progress.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-progress.spec b/python-progress.spec index 7b35399..4735194 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -53,7 +53,7 @@ Summary: %summary %{?python_provide:%python_provide python2-%{pypi_name}} %description -n python2-%{pypi_name} %_description -%endif # python2 +%endif %if 0%{with python3} @@ -62,7 +62,7 @@ Summary: Easy to use progress bars %description -n python3-%{pypi_name} Collection of easy to use progress bars and spinners. -%endif # python3 +%endif %prep From ad2c27039ec9609442e5ef4a549e09c82ba4754f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 20 Jan 2023 15:49:29 +0000 Subject: [PATCH 38/53] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 4735194..1a27bd4 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jan 20 2023 Fedora Release Engineering - 1.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Fri Jul 15 2022 Pavel Raiskup - 1.6-6 - use time.monotonic(), bar.avg is infinity for zero speed From 30987611b168fabdc57e24f9b1eed5b6c144bbf0 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 13 Jun 2023 20:47:57 +0200 Subject: [PATCH 39/53] Rebuilt for Python 3.12 --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 1a27bd4..cd2192e 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Tue Jun 13 2023 Python Maint - 1.6-8 +- Rebuilt for Python 3.12 + * Fri Jan 20 2023 Fedora Release Engineering - 1.6-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From b0de2732cba9e027463cb0a2f1902605b8166c34 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jul 2023 12:26:00 +0000 Subject: [PATCH 40/53] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index cd2192e..7f615d5 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jul 21 2023 Fedora Release Engineering - 1.6-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Jun 13 2023 Python Maint - 1.6-8 - Rebuilt for Python 3.12 From 8dcbe52ac30a6340bb947add5cac95c7e0a934a6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 05:12:05 +0000 Subject: [PATCH 41/53] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 7f615d5..05200f4 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 1.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jul 21 2023 Fedora Release Engineering - 1.6-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 8c1145608bcbc7bf2c87b57c89f97c5886f4fe3b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jan 2024 08:13:14 +0000 Subject: [PATCH 42/53] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 05200f4..501b573 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jan 26 2024 Fedora Release Engineering - 1.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Mon Jan 22 2024 Fedora Release Engineering - 1.6-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From aaaf5c13582a4a9b10087c2f473f11eefe587112 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 08:57:25 +0200 Subject: [PATCH 43/53] Rebuilt for Python 3.13 --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 501b573..1e89985 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jun 07 2024 Python Maint - 1.6-12 +- Rebuilt for Python 3.13 + * Fri Jan 26 2024 Fedora Release Engineering - 1.6-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 10a4af73ce4c1cbaf4b13cf8a75e6e637947d67f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 14:12:37 +0000 Subject: [PATCH 44/53] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 1e89985..8532c35 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -20,7 +20,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Easy to use progress bars License: ISC @@ -98,6 +98,9 @@ rm -rf %{pypi_name}.egg-info %changelog +* Fri Jul 19 2024 Fedora Release Engineering - 1.6-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Fri Jun 07 2024 Python Maint - 1.6-12 - Rebuilt for Python 3.13 From 853f4fd193b9fc1405f1d3d5fce0aefda110d558 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 25 Sep 2024 07:08:04 +0200 Subject: [PATCH 45/53] Update the synchronizing script --- build-and-update-all-branches | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-and-update-all-branches b/build-and-update-all-branches index 53768c2..e52a0d7 100755 --- a/build-and-update-all-branches +++ b/build-and-update-all-branches @@ -3,7 +3,7 @@ # Prepare main branch, review the list of branches below and then execute this # script. -branches='main epel7 epel8 epel9 f35 f36' +branches='main epel8 epel9 epel10 f39 f40 f41' exit_handler () { From ffb3785f1fee165771ab964d95edcf7486568bc4 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 25 Sep 2024 07:24:58 +0200 Subject: [PATCH 46/53] Make the changelog chronologically ordered --- python-progress.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 8532c35..68e07cd 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -119,7 +119,7 @@ rm -rf %{pypi_name}.egg-info * Fri Jan 20 2023 Fedora Release Engineering - 1.6-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild -* Fri Jul 15 2022 Pavel Raiskup - 1.6-6 +* Fri Jul 22 2022 Pavel Raiskup - 1.6-6 - use time.monotonic(), bar.avg is infinity for zero speed * Fri Jul 22 2022 Fedora Release Engineering - 1.6-5 From 9dde5d8b5f7ed07dbf606b382574b2945ecda89c Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Wed, 25 Sep 2024 07:27:16 +0200 Subject: [PATCH 47/53] README.md: note about Copr builds --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..9d9b529 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +See also automatic push/pr [Copr builds](https://copr.fedorainfracloud.org/coprs/praiskup/enterprise-ci-python-progress/). From 70c30f0ba5a26a1e829140b1821b8aacf9c962cc Mon Sep 17 00:00:00 2001 From: Carl George Date: Mon, 23 Sep 2024 20:53:27 -0500 Subject: [PATCH 48/53] Convert to pyproject macros This updates the spec file to follow the modern Python Packaging guidelines where possible. --- python-progress.spec | 94 +++++++++++++++++--------------------------- 1 file changed, 37 insertions(+), 57 deletions(-) diff --git a/python-progress.spec b/python-progress.spec index 68e07cd..9383ca3 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -1,103 +1,83 @@ -%if 0%{?fedora} - %bcond_without python3 - %if 0%{?fedora} > 29 - %bcond_with python2 - %else - %bcond_without python2 - %endif -%else - %if 0%{?rhel} > 7 - %bcond_with python2 - %bcond_without python3 - %else - %bcond_without python2 - %bcond_with python3 - %endif -%endif - -# Created by pyp2rpm-0.5.2 %global pypi_name progress Name: python-%{pypi_name} Version: 1.6 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Easy to use progress bars License: ISC URL: http://github.com/verigak/progress/ -Source0: %pypi_source +Source0: %{pypi_source %{pypi_name}} BuildArch: noarch -%if %{with python2} -BuildRequires: python2-devel -BuildRequires: python2-setuptools -%endif - -%if %{with python3} BuildRequires: python3-devel +%if %{defined el8} BuildRequires: python3-setuptools %endif Patch1: 0001-fixup-moving-average-window.patch -%global _description\ -Collection of easy to use progress bars and spinners.\ +%global _description %{expand: +Collection of easy to use progress bars and spinners.} %description %_description -%if 0%{with python2} -%package -n python2-%{pypi_name} -Summary: %summary -%{?python_provide:%python_provide python2-%{pypi_name}} - -%description -n python2-%{pypi_name} %_description -%endif - - -%if 0%{with python3} %package -n python3-%{pypi_name} Summary: Easy to use progress bars -%description -n python3-%{pypi_name} -Collection of easy to use progress bars and spinners. -%endif +%description -n python3-%{pypi_name} %_description %prep %autosetup -p1 -n %{pypi_name}-%{version} -# Remove bundled egg-info -rm -rf %{pypi_name}.egg-info + +%if %{undefined el8} +%generate_buildrequires +%pyproject_buildrequires +%endif %build -%{?with_python2: %py2_build} -%{?with_python3: %py3_build} +%if %{defined el8} +%py3_build +%else +%pyproject_wheel +%endif %install -%{?with_python2: %py2_install} -%{?with_python3: %py3_install} - - -%if 0%{with python2} -%files -n python2-%{pypi_name} -%doc README.rst LICENSE -%{python2_sitelib}/%{pypi_name} -%{python2_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info +%if %{defined el8} +%py3_install +%else +%pyproject_install +%pyproject_save_files -l %{pypi_name} %endif -%if 0%{with python3} -%files -n python3-%{pypi_name} -%doc README.rst LICENSE + +%check +%if %{defined el8} +%py3_check_import %{pypi_name} +%else +%pyproject_check_import +%endif + + +%files -n python3-%{pypi_name} %{!?el8:-f %{pyproject_files}} +%doc README.rst +%if %{defined el8} +%license LICENSE %{python3_sitelib}/%{pypi_name} %{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info %endif %changelog +* Tue Sep 24 2024 Carl George - 1.6-14 +- Convert to pyproject macros + * Fri Jul 19 2024 Fedora Release Engineering - 1.6-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 0574505f81582afea1c3ef8b6f1fb3580fb9ba17 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 17:25:08 +0000 Subject: [PATCH 49/53] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 9383ca3..580fafd 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -2,7 +2,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Easy to use progress bars License: ISC @@ -75,6 +75,9 @@ Summary: Easy to use progress bars %changelog +* Sat Jan 18 2025 Fedora Release Engineering - 1.6-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Tue Sep 24 2024 Carl George - 1.6-14 - Convert to pyproject macros From b9cfe2cc7866194ebebf4657599939e8922da5d6 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 2 Jun 2025 20:34:02 +0200 Subject: [PATCH 50/53] Rebuilt for Python 3.14 --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 580fafd..2d62614 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -2,7 +2,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 15%{?dist} +Release: 16%{?dist} Summary: Easy to use progress bars License: ISC @@ -75,6 +75,9 @@ Summary: Easy to use progress bars %changelog +* Mon Jun 02 2025 Python Maint - 1.6-16 +- Rebuilt for Python 3.14 + * Sat Jan 18 2025 Fedora Release Engineering - 1.6-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 11086bec8a8f38cd13fdf1fe8b560b1449a725f4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 09:27:00 +0000 Subject: [PATCH 51/53] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 2d62614..112dc37 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -2,7 +2,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 16%{?dist} +Release: 17%{?dist} Summary: Easy to use progress bars License: ISC @@ -75,6 +75,9 @@ Summary: Easy to use progress bars %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 1.6-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Mon Jun 02 2025 Python Maint - 1.6-16 - Rebuilt for Python 3.14 From 47d1dfb924d5269e4f5b2d9eecebf7c613f32e0a Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 14:25:42 +0200 Subject: [PATCH 52/53] Rebuilt for Python 3.14.0rc2 bytecode --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index 112dc37..b1bc82d 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -2,7 +2,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 17%{?dist} +Release: 18%{?dist} Summary: Easy to use progress bars License: ISC @@ -75,6 +75,9 @@ Summary: Easy to use progress bars %changelog +* Fri Aug 15 2025 Python Maint - 1.6-18 +- Rebuilt for Python 3.14.0rc2 bytecode + * Fri Jul 25 2025 Fedora Release Engineering - 1.6-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From bb4d7e807721bf5352636aeaa92085c6d873eb49 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 14:01:43 +0200 Subject: [PATCH 53/53] Rebuilt for Python 3.14.0rc3 bytecode --- python-progress.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python-progress.spec b/python-progress.spec index b1bc82d..d8c3ee7 100644 --- a/python-progress.spec +++ b/python-progress.spec @@ -2,7 +2,7 @@ Name: python-%{pypi_name} Version: 1.6 -Release: 18%{?dist} +Release: 19%{?dist} Summary: Easy to use progress bars License: ISC @@ -75,6 +75,9 @@ Summary: Easy to use progress bars %changelog +* Fri Sep 19 2025 Python Maint - 1.6-19 +- Rebuilt for Python 3.14.0rc3 bytecode + * Fri Aug 15 2025 Python Maint - 1.6-18 - Rebuilt for Python 3.14.0rc2 bytecode