Package: facture
facture: async http api framework
===[![image](https://img.shields.io/github/license/rbw/facture.svg?style=flat-square)](https://raw.githubusercontent.com/rbw/facture/master/LICENSE)
[![image](https://img.shields.io/pypi/v/facture.svg?style=flat-square)](https://pypi.org/project/facture)
[![image](https://img.shields.io/travis/rbw/facture.svg?style=flat-square)](https://travis-ci.org/rbw/facture)
[![image](https://img.shields.io/codecov/c/github/rbw/facture.svg?style=flat-square)](https://codecov.io/gh/rbw/facture)
[![image](https://img.shields.io/pypi/pyversions/facture.svg?style=flat-square)](https://pypi.org/project/facture/)Facture provides developers with a sensible base structure and set of tools for
buildingperformant,lightweightandscalableHTTP 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](https://demo.facture.dev).It’s built on top of [aiohttp](https://github.com/aio-libs/aiohttp), is compatible with its plugin system,
and uses theblazing fast[uvloop](https://github.com/MagicStack/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](https://www.postgresql.org) databases
- Provides intuitive tools for object serialization
- Created with [Docker](https://www.docker.com) and [Kubernetes](https://kubernetes.io) in mind
- Works only with modern versions of Python (3.6+)
- Event loop driven; code must be [asynchronous](https://docs.python.org/3/library/asyncio.html)Getting started
—Read the documentation at [https://facture.rtfd.io](https://facture.rtfd.io),
or check out the [jet-guestbook](https://github.com/rbw/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
- [ ] [Admin UI/OpenAPI](https://github.com/rbw/facture/projects/2#card-17017968)
- [ ] [API documentation](https://github.com/rbw/facture/projects/2#card-17018073)
- [ ] [Unit Tests](https://github.com/rbw/facture/projects/2#card-17018080)##### Todo
- [ ] [CORS support](https://github.com/rbw/facture/projects/2#card-17018027)
- [ ] [GraphQL support](https://github.com/rbw/facture/projects/2#card-17018036)
- [ ] [Users package](https://github.com/rbw/facture/projects/2#card-17018007)
- [ ] [Authentication package](https://github.com/rbw/facture/projects/2#card-17018013)
- [ ] [Project Wiki](https://github.com/rbw/facture/projects/2#card-17017985)
- [ ] [Command-line interface](https://github.com/rbw/facture/projects/2#card-17017975)
- [ ] [Modular core](https://github.com/rbw/facture/projects/2#card-18585354)Author
—
Robert Wikman <rbw@vault13.org>