节流算法库

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严格编译的完整文档

设计

  • 可组合-能够自信地将一个算法限制器与任何 正确写入的存储后端
  • 很容易理解-希望能很容易理解图书馆 工作原理在于它的可组合性

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
当使用RequestDispatcher时,servlets Java最终没有被调用   java生成对具有可变参数数的方法的调用   java如何使用select子句中的参数化列映射iBATIS的查询?   java无法创建类型为org的插件。阿帕奇。登录中。log4j。果心阿佩德。元素RollingFile的RollingFileAppender   java当子实体和父实体之间存在OneTONE JPA关系时,是否可以将其与父实体一起持久化?   Android上的java Facebook集成fbconnect断开链接   获取方法调用方的java机制   从列表创建Oracle阵列时出现java问题   添加和检索元素的ArrayList的java ArrayList   在java中从字符串中删除无效的XML字符   java如何构建完整生成的maven模块   java如何准确地改变播放所有分辨率midi文件的速度?   shell javac:无效标志:/src/中位_度。ubuntu中的java   java使用从其他类的方法检索到的信息