节流算法库
rush的Python项目详细描述
此库旨在成为可重用算法的集合 当限制用户与资源(如api)的交互时。
这个图书馆还在建设中。看到我们奋斗的目标 为了。
安装
pip install rush
目标
下面是按类别细分的项目目标列表
功能
- 一个基本的周期间隔速率限制器-每段时间n次访问。一个 例如,github api将经过身份验证的用户限制为5000 每小时请求数。
- 基于通用单元速率限制的漏桶速率限制器 算法(又名gcra)。
- 用于速率限制结果的redis存储后端,以便用户可以具有状态 跨计算机持久化并重新启动应用程序。
- redis gcra实现,可能是从ruby的redis-gcragem中借用的。
质量
- 100%测试覆盖率
- 由黑色自动格式化的代码(CI将检查格式化之前是否未运行 推动)
- 以统一的内核样式提交消息
- flake8、pylint、mypy和bandit linting
- 完整的类型批注
- 由doclint整理并由sphinx严格编译的完整文档
设计
- 可组合-能够自信地将一个算法限制器与任何 正确写入的存储后端
- 很容易理解-希望能很容易理解图书馆 工作原理在于它的可组合性