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 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.

Supported by

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