Skip to main content

Framework for building Web APIs using asyncio

Project description

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 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](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 the blazing 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>

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

facture-0.2.1.tar.gz (15.8 kB view hashes)

Uploaded Source

Built Distribution

facture-0.2.1-py3-none-any.whl (23.0 kB view hashes)

Uploaded Python 3

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