limits 4.3__tar.gz → 4.4__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.3 → limits-4.4}/HISTORY.rst +9 -0
- {limits-4.3 → limits-4.4}/PKG-INFO +1 -1
- {limits-4.3 → limits-4.4}/limits/_version.py +3 -3
- {limits-4.3 → limits-4.4}/limits/aio/storage/etcd.py +3 -0
- {limits-4.3 → limits-4.4}/limits/storage/etcd.py +3 -0
- {limits-4.3 → limits-4.4}/limits.egg-info/PKG-INFO +1 -1
- {limits-4.3 → limits-4.4}/CLASSIFIERS +0 -0
- {limits-4.3 → limits-4.4}/CONTRIBUTIONS.rst +0 -0
- {limits-4.3 → limits-4.4}/LICENSE.txt +0 -0
- {limits-4.3 → limits-4.4}/MANIFEST.in +0 -0
- {limits-4.3 → limits-4.4}/README.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/Makefile +0 -0
- {limits-4.3 → limits-4.4}/doc/source/_static/custom.css +0 -0
- {limits-4.3 → limits-4.4}/doc/source/api.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/source/async.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/source/changelog.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/source/conf.py +0 -0
- {limits-4.3 → limits-4.4}/doc/source/custom-storage.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/source/index.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/source/installation.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/source/quickstart.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/source/storage.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/source/strategies.rst +0 -0
- {limits-4.3 → limits-4.4}/doc/source/theme_config.py +0 -0
- {limits-4.3 → limits-4.4}/limits/__init__.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/__init__.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/__init__.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/base.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/memcached.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/memory.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/mongodb.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/redis/__init__.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/redis/bridge.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/redis/coredis.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/redis/redispy.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/storage/redis/valkey.py +0 -0
- {limits-4.3 → limits-4.4}/limits/aio/strategies.py +0 -0
- {limits-4.3 → limits-4.4}/limits/errors.py +0 -0
- {limits-4.3 → limits-4.4}/limits/limits.py +0 -0
- {limits-4.3 → limits-4.4}/limits/py.typed +0 -0
- {limits-4.3 → limits-4.4}/limits/resources/redis/lua_scripts/acquire_moving_window.lua +0 -0
- {limits-4.3 → limits-4.4}/limits/resources/redis/lua_scripts/acquire_sliding_window.lua +0 -0
- {limits-4.3 → limits-4.4}/limits/resources/redis/lua_scripts/clear_keys.lua +0 -0
- {limits-4.3 → limits-4.4}/limits/resources/redis/lua_scripts/incr_expire.lua +0 -0
- {limits-4.3 → limits-4.4}/limits/resources/redis/lua_scripts/moving_window.lua +0 -0
- {limits-4.3 → limits-4.4}/limits/resources/redis/lua_scripts/sliding_window.lua +0 -0
- {limits-4.3 → limits-4.4}/limits/storage/__init__.py +0 -0
- {limits-4.3 → limits-4.4}/limits/storage/base.py +0 -0
- {limits-4.3 → limits-4.4}/limits/storage/memcached.py +0 -0
- {limits-4.3 → limits-4.4}/limits/storage/memory.py +0 -0
- {limits-4.3 → limits-4.4}/limits/storage/mongodb.py +0 -0
- {limits-4.3 → limits-4.4}/limits/storage/redis.py +0 -0
- {limits-4.3 → limits-4.4}/limits/storage/redis_cluster.py +0 -0
- {limits-4.3 → limits-4.4}/limits/storage/redis_sentinel.py +0 -0
- {limits-4.3 → limits-4.4}/limits/storage/registry.py +0 -0
- {limits-4.3 → limits-4.4}/limits/strategies.py +0 -0
- {limits-4.3 → limits-4.4}/limits/typing.py +0 -0
- {limits-4.3 → limits-4.4}/limits/util.py +0 -0
- {limits-4.3 → limits-4.4}/limits/version.py +0 -0
- {limits-4.3 → limits-4.4}/limits.egg-info/SOURCES.txt +0 -0
- {limits-4.3 → limits-4.4}/limits.egg-info/dependency_links.txt +0 -0
- {limits-4.3 → limits-4.4}/limits.egg-info/not-zip-safe +0 -0
- {limits-4.3 → limits-4.4}/limits.egg-info/requires.txt +0 -0
- {limits-4.3 → limits-4.4}/limits.egg-info/top_level.txt +0 -0
- {limits-4.3 → limits-4.4}/pyproject.toml +0 -0
- {limits-4.3 → limits-4.4}/requirements/ci.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/dev.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/docs.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/main.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/async-etcd.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/async-memcached.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/async-mongodb.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/async-redis.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/async-valkey.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/etcd.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/memcached.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/mongodb.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/redis.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/rediscluster.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/storage/valkey.txt +0 -0
- {limits-4.3 → limits-4.4}/requirements/test.txt +0 -0
- {limits-4.3 → limits-4.4}/setup.cfg +0 -0
- {limits-4.3 → limits-4.4}/setup.py +0 -0
- {limits-4.3 → limits-4.4}/tests/test_limit_granularities.py +0 -0
- {limits-4.3 → limits-4.4}/tests/test_limits.py +0 -0
- {limits-4.3 → limits-4.4}/tests/test_ratelimit_parser.py +0 -0
- {limits-4.3 → limits-4.4}/tests/test_storage.py +0 -0
- {limits-4.3 → limits-4.4}/tests/test_strategy.py +0 -0
- {limits-4.3 → limits-4.4}/tests/test_utils.py +0 -0
- {limits-4.3 → limits-4.4}/versioneer.py +0 -0
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
Changelog
|
|
4
4
|
=========
|
|
5
5
|
|
|
6
|
+
v4.4
|
|
7
|
+
----
|
|
8
|
+
Release Date: 2025-03-14
|
|
9
|
+
|
|
10
|
+
* Compatibility
|
|
11
|
+
|
|
12
|
+
* Deprecate support for ``etcd``
|
|
13
|
+
|
|
6
14
|
v4.3
|
|
7
15
|
----
|
|
8
16
|
Release Date: 2025-03-14
|
|
@@ -808,5 +816,6 @@ Release Date: 2015-01-08
|
|
|
808
816
|
|
|
809
817
|
|
|
810
818
|
|
|
819
|
+
|
|
811
820
|
|
|
812
821
|
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2025-03-
|
|
11
|
+
"date": "2025-03-14T18:16:10-0700",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "4.
|
|
14
|
+
"full-revisionid": "53df3264a638d5259ea9ce3b021affceb263f52d",
|
|
15
|
+
"version": "4.4"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -5,6 +5,8 @@ import time
|
|
|
5
5
|
import urllib.parse
|
|
6
6
|
from typing import TYPE_CHECKING
|
|
7
7
|
|
|
8
|
+
from deprecated import deprecated
|
|
9
|
+
|
|
8
10
|
from limits.aio.storage.base import Storage
|
|
9
11
|
from limits.errors import ConcurrentUpdateError
|
|
10
12
|
|
|
@@ -12,6 +14,7 @@ if TYPE_CHECKING:
|
|
|
12
14
|
import aetcd
|
|
13
15
|
|
|
14
16
|
|
|
17
|
+
@deprecated(version="4.4")
|
|
15
18
|
class EtcdStorage(Storage):
|
|
16
19
|
"""
|
|
17
20
|
Rate limit storage with etcd as backend.
|
|
@@ -3,6 +3,8 @@ from __future__ import annotations
|
|
|
3
3
|
import time
|
|
4
4
|
import urllib.parse
|
|
5
5
|
|
|
6
|
+
from deprecated import deprecated
|
|
7
|
+
|
|
6
8
|
from limits.errors import ConcurrentUpdateError
|
|
7
9
|
from limits.storage.base import Storage
|
|
8
10
|
from limits.typing import TYPE_CHECKING
|
|
@@ -11,6 +13,7 @@ if TYPE_CHECKING:
|
|
|
11
13
|
import etcd3
|
|
12
14
|
|
|
13
15
|
|
|
16
|
+
@deprecated(version="4.4")
|
|
14
17
|
class EtcdStorage(Storage):
|
|
15
18
|
"""
|
|
16
19
|
Rate limit storage with etcd as backend.
|
|
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
|