/cookiecutter-sanic

A starter Kit to create skeleton for your Sanic Application with Support for Docker and Docker Compose

Primary LanguagePythonMIT LicenseMIT

Cookiecutter Sanic Package

FOSSA Status Build Status Build Status

Cookiecutter template for Sanic Applications

Feature

  • Swagger support via sanic-openapi
  • Docker and docker-compose Support
  • Gunicorn App runner setup
  • Conditional requirements.txt management
  • JSON logging for Docker containers
  • Wrapper for sanic App Configuration via environment variable prefix
  • Default health and status API blueprints
  • tox Environment Setup with py35, py36 py37
  • Unit testing via pytest and pytest-sanic
  • CI support for travis
  • Github Issue and PR templates
  • Mupltiple Runner options
    • Gunicorn
    • Sanic Dev mode with Auto Reload
    • With Sanic Workers and no Dev mode
    • With Async Support
  • Documentation via sphinx
  • Automated Release version management using bumpversion
  • Automated change log management using gitchangelog
  • Python based Build Support and Make file based build support
  • Editor Config support

Quickstart

Install the latest Cookiecutter if you haven't installed it yet (this requires Cookiecutter 1.6.0 or higher):

pip install -U cookiecutter

Generate a Python package project:

cookiecutter https://github.com/harshanarayana/cookiecutter-sanic.git

To Do

  • Authentication Support (JWT, Basic Auth)
  • Rate Limiter
  • Caching Support via Redis/memcached
  • ORM/Database Integration
  • Automated Release Management
  • Automated Change Log Generator

Credits

This template enables automated release version management and changelog generated via the following projects.

Versioning

bumpversion by peritus

Change Log Management

gitchangelog by vaab

License

FOSSA Status