All Projects → vibora-io → Vibora

vibora-io / Vibora

Licence: mit
Fast, asynchronous and elegant Python web framework.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Vibora

Gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
Stars: ✭ 53,971 (+841.25%)
Mutual labels:  framework, server, performance
Iris
The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | 谢谢 https://github.com/kataras/iris/issues/1329 |
Stars: ✭ 21,587 (+276.47%)
Mutual labels:  framework, server, performance
Pyrogram
Telegram MTProto API Client Library and Framework in Pure Python for Users and Bots
Stars: ✭ 2,252 (-60.73%)
Mutual labels:  async, framework, client
Novuscore
A modern take on WoW emulation
Stars: ✭ 88 (-98.47%)
Mutual labels:  framework, server, client
Ocpp
Python implementation of the Open Charge Point Protocol (OCPP).
Stars: ✭ 127 (-97.79%)
Mutual labels:  framework, server, client
Socket
Non-blocking socket and TLS functionality for PHP based on Amp.
Stars: ✭ 122 (-97.87%)
Mutual labels:  async, server, client
Laravel S
LaravelS is an out-of-the-box adapter between Swoole and Laravel/Lumen.
Stars: ✭ 3,479 (-39.33%)
Mutual labels:  async, server, performance
Vapor
💧 A server-side Swift HTTP web framework.
Stars: ✭ 21,194 (+269.62%)
Mutual labels:  framework, server
Blacksheep
Fast ASGI web framework and HTTP client for Python asyncio
Stars: ✭ 450 (-92.15%)
Mutual labels:  server, client
Awesome Openapi3
😎 A list of awesome projects related to OpenAPI 3.0.x, curated by the community
Stars: ✭ 469 (-91.82%)
Mutual labels:  server, client
Go Smtp
📤 An SMTP client & server library written in Go
Stars: ✭ 655 (-88.58%)
Mutual labels:  server, client
Node Bluetooth Serial Port
Serial I/O over bluetooth for NodeJS
Stars: ✭ 444 (-92.26%)
Mutual labels:  server, client
Happypandax
A cross-platform server and client application for managing and reading manga and doujinshi
Stars: ✭ 432 (-92.47%)
Mutual labels:  server, client
Warp
A super-easy, composable, web server framework for warp speeds.
Stars: ✭ 5,717 (-0.3%)
Mutual labels:  framework, server
Katanaframework
The New Hacking Framework
Stars: ✭ 502 (-91.25%)
Mutual labels:  framework, client
Gearbox
Gearbox ⚙️ is a web framework written in Go with a focus on high performance
Stars: ✭ 455 (-92.06%)
Mutual labels:  framework, performance
Networksocket
NetworkSocket是一个以中间件(middleware)扩展通讯协议,以插件(plug)扩展服务器功能的支持SSL安全传输的通讯框架;目前支持http、websocket、fast、flex策略与silverlight策略协议。
Stars: ✭ 435 (-92.41%)
Mutual labels:  server, client
Ubiquity
Ubiquity framework
Stars: ✭ 480 (-91.63%)
Mutual labels:  framework, performance
Live Torrent
Torrent Web Client
Stars: ✭ 546 (-90.48%)
Mutual labels:  server, client
Cppserver
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
Stars: ✭ 528 (-90.79%)
Mutual labels:  async, performance

Warning: This project is being completely re-written. If you're curious about the progress, reach me on Slack.

License: MIT PyPI Code style: black Join Slack


Vibora is a fast, asynchronous and elegant Python 3.6+ http client/server framework. (Alpha stage)

Before you ask, Vibora means Viper in Portuguese :)

Server Features

  • Performance (https://github.com/vibora-io/benchmarks).
  • Schemas Engine.
  • Nested Blueprints / Domain Based Routes / Components
  • Connection Reaper / Self-Healing Workers
  • Sessions Engine
  • Streaming
  • Websockets
  • Caching tools
  • Async Template Engine (hot-reloading, deep inheritance)
  • Complete flow customization
  • Static Files (Smart Cache, Range, LastModified, ETags)
  • Testing Framework
  • Type hints, type hints, type hints everywhere.

Client Features

  • 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

Server Example

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)

Client Example

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())

Documentation

Check it out at Vibora docs website.

Performance (Infamous Hello World benchmark)

Frameworks Requests/Sec Version
Tornado 14,197 5.0.2
Django 22,823 2.0.6
Flask 37,487 1.0.2
Aiohttp 61,252 3.3.2
Sanic 119,764 0.7.0
Vibora 368,456 0.0.6

More benchmarks and info at https://github.com/vibora-io/benchmarks


Goals

  • Be the fastest Python http client/server framework..
  • Windows / Linux / MacOS.
  • Enjoyable and up to date development features/trends.

Coming Soon

  • Auto Reloading
  • HTTP2 Support
  • Brotli support (Server/Client)
  • Cython compiled templates.
  • Cython compiled user-routes.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].