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>

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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file facture-0.2.1.tar.gz.

File metadata

  • Download URL: facture-0.2.1.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using 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+

File hashes

Hashes for facture-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b4e4a1182902604a1ddb4293164ab7891545df660b9c3d8f5cc3f05d73e954b0
MD5 cc8226852edd101ad8a3b7612020f97c
BLAKE2b-256 ef7db7292960551f5fa44264b5088c3c33d2b1aee19a4a1358060ab9b8ca1fa1

See more details on using hashes here.

File details

Details for the file facture-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: facture-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 23.0 kB
  • Tags: Python 3
  • Uploaded using 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+

File hashes

Hashes for facture-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d5366b8a29460a3b18fe1674c7e5ed6223414278891532ee676a78662e3dafad
MD5 145e28f5e7313615923ba40270dcf1fe
BLAKE2b-256 8f2ee0c72195f7e20a03055d3235745c416917f2def07ead9a74fef0de018ea6

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page