limits 4.4__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 → limits-4.5}/HISTORY.rst +19 -0
- {limits-4.4 → limits-4.5}/PKG-INFO +3 -2
- {limits-4.4 → limits-4.5}/limits/_version.py +3 -3
- {limits-4.4 → limits-4.5}/limits/aio/storage/etcd.py +1 -1
- {limits-4.4 → limits-4.5}/limits/aio/storage/memory.py +1 -1
- {limits-4.4 → limits-4.5}/limits/storage/etcd.py +1 -1
- {limits-4.4 → limits-4.5}/limits.egg-info/PKG-INFO +3 -2
- {limits-4.4 → limits-4.5}/CLASSIFIERS +0 -0
- {limits-4.4 → limits-4.5}/CONTRIBUTIONS.rst +0 -0
- {limits-4.4 → limits-4.5}/LICENSE.txt +0 -0
- {limits-4.4 → limits-4.5}/MANIFEST.in +0 -0
- {limits-4.4 → limits-4.5}/README.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/Makefile +0 -0
- {limits-4.4 → limits-4.5}/doc/source/_static/custom.css +0 -0
- {limits-4.4 → limits-4.5}/doc/source/api.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/source/async.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/source/changelog.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/source/conf.py +0 -0
- {limits-4.4 → limits-4.5}/doc/source/custom-storage.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/source/index.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/source/installation.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/source/quickstart.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/source/storage.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/source/strategies.rst +0 -0
- {limits-4.4 → limits-4.5}/doc/source/theme_config.py +0 -0
- {limits-4.4 → limits-4.5}/limits/__init__.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/__init__.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/storage/__init__.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/storage/base.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/storage/memcached.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/storage/mongodb.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/storage/redis/__init__.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/storage/redis/bridge.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/storage/redis/coredis.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/storage/redis/redispy.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/storage/redis/valkey.py +0 -0
- {limits-4.4 → limits-4.5}/limits/aio/strategies.py +0 -0
- {limits-4.4 → limits-4.5}/limits/errors.py +0 -0
- {limits-4.4 → limits-4.5}/limits/limits.py +0 -0
- {limits-4.4 → limits-4.5}/limits/py.typed +0 -0
- {limits-4.4 → limits-4.5}/limits/resources/redis/lua_scripts/acquire_moving_window.lua +0 -0
- {limits-4.4 → limits-4.5}/limits/resources/redis/lua_scripts/acquire_sliding_window.lua +0 -0
- {limits-4.4 → limits-4.5}/limits/resources/redis/lua_scripts/clear_keys.lua +0 -0
- {limits-4.4 → limits-4.5}/limits/resources/redis/lua_scripts/incr_expire.lua +0 -0
- {limits-4.4 → limits-4.5}/limits/resources/redis/lua_scripts/moving_window.lua +0 -0
- {limits-4.4 → limits-4.5}/limits/resources/redis/lua_scripts/sliding_window.lua +0 -0
- {limits-4.4 → limits-4.5}/limits/storage/__init__.py +0 -0
- {limits-4.4 → limits-4.5}/limits/storage/base.py +0 -0
- {limits-4.4 → limits-4.5}/limits/storage/memcached.py +0 -0
- {limits-4.4 → limits-4.5}/limits/storage/memory.py +0 -0
- {limits-4.4 → limits-4.5}/limits/storage/mongodb.py +0 -0
- {limits-4.4 → limits-4.5}/limits/storage/redis.py +0 -0
- {limits-4.4 → limits-4.5}/limits/storage/redis_cluster.py +0 -0
- {limits-4.4 → limits-4.5}/limits/storage/redis_sentinel.py +0 -0
- {limits-4.4 → limits-4.5}/limits/storage/registry.py +0 -0
- {limits-4.4 → limits-4.5}/limits/strategies.py +0 -0
- {limits-4.4 → limits-4.5}/limits/typing.py +0 -0
- {limits-4.4 → limits-4.5}/limits/util.py +0 -0
- {limits-4.4 → limits-4.5}/limits/version.py +0 -0
- {limits-4.4 → limits-4.5}/limits.egg-info/SOURCES.txt +0 -0
- {limits-4.4 → limits-4.5}/limits.egg-info/dependency_links.txt +0 -0
- {limits-4.4 → limits-4.5}/limits.egg-info/not-zip-safe +0 -0
- {limits-4.4 → limits-4.5}/limits.egg-info/requires.txt +0 -0
- {limits-4.4 → limits-4.5}/limits.egg-info/top_level.txt +0 -0
- {limits-4.4 → limits-4.5}/pyproject.toml +0 -0
- {limits-4.4 → limits-4.5}/requirements/ci.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/dev.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/docs.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/main.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/async-etcd.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/async-memcached.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/async-mongodb.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/async-redis.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/async-valkey.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/etcd.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/memcached.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/mongodb.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/redis.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/rediscluster.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/storage/valkey.txt +0 -0
- {limits-4.4 → limits-4.5}/requirements/test.txt +0 -0
- {limits-4.4 → limits-4.5}/setup.cfg +0 -0
- {limits-4.4 → limits-4.5}/setup.py +0 -0
- {limits-4.4 → limits-4.5}/tests/test_limit_granularities.py +0 -0
- {limits-4.4 → limits-4.5}/tests/test_limits.py +0 -0
- {limits-4.4 → limits-4.5}/tests/test_ratelimit_parser.py +0 -0
- {limits-4.4 → limits-4.5}/tests/test_storage.py +0 -0
- {limits-4.4 → limits-4.5}/tests/test_strategy.py +0 -0
- {limits-4.4 → limits-4.5}/tests/test_utils.py +0 -0
- {limits-4.4 → limits-4.5}/versioneer.py +0 -0
|
@@ -3,6 +3,23 @@
|
|
|
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
|
+
|
|
15
|
+
v4.4.1
|
|
16
|
+
------
|
|
17
|
+
Release Date: 2025-03-14
|
|
18
|
+
|
|
19
|
+
* Documentation
|
|
20
|
+
|
|
21
|
+
* Fix deprecation documentation for etcd
|
|
22
|
+
|
|
6
23
|
v4.4
|
|
7
24
|
----
|
|
8
25
|
Release Date: 2025-03-14
|
|
@@ -816,6 +833,8 @@ Release Date: 2015-01-08
|
|
|
816
833
|
|
|
817
834
|
|
|
818
835
|
|
|
836
|
+
|
|
837
|
+
|
|
819
838
|
|
|
820
839
|
|
|
821
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
|