Metadata-Version: 2.1
Name: Flask-AppBuilder
Version: 4.1.2
Summary: 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.
Home-page: https://github.com/dpgaspar/flask-appbuilder/
Author: Daniel Vaz Gaspar
Author-email: danielvazgaspar@gmail.com
License: BSD
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: ~=3.7
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: apispec[yaml] (<4,>=3.3)
Requires-Dist: colorama (<1,>=0.3.9)
Requires-Dist: click (<9,>=8)
Requires-Dist: email-validator (<2,>=1.0.5)
Requires-Dist: Flask (<3,>=2)
Requires-Dist: Flask-Babel (<3,>=1)
Requires-Dist: Flask-Login (<0.7,>=0.3)
Requires-Dist: Flask-SQLAlchemy (<3,>=2.4)
Requires-Dist: Flask-WTF (<1.0.0,>=0.14.2)
Requires-Dist: Flask-JWT-Extended (<5.0.0,>=4.0.0)
Requires-Dist: jsonschema (<5,>=3)
Requires-Dist: marshmallow (<4,>=3)
Requires-Dist: marshmallow-enum (<2,>=1.5.1)
Requires-Dist: marshmallow-sqlalchemy (<0.27.0,>=0.22.0)
Requires-Dist: python-dateutil (<3,>=2.3)
Requires-Dist: prison (<1.0.0,>=0.2.1)
Requires-Dist: PyJWT (<3.0.0,>=2.0.0)
Requires-Dist: SQLAlchemy (<1.5)
Requires-Dist: sqlalchemy-utils (<1,>=0.32.21)
Requires-Dist: WTForms (<3.0.0)
Provides-Extra: jmespath
Requires-Dist: jmespath (>=0.9.5) ; extra == 'jmespath'
Provides-Extra: oauth
Requires-Dist: Authlib (<1.0.0,>=0.14) ; extra == 'oauth'
Provides-Extra: openid
Requires-Dist: Flask-OpenID (<2,>=1.2.5) ; extra == 'openid'

Flask App Builder
=================

.. image:: https://github.com/dpgaspar/Flask-AppBuilder/workflows/Python/badge.svg
        :target: https://github.com/dpgaspar/Flask-AppBuilder/actions

.. image:: https://img.shields.io/pypi/v/Flask-AppBuilder.svg
        :alt: PyPI
        :target: https://pypi.org/project/Flask-AppBuilder/

.. image:: https://img.shields.io/badge/pyversions-3.6%2C3.7-blue.svg
        :target: https://www.python.org/

.. image:: https://codecov.io/github/dpgaspar/Flask-AppBuilder/coverage.svg?branch=master
        :target: https://codecov.io/github/dpgaspar/Flask-AppBuilder

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black


Simple and rapid application development framework, built on top of `Flask <http://flask.pocoo.org/>`_.
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.

- Documentation: `Documentation <http://flask-appbuilder.readthedocs.org/en/latest/>`_

- Mailing list: `Google group <https://groups.google.com/forum/#!forum/flask-appbuilder>`_

- Chat: `Gitter <https://gitter.im/dpgaspar/Flask-AppBuilder>`_

- Examples: `examples <https://github.com/dpgaspar/Flask-AppBuilder/tree/master/examples>`_

Checkout installation video on `YouTube <http://youtu.be/xvum4vfwldg>`_

Quick how to `Demo from the docs <http://flaskappbuilder.pythonanywhere.com/>`_ (login has guest/welcome).

Change Log
----------

`Versions <https://github.com/dpgaspar/Flask-AppBuilder/tree/master/CHANGELOG.rst>`_ 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 <https://github.com/dpgaspar/Flask-AppBuilder/issues/new>`_

`Contribute <https://github.com/dpgaspar/Flask-AppBuilder/fork>`_

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.
  - CRUD REST API
      - Automatic CRUD RESTful APIs.
      - Internationalization
      - Integration with flask-jwt-extended extension to protect your endpoints.
      - Metadata for dynamic rendering.
      - Selectable columns and metadata keys.
      - Automatic and configurable data validation.
  - 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)

.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_db.png
    :width: 480px
    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_db.png


Login page (with AUTH_OAUTH)

.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_oauth.png
    :width: 480px
    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_oauth.png


Security

.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/security.png
    :width: 480px
    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/security.png


Lists:

List contacts example

.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/contact_list.png
    :width: 480px
    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/contact_list.png


List Group example with search

.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/group_list.png
    :width: 480px
    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/group_list.png



Charts:

Group by pie chart

.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/grouped_chart.png
    :width: 480px
    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/grouped_chart.png

Direct time chart

.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/direct_chart.png
    :width: 480px
    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/chart_time1.png

Group by time chart

.. image:: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/chart_time2.png
    :width: 480px
    :target: https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/chart_time2.png


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 <https://github.com/apache/incubator-superset>`_ - a data exploration platform designed to be visual, intuitive, and interactive

- `Airflow <https://github.com/apache/airflow>`_ - a platform to programmatically author, schedule, and monitor workflows.


Organizations:

- Miniclip
- EuroBIC
- `On Beat Digital <https://onbeat.digital/>`_


Depends on:
-----------

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


