限制算法库
项目描述
此库是一组算法集合,可以在限制用户与资源(例如API)交互时重用(例如)。
此库力求允许任何限制器和后端存储一起使用,而无需担心潜在的兼容性问题。
安装
pip install rush
pipenv install rush
特性
基本的周期性间隔速率限制器 - 每段时间内的N次访问。例如,GitHub API限制认证用户每小时最多5000次请求。
基于通用单元速率限制算法(即GCRA)的漏桶速率限制器。
Redis存储后端,用于存储速率限制结果,以便用户可以在机器和应用程序重启之间保持状态。
内存字典存储后端,用于快速原型设计和测试。
库内构建的类型注解,经mypy验证,并分发给用户。
质量
100%测试覆盖率
由Black自动格式化代码(CI将在推送前检查是否已运行格式化)
遵循统一内核样式的提交消息
Flake8, pylint, mypy和bandit代码审查
完整的类型注解
由doclint审查的完整文档,并严格由Sphinx编译
贡献
所有贡献者都应阅读并遵守我们的行为准则。
为了减少提交拉取请求的初始摩擦
请在提交拉取请求之前运行 tox。
提交后,请运行 tox -e commitlint。
为了更容易支持您,请在提交问题之前收集以下信息
您是如何安装 rush 及其依赖项的版本(如果您使用 Redis 存储,请包括 rfc3986 和 redis 的版本信息)。
您正在使用哪些存储和限制器?
重现您问题的示例
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
rush-2021.4.0.tar.gz (15.4 kB 查看哈希值)
构建分发
rush-2021.4.0-py3-none-any.whl (18.6 kB 查看哈希值)
关闭
rush-2021.4.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 818624075f0313f64a4c38ba62bc4a6526ee31b463990c8aebf03a98f5aaf264 |
|
MD5 | edaf657fd579fc57aaf890fb8ecd4485 |
|
BLAKE2b-256 | aef83be2826ee081aeaf47f61bce24d56e4dbf32cb841a2f2708554d4b471ed4 |
关闭
rush-2021.4.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0f775f35a951b7874442c78eaa312bbd442be130dee9508f8d05b2f43dbd3acc |
|
MD5 | 87cb10fdc41bda4bd77437737441d3ed |
|
BLAKE2b-256 | 1f08f38d9f6a3c6d9b5ea2a79414c9a65a7dd7bbe97ee1554396ffe1811a0fad |