acv-auctions / manifold

A python library that implements a thrift parser into Django to use it's models and controllers to implement RPC/HTTP services.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Manifold: Django Thrift RPC Implementation

image

Manifold is a Django application designed by ACV Auctions that allows for easy creation and serving of an RPC server through a WSGI interface using Gunicorn Thrift and Thriftpy. Manifold uses Apache Thrift to standardize message transmission.

It allows the Django project to define Thrift file locations and services in the settings file. This then gives the power to define Python functions to handle RPC calls, load the Thrift files in memory as a Python module, serve an RPC WSGI server in both development and production, and serve a HTTP wrapper around our RPC functions for frameworks and languages that don't have RPC support.

Table of Contents

Credits and Maintenance

Manifold is built using Django and Thriftpy, and is maintained by ACV Auctions.

Thrift Guide

For an introduction and in-depth description of Thrift, we recommend following Thrift: The Missing Guide.

Usage Guide

View the documentation for usage guides.

Contributing Guide

This project is developed and maintained by ACV Auctions. We are always open to outside contributers helping to making Manifold better. Please refer to our Contribution Guide to make a change.

License

Manifold is Apache 2.0 Licensed

About

A python library that implements a thrift parser into Django to use it's models and controllers to implement RPC/HTTP services.

License:Apache License 2.0


Languages

Language:Python 96.5%Language:Thrift 2.8%Language:Makefile 0.6%