Definition
Frappe is a full-stack, metadata-driven Python web framework best known as the foundation of the open-source ERPNext application suite.
Overview
Frappe takes a metadata-driven approach to application building: rather than hand-writing models, forms, and permissions for every feature, developers define "DocTypes" — metadata describing a data model's fields, validations, and relationships — and Frappe generates the database schema, admin forms, list views, and REST API around that definition automatically. This architecture is what powers ERPNext, a widely used open-source enterprise resource planning system covering accounting, inventory, manufacturing, HR, and more, all built as Frappe applications. Because the framework and the ERP product share the same creators, Frappe's design choices are shaped directly by the needs of building large, modular business applications. Under the hood, Frappe applications are written in Python with JavaScript for client-side behavior, and typically run on top of MariaDB or MySQL for storage. Its built-in permission system, workflow engine, and report builder make it a common choice for organizations that want to build or customize internal business software without starting entirely from scratch.
Key Features
- Metadata-driven "DocType" model that auto-generates forms, tables, and APIs
- Built-in role-based permission and workflow engine
- Foundation of the open-source ERPNext application suite
- Automatic REST API generation for every defined data model
- Customizable UI without needing to touch core framework code
- Report builder and dashboard tools built into the framework
- Runs on Python with MariaDB/MySQL as the typical database backend