Spyne is a Python RPC toolkit that makes it easy to expose online services that have a well-defined API using multiple protocols and transports.
It integrates with popular Python web frameworks as well as libraries like SQLAlchemy to keep your code as DRY as possible.
See the documentation for more information. If you like Spyne, make sure to star it on Github.
You can expose the same function using multiple protocols and transports.
You can use TableModel children as both mapped objects in SQLAlchemy code and type annotators in Spyne code. Spyne offers rich mechanisms that lets you use PostgreSQL as a hybrid document store.
The Auxiliary Methods offer a powerful task queuing API. To do additional
work after the primary method returns, you can set the __aux__
attribute in another service definition class and implement the same
method signature. Currently, only the simplest defer-to-thread method
with a non-persistent queue is implemented. This is an experimental part
of Spyne. Patches and feedback are most welcome.