Flask Backbone

screenshot of Flask Backbone
flask

Flask Backbone

[2023] Modern Flask Boilerplate with a well-organised structure.

Overview:

Flask-Backbone is a Flask boilerplate that provides a predefined basic structure for building Flask applications. It is designed to be blueprint-first, allowing for a clean and steady structure. It offers database support via SQLAlchemy, although it is possible to use Flask-Backbone without a database. The boilerplate also includes features such as cache support, Flask-Debug, Sentry support, Jinja filters and custom variables, and interactive commands for creating blueprints. The installation process is straightforward, and the boilerplate is tested with Python 3.11.

Features:

  • Predefined basic structure for clean architecture
  • Database support via SQLAlchemy
  • Cache support via flask_caching
  • Flask-Debug for debugging purposes
  • Sentry support for error tracking
  • Jinja filters and custom variables
  • Blueprint-first design for a clean structure
  • Interactive commands for creating blueprints

Installation:

  1. Clone the flask-backbone repository:
git clone https://github.com/abstractkitchen/flask-backbone.git .
  1. Create a virtual environment (recommended):
python3 -m venv pythonenv
pythonenv/bin/activate
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Launch the configuration script:
python configure.py

This script will create the .env and instance/config.py files required for the setup.

Summary:

Flask-Backbone is a Flask boilerplate that provides a predefined structure and various useful features for building Flask applications. It simplifies the setup process and allows for flexibility in configuring databases, cache, and debugging. With its blueprint-first design, Flask-Backbone promotes clean and organized code architecture. Overall, it offers a comprehensive foundation for Flask development.

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.