Skip to content
/ kestrel Public template

A Falcon boilerplate with Docker, OpenAPI, Postgres, UWSGI and Redis

License

Notifications You must be signed in to change notification settings

autocase/kestrel

Repository files navigation

CircleCI codecov Requirements Status License: MIT

Kestrel

A heavily opinionated Falcon boilerplate.

What's Included

For Development

  • OpenAPI/Swagger Viewer for API testing
  • Flake8 for linting
  • Sphinx to generate html documentation

Requirements

Docker

Installation

  1. Clone this repo
  2. Open up your terminal/powershell and navigate to the project folder.
  3. Run Docker Compose to start the VM docker-compose up -d
  4. Go to http://localhost!

Developing locally

While Docker is running, you can install all the dependencies with pipenv install --dev and any changes you make should automatically be reflected on localhost.

Testing

Some sample tests have been written in PyTest, running them is as simple as typing pytest in the directory. This will go through the repository and search for any files starting with test, which are located in the tests folders.

Structure

Alembic

Alembic is a lightweight database migration tool for usage with the SQLAlchemy Database Toolkit for Python.

App

The main Falcon application

App.py

The start of the API service

Middleware

Functions that are called before and after each of the resources.

Resources

All of your endpoints and how you deal with API requests go here

About

A Falcon boilerplate with Docker, OpenAPI, Postgres, UWSGI and Redis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •