frappe-bench
CLI to manage Multi-tenant deployments for Frappe apps
What it is and what it does
Bench is a command-line utility designed to simplify the setup and management of Frappe application deployments. It handles the full lifecycle of Frappe sites—initialization of new benches, creation and installation of apps, site management, and backup operations—across Unix-like systems. The tool is built on top of common Python utilities (click for CLI, gitpython for version control, honcho for process management, jinja2 for templating) and supports both development and production environments. It can work with manual installation or Docker-based containerized setups, and includes an easy-install script for rapid deployment with minimal manual intervention.
Bench is primarily used by developers and operators working with the Frappe framework and applications built on it (such as ERPNext). The tool abstracts away much of the complexity of managing multiple sites and their dependencies, making it easier to maintain consistent environments across development and production. It is actively maintained, production-stable, and has a substantial user base reflected in its download volume and repository activity.
Use it for:
- Initialize a new development bench and create multiple Frappe sites for local testing and feature development.
- Deploy and manage production Frappe instances using Docker containers with automated backup scheduling.
- Install and update custom Frappe applications across multiple sites without manual configuration.
- Manage site backups and perform version upgrades across a bench with a single command.
- Set up a complete ERPNext or other Frappe-based application stack using the easy-install script.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Bench is a CLI tool for installing, updating, and managing multiple Frappe application sites on Unix-like systems for both development and production environments.
Yes. Bench is production-stable (Development Status 5), actively maintained, has no known vulnerabilities, and low installation friction. It is essential if you work with Frappe applications; optional if you do not. The copyleft license is standard for Frappe ecosystem tools and poses no barrier to use, only to redistribution of modifications.
Install
frappe-bench on PyPI
pip
pip install frappe-benchuv
uv add frappe-benchpoetry
poetry add frappe-benchInstalling frappe-bench
Before you install
Low friction installation with a stable, actively maintained codebase. Last commit on 2026-08-11 and 1720 repository stars indicate ongoing development. Ten runtime dependencies are all widely-used utilities (click, gitpython, honcho, jinja2, requests, etc.), suggesting a mature dependency chain.
License in practice
Licensed under GPL-3.0-only (copyleft). Any modifications or derivative works must be distributed under the same license; proprietary use of modified versions is not permitted.
Quickstart
pip install frappe-bench
bench --version
bench init my-bench
cd my-bench
bench new-site mysite.local
Requires Python 3.10 or later and Unix-like system (Linux, macOS); Windows is not supported.
Verify before relying
- Whether Docker is required for all use cases or only for containerized deployment paths.
- Specific version compatibility with Frappe framework versions beyond the general 'latest stable' reference.
- Performance or scalability limits when managing large numbers of sites on a single bench instance.
Package facts
| License | GPL-3.0-only (copyleft) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — click, gitpython, honcho, jinja2, python-crontab, requests, semantic-version, setuptools, tomli, uv |
| Maintenance | actively maintained — 59 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 660,701/month — #5,457 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: frappe_bench-5.31.0-py3-none-any.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
fastapi-cloud-cliA command-line tool for deploying and managing…
permissive · top 1,000 on PyPI
flet-cliFlet CLI is a command-line tool for creating,…
permissive · top 15,000 on PyPI
s3cmds3cmd is a command-line tool for uploading,…
copyleft · top 5,000 on PyPI
reflex-hosting-cliA command-line tool for managing Reflex…
permissive · top 15,000 on PyPI
towerTower is a CLI and Python runtime for deploying…
permissive · top 15,000 on PyPI
gallery-dlA command-line tool that downloads image…
copyleft · top 15,000 on PyPI
clickhouse-migrationsApplies versioned SQL migrations to ClickHouse…
permissive · top 15,000 on PyPI
docker-composeDocker Compose is a command-line tool for…
permissive · top 5,000 on PyPI
ecs-deployecs-deploy is a CLI tool that simplifies Amazon…
permissive · top 15,000 on PyPI
snowflake-cliSnowflake CLI is a command-line tool for…
permissive · top 5,000 on PyPI