Skip to main content

Venom is an upcoming RPC framework for Python

Project description

https://img.shields.io/travis/biosustain/venom/master.svg?style=flat-square https://img.shields.io/pypi/v/venom.svg?style=flat-square https://img.shields.io/pypi/l/venom.svg?style=flat-square

Venom is an upcoming RPC framework for Python.

So far, Venom RPC supports unary requests & responses that are defined as methods on services. The framework is designed to support different server implementations. The first implementation is a HTTP/1 protocol implementation using “aiohttp”.

Installation

Venom RPC alpha requires Python 3.5. The final version will likely require Python 3.6.

To install Venom using ‘pip’, enter:

pip install venom==1.0.0a1

Road map

A list of major features required for the first release:

  • Schema validation

  • Documentation

An unordered list of potential future features:

  • Streaming requests & responses with ZMQ

  • Unary HTTP/1 implementation with “flask”

  • WebSocket implementation with “aiohttp”

    This would be the only solution that fully supports streaming and can be used in the browser today.

  • gRPC (HTTP/2) implementation with e.g. “hyper-h2”

    There’s already an experimental gRPC implentation based on “grpcio”, but without true support for asynchronous calls because that is not supported by the official Python library.

  • MsgPack serialization support

  • Protocol Buffer support

  • JSON Hyper-Schema service

  • OpenAPI (Swagger) schema service

  • Client generation from schema

Streamed responses would use Python 3.6 coroutine generators

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

venom-1.0.0a1.tar.gz (16.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page