limits 4.4.1__tar.gz → 4.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {limits-4.4.1 → limits-4.5}/HISTORY.rst +10 -0
- {limits-4.4.1 → limits-4.5}/PKG-INFO +3 -2
- {limits-4.4.1 → limits-4.5}/limits/_version.py +3 -3
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/memory.py +1 -1
- {limits-4.4.1 → limits-4.5}/limits.egg-info/PKG-INFO +3 -2
- {limits-4.4.1 → limits-4.5}/CLASSIFIERS +0 -0
- {limits-4.4.1 → limits-4.5}/CONTRIBUTIONS.rst +0 -0
- {limits-4.4.1 → limits-4.5}/LICENSE.txt +0 -0
- {limits-4.4.1 → limits-4.5}/MANIFEST.in +0 -0
- {limits-4.4.1 → limits-4.5}/README.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/Makefile +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/_static/custom.css +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/api.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/async.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/changelog.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/conf.py +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/custom-storage.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/index.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/installation.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/quickstart.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/storage.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/strategies.rst +0 -0
- {limits-4.4.1 → limits-4.5}/doc/source/theme_config.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/__init__.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/__init__.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/__init__.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/base.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/etcd.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/memcached.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/mongodb.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/redis/__init__.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/redis/bridge.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/redis/coredis.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/redis/redispy.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/storage/redis/valkey.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/aio/strategies.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/errors.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/limits.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/py.typed +0 -0
- {limits-4.4.1 → limits-4.5}/limits/resources/redis/lua_scripts/acquire_moving_window.lua +0 -0
- {limits-4.4.1 → limits-4.5}/limits/resources/redis/lua_scripts/acquire_sliding_window.lua +0 -0
- {limits-4.4.1 → limits-4.5}/limits/resources/redis/lua_scripts/clear_keys.lua +0 -0
- {limits-4.4.1 → limits-4.5}/limits/resources/redis/lua_scripts/incr_expire.lua +0 -0
- {limits-4.4.1 → limits-4.5}/limits/resources/redis/lua_scripts/moving_window.lua +0 -0
- {limits-4.4.1 → limits-4.5}/limits/resources/redis/lua_scripts/sliding_window.lua +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/__init__.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/base.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/etcd.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/memcached.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/memory.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/mongodb.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/redis.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/redis_cluster.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/redis_sentinel.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/storage/registry.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/strategies.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/typing.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/util.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits/version.py +0 -0
- {limits-4.4.1 → limits-4.5}/limits.egg-info/SOURCES.txt +0 -0
- {limits-4.4.1 → limits-4.5}/limits.egg-info/dependency_links.txt +0 -0
- {limits-4.4.1 → limits-4.5}/limits.egg-info/not-zip-safe +0 -0
- {limits-4.4.1 → limits-4.5}/limits.egg-info/requires.txt +0 -0
- {limits-4.4.1 → limits-4.5}/limits.egg-info/top_level.txt +0 -0
- {limits-4.4.1 → limits-4.5}/pyproject.toml +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/ci.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/dev.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/docs.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/main.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/async-etcd.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/async-memcached.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/async-mongodb.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/async-redis.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/async-valkey.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/etcd.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/memcached.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/mongodb.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/redis.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/rediscluster.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/storage/valkey.txt +0 -0
- {limits-4.4.1 → limits-4.5}/requirements/test.txt +0 -0
- {limits-4.4.1 → limits-4.5}/setup.cfg +0 -0
- {limits-4.4.1 → limits-4.5}/setup.py +0 -0
- {limits-4.4.1 → limits-4.5}/tests/test_limit_granularities.py +0 -0
- {limits-4.4.1 → limits-4.5}/tests/test_limits.py +0 -0
- {limits-4.4.1 → limits-4.5}/tests/test_ratelimit_parser.py +0 -0
- {limits-4.4.1 → limits-4.5}/tests/test_storage.py +0 -0
- {limits-4.4.1 → limits-4.5}/tests/test_strategy.py +0 -0
- {limits-4.4.1 → limits-4.5}/tests/test_utils.py +0 -0
- {limits-4.4.1 → limits-4.5}/versioneer.py +0 -0
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
Changelog
|
|
4
4
|
=========
|
|
5
5
|
|
|
6
|
+
v4.5
|
|
7
|
+
----
|
|
8
|
+
Release Date: 2025-04-03
|
|
9
|
+
|
|
10
|
+
* Bug Fix
|
|
11
|
+
|
|
12
|
+
* Fix concurrent update error when expiring moving window entries.
|
|
13
|
+
`Issue 267 <https://github.com/alisaifee/limits/issues/267>`_
|
|
14
|
+
|
|
6
15
|
v4.4.1
|
|
7
16
|
------
|
|
8
17
|
Release Date: 2025-03-14
|
|
@@ -826,5 +835,6 @@ Release Date: 2015-01-08
|
|
|
826
835
|
|
|
827
836
|
|
|
828
837
|
|
|
838
|
+
|
|
829
839
|
|
|
830
840
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: limits
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.5
|
|
4
4
|
Summary: Rate limiting utilities
|
|
5
5
|
Home-page: https://limits.readthedocs.org
|
|
6
6
|
Author: Ali-Akber Saifee
|
|
@@ -66,6 +66,7 @@ Dynamic: classifier
|
|
|
66
66
|
Dynamic: description
|
|
67
67
|
Dynamic: home-page
|
|
68
68
|
Dynamic: license
|
|
69
|
+
Dynamic: license-file
|
|
69
70
|
Dynamic: project-url
|
|
70
71
|
Dynamic: provides-extra
|
|
71
72
|
Dynamic: requires-dist
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2025-
|
|
11
|
+
"date": "2025-04-03T09:10:26-0700",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "4.
|
|
14
|
+
"full-revisionid": "600e96abcf2692e49909b8cf6ca19fc0ee3b2ac3",
|
|
15
|
+
"version": "4.5"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -61,7 +61,7 @@ class MemoryStorage(
|
|
|
61
61
|
asyncio.ensure_future(self.__schedule_expiry())
|
|
62
62
|
|
|
63
63
|
async def __expire_events(self) -> None:
|
|
64
|
-
for key in self.events.keys():
|
|
64
|
+
for key in list(self.events.keys()):
|
|
65
65
|
async with self.locks[key]:
|
|
66
66
|
for event in list(self.events[key]):
|
|
67
67
|
if event.expiry <= time.time() and event in self.events[key]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: limits
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.5
|
|
4
4
|
Summary: Rate limiting utilities
|
|
5
5
|
Home-page: https://limits.readthedocs.org
|
|
6
6
|
Author: Ali-Akber Saifee
|
|
@@ -66,6 +66,7 @@ Dynamic: classifier
|
|
|
66
66
|
Dynamic: description
|
|
67
67
|
Dynamic: home-page
|
|
68
68
|
Dynamic: license
|
|
69
|
+
Dynamic: license-file
|
|
69
70
|
Dynamic: project-url
|
|
70
71
|
Dynamic: provides-extra
|
|
71
72
|
Dynamic: requires-dist
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|