{"library":"flask-appbuilder","title":"Flask-AppBuilder","description":"Flask-AppBuilder (FAB) is a simple and rapid application development framework built on top of Flask. It provides detailed security features, automatic CRUD generation for database models, Google Charts integration, and more. It is currently at version 5.2.0 and maintains an active release cadence with frequent updates and new features. [3, 4]","language":"python","status":"active","last_verified":"Wed May 20","install":{"commands":["pip install Flask-AppBuilder"],"cli":{"name":"flask fab","version":"Usage: flask fab [OPTIONS] COMMAND [ARGS]..."}},"imports":["from flask_appbuilder import AppBuilder","from flask_appbuilder import SQLA","from flask_appbuilder import ModelView","from flask_appbuilder.models.sqla.interface import SQLAInterface"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom flask import Flask\nfrom flask_appbuilder import SQLA, AppBuilder, ModelView\nfrom flask_appbuilder.models.sqla.interface import SQLAInterface\n\n# Your App class\nclass MyUser(SQLA.Model):\n    id = SQLA.Column(SQLA.Integer, primary_key=True)\n    name = SQLA.Column(SQLA.String(50), unique=True, nullable=False)\n\n    def __repr__(self):\n        return self.name\n\n# Instantiate Flask app\napp = Flask(__name__)\napp.config['SECRET_KEY'] = os.environ.get('FLASK_SECRET_KEY', 'a-very-secret-key-that-you-should-change')\napp.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(os.path.dirname(__file__), 'app.db')\napp.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False\n\n# Instantiate SQLAlchemy and AppBuilder\ndb = SQLA(app)\nappbuilder = AppBuilder(app, db.session)\n\n# Create a ModelView for MyUser\nclass MyUserView(ModelView):\n    datamodel = SQLAInterface(MyUser)\n    list_columns = ['name']\n\n# Add the view to AppBuilder\nappbuilder.add_view(MyUserView, 'List My Users', icon='fa-users', category='My App')\n\n# To run the app:\n# $ export FLASK_APP=your_app_file_name.py\n# $ flask fab create-admin (follow prompts to create an admin user)\n# $ flask run\n# Access at http://127.0.0.1:5000","lang":"python","description":"This quickstart sets up a minimal Flask-AppBuilder application with a simple SQLAlchemy model and a corresponding ModelView for CRUD operations. It initializes Flask, Flask-SQLAlchemy, and Flask-AppBuilder, then registers a basic view. You'll need to set a `FLASK_SECRET_KEY` environment variable or replace the placeholder. After running, use `flask fab create-admin` to set up an administrative user. [2, 8, 10, 12, 21]","tag":null,"tag_description":null,"last_tested":"2026-04-24","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]},"compatibility":{"tag":"verified","tag_description":"installs cleanly on critical runtimes, fast import, recently tested","last_tested":"2026-05-20","installed_version":"5.2.1","pypi_latest":"5.2.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":9,"avg_import_s":2.8,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.37,"mem_mb":43.1,"disk_size":"120.3M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.56,"mem_mb":42.4,"disk_size":"120.1M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":9.3,"import_time_s":1.92,"mem_mb":43.2,"disk_size":"119M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.98,"mem_mb":42.5,"disk_size":"119M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.58,"mem_mb":47.6,"disk_size":"129.8M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":4.05,"mem_mb":46.9,"disk_size":"129.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8.9,"import_time_s":3.17,"mem_mb":47.7,"disk_size":"129M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.1,"mem_mb":47,"disk_size":"128M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.02,"mem_mb":47.2,"disk_size":"120.2M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.56,"mem_mb":46.1,"disk_size":"119.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.9,"import_time_s":3.14,"mem_mb":47.3,"disk_size":"119M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.63,"mem_mb":46.1,"disk_size":"119M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.94,"mem_mb":49.4,"disk_size":"119.8M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.36,"mem_mb":47.5,"disk_size":"119.4M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.6,"import_time_s":3.01,"mem_mb":49.5,"disk_size":"119M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.42,"mem_mb":47.6,"disk_size":"118M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.75,"mem_mb":43.5,"disk_size":"118.2M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.96,"mem_mb":43.5,"disk_size":"118.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.1,"import_time_s":1.69,"mem_mb":43.5,"disk_size":"118M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"Flask-AppBuilder","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.71,"mem_mb":43.5,"disk_size":"118M"}]}}