---
title: "Frappe Framework"
space: "Frappe Framework"
url: "https://www.prilk.com/docs/frappe-framework/frappe-framework"
updated: "2026-05-14"
---

## Frappe Framework

The **Frappe Framework** is the open-source Python + JavaScript application platform that everything in this section is built on. It provides the database layer, document model, role-based permissions, REST API, form and report UI, background workers, and the **desk** where users interact with records.

You typically don't interact with the framework directly as an end user — you interact with the apps built on it. But every feature you see (a custom field, a workflow, a print format, a scheduled job) is provided by the framework and reusable across all apps.

### Core concepts

| Term | What it is |
|---|---|
| **DocType** | A model — like a database table, but with field definitions, permissions, hooks, and a generated UI |
| **Document** | A record of a DocType (one row) |
| **App** | A pluggable bundle of DocTypes, code and UI, installable per site |
| **Bench** | A working directory holding apps, sites and the Python environment |
| **Site** | One isolated installation with its own database and config |

### Where to learn more

- Official docs: [frappeframework.com/docs](https://frappeframework.com/docs)
- Source code: [github.com/frappe/frappe](https://github.com/frappe/frappe)
- Community forum: [discuss.frappe.io](https://discuss.frappe.io)
