Skip to main content

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>

Metadata

Release files for facture 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for facture 0.2.1
File Size Uploaded
facture-0.2.1.tar.gz 15.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for facture 0.2.1
File Interpreter ABI Platform
facture-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 38.8 kB

Release files / facture-0.2.1.tar.gz

Download URL facture-0.2.1.tar.gz
Size 15.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b4e4a1182902604a1ddb4293164ab7891545df660b9c3d8f5cc3f05d73e954b0
BLAKE2b-256 checksum
How to use checksums
ef7db7292960551f5fa44264b5088c3c33d2b1aee19a4a1358060ab9b8ca1fa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15+

Release files / facture-0.2.1-py3-none-any.whl

Download URL facture-0.2.1-py3-none-any.whl
Size 23.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d5366b8a29460a3b18fe1674c7e5ed6223414278891532ee676a78662e3dafad
BLAKE2b-256 checksum
How to use checksums
8f2ee0c72195f7e20a03055d3235745c416917f2def07ead9a74fef0de018ea6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.15+

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page