facture: async http api framework
Facture provides developers with a sensible base structure and set of tools for building performant, lightweight and scalable HTTP API packages that can be easily deployed, combined - or shared with others.
Check out a demo of the Facture REST API browser over at https://demo.facture.dev.
It's built on top of aiohttp, is compatible with its plugin system, and uses the blazing fast uvloop implementation of the asyncio event loop.
Features and limitations:
- Delivers performance and concurrency
- Scales horizontally
- Comes with a REST API browser
- Supports CORS and JWT out of the box
- Has built-in support for Postgres databases
- Provides intuitive tools for object serialization
- Created with Docker and Kubernetes in mind
- Works only with modern versions of Python (3.6+)
- Event loop driven; code must be asynchronous
Getting started
Read the documentation at https://facture.rtfd.io, or check out the jet-guestbook example.
Development
While Facture does work, it's currently under heavy development; Expect some breakage, as well as lacking documentation and tests. That being said - I would very much appreciate people testing out the software, and perhaps even contribute with code.
Tasks
If you're interested in helping out in any way, let me know by creating an Issue or contact me by email. Below are various tasks that needs completion in a first stable release.
Currently in progress
Todo
- CORS support
- GraphQL support
- Users package
- Authentication package
- Project Wiki
- Command-line interface
- Modular core
Author
Robert Wikman <rbw@vault13.org>