Skip to content

Frappe Framework

A low-code Python and JavaScript framework for building business web apps with a built-in admin.frappe/frappe

Stars
11k
Forks
5.5k
Licence
MIT
Language
Python
Last update
4 days ago
Type
Library

What it is

Frappe is a full-stack web framework that uses Python and MariaDB on the server with a built-in client-side library. You describe your data as document types, and the framework provides forms, list views, permissions, a REST API, and an admin interface. It was built for ERPNext, the ERP application made with it.

  • Build an internal business app such as inventory or CRM with forms and reports
  • Expose a REST API for all of your data models
  • Let users build custom reports with the Report Builder without writing code
  • Give AI agents controlled access to a site through the MCP server

Great for

  • Developers building business or internal data-heavy applications
  • Teams that want role-based permissions and an admin UI without building them from scratch
  • Developers already comfortable with Python and JavaScript
  • Projects that need a REST API generated from data models

Not ideal for

  • Beginners learning web programming, since the README says it is not the first thing to learn; a simpler framework suits them better
  • People wanting a small static site or simple landing page, since the framework is built for complex data applications
  • Teams that cannot run MariaDB, since the README states it uses MariaDB on the server side
Step-by-step guide: how to use Frappe FrameworkInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Run with Docker

    You'll need: docker · docker-compose · git

    Clone the Docker setup repository

    git clone https://github.com/frappe/frappe_docker

    Enter the directory

    cd frappe_docker

    Start the containers in the background

    docker compose -f pwd.yml up -d
  2. 2

    Run it

    • Run the commands above and wait a couple of minutes for startup.
    • Open the site on localhost port 8080.
    • Log in as Administrator using the default credentials listed in the README, then change the password.
  3. 3

    Get the most out of it

    • Use the Role Permission Manager to control access by role
    • Build custom reports with the Report Builder instead of writing code
    • Customize forms and views with server-side scripting and client-side JavaScript
    • Use the built-in REST API to integrate with other systems
    • Learn through Frappe School and the official documentation

Downloads

Strengths

  • Generates forms, list views, permissions and a REST API from data definitions, reducing boilerplate
  • Mature project, started in 2005, and the basis of the ERPNext application
  • MIT licensed with an active repository

Trade-offs

  • Steep learning curve; the README itself says it is not for beginners
  • Tied to MariaDB on the server side
  • Documentation and details about specific features are limited in the README, so deeper evaluation requires the official docs

How it compares

ProjectStarsTypeLevelUpdatedBest for
frappe (this)11kLibraryadvanced4 days agoDevelopers building business or internal data-heavy applications
socket.io63.2kLibraryintermediate1 months agoDevelopers building live chat or real-time notifications in JavaScript or TypeScript
nuxt61kLibraryintermediate4 days agoDevelopers who already know Vue.js and want a structured full-stack setup
fiber40.2kLibraryintermediate4 days agoGo developers building REST APIs or web backends
echo32.8kLibraryintermediate6 days agoGo developers building REST APIs or backend services
hono32.8kLibrarybeginner5 days agoDevelopers writing TypeScript or JavaScript HTTP APIs

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.