当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

Vibora

Python 异步网络框架
授权协议 MIT
开发语言 Python
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 不详
投 递 者 锺离嘉茂
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Vibora 是一个 Python 异步网络框架(Python 3.6+),目前正在开发中,处于 alpha 阶段。

按作者的说法,Vibora 翻译成中文就是“毒蛇”的意思。

服务器端功能

  • 性能请查看 https://vibora.io/#benchmarks

  • Schemas 引擎 (比 marshmallow 快 50 倍,支持异步)

  • Nested Blueprints / Domain Based Routes / Components

  • Connection Reaper / 可自修复的 Workers

  • 支持回话 (files, Redis, Memcache)

  • Streaming

  • Websockets

  • 缓存工具

  • 异步模板引擎(热重载、深继承)

  • 完整的流量定制

  • 静态文件(Smart Cache, Range, LastModified, ETags)

  • 完整的测试框架

  • 输入提示

客户端功能

  • 最快的 Python HTTP 客户端

  • Streaming MultipartForms (Inspired by: https://github.com/requests/requests/issues/1584)

  • Rate Limiting / Retries mechanisms

  • Websockets

  • Keep-Alive & Connection Pooling

  • Sessions with cookies persistence

  • Basic/digest Authentication

  • Transparent Content Decoding

服务器端示例代码

from vibora import Vibora, Request
from vibora.responses import JsonResponse

app = Vibora()


@app.route('/')
async def home(request: Request):
    return JsonResponse({'hello': 'world'})


if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=8000)

客户端示例代码

import asyncio
from vibora import client


async def hello_world():
    response = await client.get('https://google.com/')
    print(f'Content: {response.content}')
    print(f'Status code: {response.status_code}')


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(hello_world())

文档

https://docs.vibora.io/docs

 相关资料
  • 本文向大家介绍Android最基本的异步网络请求框架,包括了Android最基本的异步网络请求框架的使用技巧和注意事项,需要的朋友参考一下  本篇文章我们来一起写一个最基本的Android异步网络请求框架,借此来了解下Android中网络请求的相关知识。由于个人水平有限,文中难免存在疏忽和谬误,希望大家可以指出,谢谢大家。 1. 同步网络请求     以HTTP的GET请求为例,我们来介绍一下An

  • tornado.ioloop — Main event loop IOLoop objects Running an IOLoop I/O events Callbacks and timeouts Debugging and error handling Methods for subclasses tornado.iostream — Convenient wrappers for non-b

  • 本文向大家介绍Python网络爬虫中的同步与异步示例详解,包括了Python网络爬虫中的同步与异步示例详解的使用技巧和注意事项,需要的朋友参考一下 一、同步与异步 模板 tips: await表达式中的对象必须是awaitable requests不支持非阻塞 aiohttp是用于异步请求的库 代码 gevent简介 gevent是一个python的并发库,它为各种并发和网络相关的任务提供了整洁的

  • 本文向大家介绍Android 中使用 AsyncTask 异步读取网络图片,包括了Android 中使用 AsyncTask 异步读取网络图片的使用技巧和注意事项,需要的朋友参考一下  1.新建Android工程AsyncLoadPicture 新建布局文件activity_main.xml主界面为一个GridView,还有其子项布局文件gridview_item.xml 2.功能主界面MainA

  • 问题内容: 我有ajax请求执行3个任务: 保存模型(数据库) 发电子邮件 提供成功或失败的消息。 因为此任务需要太多时间。用户可以等待长达20秒的响应(成功或失败的消息)。并且,如果用户关闭浏览器,则它停止在该用户当前处理的操作之一中。 这是糟糕的用户体验。 我希望用户将其数据提交给我的控制器,然后他将收到“成功或失败的消息”。并且该过程将完全在服务器端,并且它应该支持多个会话。 我怎样才能做到

  • Docker 创建网络步骤 Docker是正在发展中的,并会持续提升网络配置的逻辑。当前命令行是很难满足Docker新建容器时所需要的网络配置。 让我们回顾一些基础知识。 通讯的时候使用网际协议(IP),一个机器需要访问至少一个网络接口用来发送和接收包,路由表定义了通过接口可达IP地址范围。网络接口不一定非是物理设备。实际上,在每一个Linux机器(和每个Docker容器内部)的lo回环接口都是有

  • 主要内容:前言,Netty客户端与服务端交互流程,1. 写一个NettyServer,2. 写一个NettyClient,     ChannelHandler ,3.  用NettyClient测试NettyServer,4. 整合netty,5.  failed to create a child event loop 报错问题前言            上篇文章写到了利用zookeeper的特性实现缓存服务地址列表,接下来我们可以借助Netty的优点对程序进行改造,使其即支持Http容器的

  • 问题内容: 我正在编写自己的ContentProvider,它将使用SyncAdapter同步到Web服务。 当同步适配器修改内容提供者的数据时,问题会发生,当内部调用getContentResolver()。notifyChange导致同步循环时,提供者触发网络同步。 客户端应用程序进行修改时,需要带有网络同步标志的notifyChange,但在修改同步适配器时应避免使用notifyChange