REST(Micro)服务器,可以在几分钟内生成一个API。

efesto的Python项目详细描述


efesto

PypiTravis buildCodacy gradeCodacy grade

一个micro rest api几乎可以与其他api一起使用 微服务。

它通过提供一种简单的方法来构建后端并公开它来启动您。 efesto使用postgresql和jwts进行身份验证。

efesto遵循unix的一个原则,即做一件事并且做得好,留给您 自由选择其他组件(身份验证、缓存、速率限制, 负载均衡器)。

安装

可能在虚拟环境中安装efesto:

pip install efesto

创建PostgreSQL数据库并导出数据库URL:

exportdb_url=postgres://postgres:postgres@localhost:5432/efesto

导出JWT密钥:

exportjwt_secret=secret

填充数据库:

efesto quickstart

创建管理员:

efesto create_user tofu --superuser

现在您可以使用uwsgi或gunicorn启动efesto:

gunicorn "efesto.App:App.run()"

efesto现在应该在运行了,让我们确保它是。用这个秘密创建一个jwt 您已经配置。efesto附带了一个助手:

efesto token tofu 1000

使用令牌发送请求:

curl http://localhost:8000/users -H "Authorization: Bearer token"

成功!Efesto运行良好。阅读全文 documentation <http://efesto.readthedocs.io>了解更多信息

性能

在一个小的数字海洋上,efesto每秒大约执行200个请求。 droplet,用于包含jwt身份验证、获取数据和 打印出json。

您已经看到10万个请求基准,但不要被愚弄: 作者的大多数基准都是为了使他们的包达到最高 不能反映真实情况。

Efesto没有达到最大限度,可以做很多事情来改进。 它的表现。

作者的注释

  • efesto并不是所有问题的解决方案。会很好的 作为一个原型和早期的后端,从长远来看(见下文)就不那么重要了。

  • Efesto缺乏一些战略特性,我只能把有限的数量 时间进入埃弗斯托。如果你想完成一些功能而不能贡献 你自己,我可以被录用。

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

推荐PyPI第三方库


热门话题
java限制C++代码访问JNI中的某些类   Android上的java DateFormat:不可解析的日期   通过json进行java迭代,并为其他请求调用多个API   Netbeans中的java JavaFX项目引发异常“输入流不能为null”   多线程Java newFixedThreadPool解释   |在java字符串中无法识别。split()方法   Java中的原始包装器类是否被视为引用类型?   Java swing。如何在intellij idea GUI设计工具中重写组件方法   数组乘矩阵   java将30GB的XML文件分割成小块XML   java通过一棵树递归找到一个节点,并返回指向该节点的路径   java如何将可观察的<Observable<List<T>>转换为可观察的<List<T>>   使用java在web服务器上更改php文件中的字符串?   java希望开发像tomcat这样的servlet容器   java希望提高编程的数学技能