Flask-Diamond is a batteries-included Python Flask framework, sortof like Django but radically decomposable. Flask-Diamond offers some opinions about network information systems that process data. Using Flask-Diamond, you can scaffold a working application with sensible defaults, then easily override those defaults to meet your own goals. Flask-Diamond provides a shared vocabulary that helps teams coordinate as they scale up to develop multiple Flask applications while maintaining good code reuse and learning transfer. Flask-Diamond goes beyond a “project scaffold” by providing a complete architecture and team solution, including documentation, tutorials, and other learning support.


A Flask-Diamond application consists of facets, which are common facilities that many applications eventually need to provide. The facets provided by Flask-Diamond include:

  • account management
  • administrative access
  • databases
  • Model object CRUD
  • email
  • testing
  • documentation
  • deployment
  • and more


The following steps will create a new Flask-Diamond application.

pip install Flask-Diamond
mkdir my-application
cd my-application
flask-diamond scaffold app
make install docs test db server

Please read the Introduction Documentation to get started.

Quick Start Screencast

Flask-Diamond Quick Start

Length: 3:17

Get Started

Start here. These introductory readings will teach you how to install Flask-Diamond and how to read the rest of the Flask-Diamond documentation.


Learn how to create a new project. This section introduces the Flask-Diamond philosophy and the first steps for making an application.

Operation Guide

The User Guide topics are for managing and installing a Flask-Diamond application. In particular, IT Ops and Deployment Engineers will benefit from this section.