Skip to main content

Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more.

Project description

https://travis-ci.org/dpgaspar/Flask-AppBuilder.png?branch=master https://coveralls.io/repos/dpgaspar/Flask-AppBuilder/badge.png?branch=master Code Health https://img.shields.io/badge/pyversions-2.7%2C3.6-blue.svg

Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more.

Extensive configuration of all functionality, easily integrate with normal Flask/Jinja2 development.

Take a look at installation, quick how to tutorials, API reference etc: Documentation

Checkout installation video on YouTube

Lots of examples and a live quick how to Demo from the docs (login has guest/welcome).

Package Version

New 1.12.2.

BREAKING CHANGES relative to 1.12.0: we have bumped flask-login version, this causes breaking changes on the API relative to this package.

  • Flask-AppBuilder version <= 1.11.1 was using Flask-Login 0.2.X.
  • Flask-AppBuilder version > 1.12.0 is using Flask-Login > 0.3.X.

The following methods from Flask-Login changed to properties:

  • is_anonymous() -> is_anonymous
  • is_active() -> is_active
  • is_authenticated() -> is_authenticated

Take at look at: https://github.com/maxcountryman/flask-login/blob/master/CHANGES#L49

Also read the Versions for further detail on what changed.

Fixes, Bugs and contributions

You’re welcome to report bugs, propose new features, or even better contribute to this project.

Issues, bugs and new features

Contribute

The tests can be run locally (provided Docker and Docker-Compose are installed) by running docker-compose run –rm test

Or, if you have mongodb and the requirements installed locally- setup.py test

Projects/Organizations using FAB

If you would like to share your project, or let everyone know that you’re using FAB on your organization please submit a PR or send me an email with the details.

Projects:

  • Superset - a data exploration platform designed to be visual, intuitive, and interactive

Organizations:

  • Airbnb
  • Miniclip
  • EuroBIC

Includes:

  • Database
    • SQLAlchemy, multiple database support: sqlite, MySQL, ORACLE, MSSQL, DB2 etc.
    • Partial support for MongoDB using MongoEngine.
    • Multiple database connections support (Vertical partitioning).
    • Easy mixin audit to models (created/changed by user, and timestamps).
  • Security
    • Automatic permissions lookup, based on exposed methods. It will grant all permissions to the Admin Role.
    • Inserts on the Database all the detailed permissions possible on your application.
    • Public (no authentication needed) and Private permissions.
    • Role based permissions.
    • Authentication support for OAuth, OpenID, Database, LDAP and REMOTE_USER environ var.
    • Support for self user registration.
  • Views and Widgets
    • Automatic menu generation.
    • Automatic CRUD generation.
    • Multiple actions on db records.
    • Big variety of filters for your lists.
    • Various view widgets: lists, master-detail, list of thumbnails etc
    • Select2, Datepicker, DateTimePicker
    • Related Select2 fields.
    • Google charts with automatic group by or direct values and filters.
    • AddOn system, write your own and contribute.
  • Forms
    • Automatic, Add, Edit and Show from Database Models
    • Labels and descriptions for each field.
    • Automatic base validators from model’s definition.
    • Custom validators, extra fields, custom filters for related dropdown lists.
    • Image and File support for upload and database field association. It will handle everything for you.
    • Field sets for Form’s (Django style).
  • i18n
    • Support for multi-language via Babel
  • Bootstrap 3.1.1 CSS and js, with Select2 and DatePicker
  • Font-Awesome icons, for menu icons and actions.

Some pictures

Login page (with AUTH_DB)

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_db.png

Login page (with AUTH_OAUTH)

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_oauth.png

Security

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/security.png

Lists:

List contacts example

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/contact_list.png

List Group example with search

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/group_list.png

Charts:

Group by pie chart

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/grouped_chart.png

Direct time chart

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/direct_chart.png

Group by time chart

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/chart_time2.png

Depends on:

  • flask
  • click
  • colorama
  • flask-sqlalchemy
  • flask-login
  • flask-openid
  • flask-wtform
  • flask-Babel

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
Flask-AppBuilder-1.12.2.tar.gz (2.3 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page