
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
How to get it
- 1
Run with Docker
You'll need: docker · docker-compose · git
Clone the Docker setup repository
git clone https://github.com/frappe/frappe_dockerEnter the directory
cd frappe_dockerStart the containers in the background
docker compose -f pwd.yml up -d - 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
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
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| frappe (this) | 11k | Library | advanced | 4 days ago | Developers building business or internal data-heavy applications |
| socket.io | 63.2k | Library | intermediate | 1 months ago | Developers building live chat or real-time notifications in JavaScript or TypeScript |
| nuxt | 61k | Library | intermediate | 4 days ago | Developers who already know Vue.js and want a structured full-stack setup |
| fiber | 40.2k | Library | intermediate | 4 days ago | Go developers building REST APIs or web backends |
| echo | 32.8k | Library | intermediate | 6 days ago | Go developers building REST APIs or backend services |
| hono | 32.8k | Library | beginner | 5 days ago | Developers 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.