Barah

screenshot of Barah
flask

Barah is a Python Twelve factor Flask boilerplate directory structure. You can use this 12 factor app as a template project for any python project that you want to build on flask.

Overview

BarahA is a flask boilerplate template that supports the 12 factors required by a twelve factor app. It provides a Flask server that can be easily set up by cloning the repository. The template includes several features such as a directory structure optimized for Flask, automatic Swagger documentation using Flask-Apispec, request and response validation using Marshmallow and webargs, JWT authentication support, Alembic support for migrations, Flask-restful library for basic structure, extensions structure support, Pydantic support for configuration files, environment variable configuration, test cases using pytest, and SQLAlchemy for database calls. The template also has Docker support for containerization.

Features

  • Flask directory structure: Optimized directory structure for Flask projects.
  • Automatic Swagger docs using Flask-Apispec: Automatically generates Swagger documentation for APIs.
  • Marshmallow and webargs request and response validation: Ensures proper validation of request and response data using Marshmallow and webargs.
  • JWT authentication support: Supports JWT (JSON Web Token) authentication.
  • JWT support in Swagger documentation: Includes JWT support in the Swagger documentation.
  • Alembic support for migrations: Integrates Alembic for managing database migrations.
  • Used Flask-restful library for basic structure: Utilizes Flask-restful library for creating a basic project structure.
  • Extensions structure support: Provides support for using extensions in Flask.
  • Pydantic support for configuration files: Uses Pydantic for handling configuration files.
  • Environment variable for configurations: Supports using environment variables for configuration settings.
  • Test cases using pytest: Provides test cases using pytest for testing the application.
  • SQLAlchemy for database calls: Uses SQLAlchemy for performing database operations.
  • Docker support: Includes Docker support for easy containerization of the application.

Summary

BarahA is a flask boilerplate template that provides a robust foundation for building Flask applications. It includes several key features such as automatic Swagger documentation, request and response validation, JWT authentication support, and database integration with SQLAlchemy. The template is easy to install and comes with Docker support for easy deployment. Overall, BarahA is a comprehensive solution for setting up Flask projects following the twelve-factor app guidelines.

flask
Flask

Flask is a lightweight and popular web framework for Python, known for its simplicity and flexibility. It is widely used to build web applications, providing a minimalistic approach to web development with features like routing, templates, and support for extensions.