limits 4.4.1__tar.gz → 4.6__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.6}/HISTORY.rst +20 -0
- {limits-4.4.1 → limits-4.6}/PKG-INFO +3 -2
- {limits-4.4.1 → limits-4.6}/limits/_version.py +3 -3
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/memory.py +1 -1
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/mongodb.py +3 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/mongodb.py +4 -0
- {limits-4.4.1 → limits-4.6}/limits.egg-info/PKG-INFO +3 -2
- {limits-4.4.1 → limits-4.6}/CLASSIFIERS +0 -0
- {limits-4.4.1 → limits-4.6}/CONTRIBUTIONS.rst +0 -0
- {limits-4.4.1 → limits-4.6}/LICENSE.txt +0 -0
- {limits-4.4.1 → limits-4.6}/MANIFEST.in +0 -0
- {limits-4.4.1 → limits-4.6}/README.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/Makefile +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/_static/custom.css +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/api.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/async.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/changelog.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/conf.py +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/custom-storage.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/index.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/installation.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/quickstart.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/storage.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/strategies.rst +0 -0
- {limits-4.4.1 → limits-4.6}/doc/source/theme_config.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/__init__.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/__init__.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/__init__.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/base.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/etcd.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/memcached.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/redis/__init__.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/redis/bridge.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/redis/coredis.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/redis/redispy.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/storage/redis/valkey.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/aio/strategies.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/errors.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/limits.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/py.typed +0 -0
- {limits-4.4.1 → limits-4.6}/limits/resources/redis/lua_scripts/acquire_moving_window.lua +0 -0
- {limits-4.4.1 → limits-4.6}/limits/resources/redis/lua_scripts/acquire_sliding_window.lua +0 -0
- {limits-4.4.1 → limits-4.6}/limits/resources/redis/lua_scripts/clear_keys.lua +0 -0
- {limits-4.4.1 → limits-4.6}/limits/resources/redis/lua_scripts/incr_expire.lua +0 -0
- {limits-4.4.1 → limits-4.6}/limits/resources/redis/lua_scripts/moving_window.lua +0 -0
- {limits-4.4.1 → limits-4.6}/limits/resources/redis/lua_scripts/sliding_window.lua +0 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/__init__.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/base.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/etcd.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/memcached.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/memory.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/redis.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/redis_cluster.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/redis_sentinel.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/storage/registry.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/strategies.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/typing.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/util.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits/version.py +0 -0
- {limits-4.4.1 → limits-4.6}/limits.egg-info/SOURCES.txt +0 -0
- {limits-4.4.1 → limits-4.6}/limits.egg-info/dependency_links.txt +0 -0
- {limits-4.4.1 → limits-4.6}/limits.egg-info/not-zip-safe +0 -0
- {limits-4.4.1 → limits-4.6}/limits.egg-info/requires.txt +0 -0
- {limits-4.4.1 → limits-4.6}/limits.egg-info/top_level.txt +0 -0
- {limits-4.4.1 → limits-4.6}/pyproject.toml +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/ci.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/dev.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/docs.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/main.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/async-etcd.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/async-memcached.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/async-mongodb.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/async-redis.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/async-valkey.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/etcd.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/memcached.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/mongodb.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/redis.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/rediscluster.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/storage/valkey.txt +0 -0
- {limits-4.4.1 → limits-4.6}/requirements/test.txt +0 -0
- {limits-4.4.1 → limits-4.6}/setup.cfg +0 -0
- {limits-4.4.1 → limits-4.6}/setup.py +0 -0
- {limits-4.4.1 → limits-4.6}/tests/test_limit_granularities.py +0 -0
- {limits-4.4.1 → limits-4.6}/tests/test_limits.py +0 -0
- {limits-4.4.1 → limits-4.6}/tests/test_ratelimit_parser.py +0 -0
- {limits-4.4.1 → limits-4.6}/tests/test_storage.py +0 -0
- {limits-4.4.1 → limits-4.6}/tests/test_strategy.py +0 -0
- {limits-4.4.1 → limits-4.6}/tests/test_utils.py +0 -0
- {limits-4.4.1 → limits-4.6}/versioneer.py +0 -0
|
@@ -3,6 +3,24 @@
|
|
|
3
3
|
Changelog
|
|
4
4
|
=========
|
|
5
5
|
|
|
6
|
+
v4.6
|
|
7
|
+
----
|
|
8
|
+
Release Date: 2025-04-03
|
|
9
|
+
|
|
10
|
+
* Bug Fix
|
|
11
|
+
|
|
12
|
+
* Ensure mongo clients are closed on storage destruction.
|
|
13
|
+
`Issue 264 <https://github.com/alisaifee/limits/issues/264>`_
|
|
14
|
+
|
|
15
|
+
v4.5
|
|
16
|
+
----
|
|
17
|
+
Release Date: 2025-04-03
|
|
18
|
+
|
|
19
|
+
* Bug Fix
|
|
20
|
+
|
|
21
|
+
* Fix concurrent update error when expiring moving window entries.
|
|
22
|
+
`Issue 267 <https://github.com/alisaifee/limits/issues/267>`_
|
|
23
|
+
|
|
6
24
|
v4.4.1
|
|
7
25
|
------
|
|
8
26
|
Release Date: 2025-03-14
|
|
@@ -825,6 +843,8 @@ Release Date: 2015-01-08
|
|
|
825
843
|
|
|
826
844
|
|
|
827
845
|
|
|
846
|
+
|
|
847
|
+
|
|
828
848
|
|
|
829
849
|
|
|
830
850
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: limits
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.6
|
|
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:33:38-0700",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "4.
|
|
14
|
+
"full-revisionid": "32d9fb7f2e290c890e52fd64b27550f59dd35583",
|
|
15
|
+
"version": "4.6"
|
|
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.6
|
|
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
|