Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pyrate-limiter for
openSUSE:Factory checked in at 2026-08-31 15:56:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyrate-limiter (Old)
and /work/SRC/openSUSE:Factory/.python-pyrate-limiter.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyrate-limiter"
Mon Aug 31 15:56:55 2026 rev:2 rq:1374777 version:4.4.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-pyrate-limiter/python-pyrate-limiter.changes
2026-04-15 20:42:13.182455940 +0200
+++
/work/SRC/openSUSE:Factory/.python-pyrate-limiter.new.1265/python-pyrate-limiter.changes
2026-08-31 15:57:10.294962399 +0200
@@ -1,0 +2,38 @@
+Mon Aug 31 00:45:38 UTC 2026 - Steve Kowalik <[email protected]>
+
+- Add missing BuildRequires on psmisc for killall.
+- Rewrite description.
+
+-------------------------------------------------------------------
+Sun Jun 14 18:38:49 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 4.4.0:
+ * Bug-fix, scalability, and internal-refactor release. No
+ public API changes
+ * **InMemoryBucket**: guard the internal item list with a lock
+ so the background `Leaker` thread can no longer race
+ `put`/`peek`/`leak`. This was a data race in the default
+ configuration (in-memory bucket + scheduled leak).
+ * `MultiprocessBucket` aliases this lock to its shared cross-
+ process lock.
+ * **PostgresClock**: when the DB time query fails, fall back to
+ local **wall-clock** epoch time instead of monotonic time. The
+ monotonic fallback was ~5 orders of magnitude smaller than the
+ stored epoch-ms timestamps and would corrupt every window
+ comparison and leak bound.
+ * **Leaker**: make the background sync-leak worker restartable.
+ Re-registering a bucket after every bucket had been disposed
+ previously raised
+ * **Limiter**: release the limiter lock during the synchronous
+ blocking wait, so a long wait on one key no longer serializes
+ acquisitions for every other key sharing the limiter.
+ * **RedisBucket**: batch weighted `ZADD`s in bounded chunks
+ inside the atomic Lua script, lowering latency for high-weight puts.
+ * Unify the limiter's sync/async acquire plumbing into a single
+ coroutine and share the delay-step decision across the sync
+ and async branches.
+ * Add a declarative `is_async` bucket attribute so the `Leaker`
+ no longer detects async by executing a side-effecting `leak(0)`
+ probe.
+
+-------------------------------------------------------------------
Old:
----
pyrate_limiter-4.1.0.tar.gz
New:
----
pyrate_limiter-4.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyrate-limiter.spec ++++++
--- /var/tmp/diff_new_pack.ga1Fua/_old 2026-08-31 15:57:11.368999871 +0200
+++ /var/tmp/diff_new_pack.ga1Fua/_new 2026-08-31 15:57:11.370999941 +0200
@@ -17,31 +17,33 @@
Name: python-pyrate-limiter
-Version: 4.1.0
+Version: 4.4.0
Release: 0
Summary: Python Rate-Limiter using Leaky-Bucket Algorithm Family
License: MIT
URL: https://github.com/vutran1710/PyrateLimiter
Source:
https://files.pythonhosted.org/packages/source/p/pyrate_limiter/pyrate_limiter-%{version}.tar.gz
BuildArch: noarch
+BuildRequires: %{python_module aiohttp}
BuildRequires: %{python_module base >= 3.10}
-BuildRequires: %{python_module pip}
+BuildRequires: %{python_module filelock >= 3.0}
BuildRequires: %{python_module hatchling}
-BuildRequires: %{python_module sqlite3}
+BuildRequires: %{python_module pip}
+BuildRequires: %{python_module psycopg >= 3.2.9}
BuildRequires: %{python_module pytest >= 8.4.1}
BuildRequires: %{python_module pytest-asyncio >= 1.1.0}
-BuildRequires: %{python_module filelock >= 3.0}
BuildRequires: %{python_module redis >= 6.2.0}
-BuildRequires: %{python_module psycopg >= 3.2.9}
+BuildRequires: %{python_module sqlite3}
BuildRequires: fdupes
+BuildRequires: psmisc
BuildRequires: redis
Requires: python-filelock >= 3.0
-Requires: python-redis >= 6.2.0
Requires: python-psycopg >= 3.2.9
+Requires: python-redis >= 6.2.0
%python_subpackages
%description
-The request rate limiter using Leaky-bucket Algorithm.
+A fast, async-friendly rate limiter for Python with pluggable algorithms and
backends.
%prep
%autosetup -p1 -n pyrate_limiter-%{version}
@@ -56,8 +58,8 @@
%check
# Run the redis server on background since it is required for the tests
%{_sbindir}/redis-server &
-
-%pytest
+%pytest -k "not test_bucket_waiting"
+killall redis-server
%files %{python_files}
%license LICENSE
++++++ pyrate_limiter-4.1.0.tar.gz -> pyrate_limiter-4.4.0.tar.gz ++++++
++++ 4679 lines of diff (skipped)