CLI tool to build and manage Horilla projects
Project description
🛠️ Horilla Setup CLI (horillasetup)
The Horilla Setup CLI is a lightweight, cross-platform command-line utility designed to streamline the initialization, migration, and dependency setup processes for the Horilla ecosystem — including HRMS v1, HRMS v2, CRM, and upcoming modules.
It automates repetitive setup tasks like environment preparation, dependency installation, and migration management, ensuring a smooth and consistent workflow for both developers and deployment engineers.
🚀 Key Features
✅ Quick Environment Setup — Instantly configure a new Horilla environment with one command.
✅ Version-Aware Migration — Supports both HRMS v1 and HRMS v2 with smart compatibility handling.
✅ Dependency Automation — Automatically installs required Python packages from requirements.txt.
✅ Seamless Upgrades — Migrate safely from v1 to v2 while preserving data integrity.
✅ Cross-Platform Support — Works smoothly on Windows, Linux, and macOS.
⚙️ Installation
You can install horillasetup globally or locally for active development.
📦 Global Installation
pip install horillasetup
🧩 Local (Development) Installation
If you’re working on improving or customizing the CLI:
git clone https://github.com/horilla-opensource/setup.git
cd horilla-ctl
pip install -e .
💡 The
-eflag installs the CLI in editable mode, so any code changes take effect immediately.
🧭 Usage Overview
The CLI provides unified commands to build, migrate, and manage dependencies across all Horilla-based applications.
View all available commands:
horillasetup --help
🏗️ 1. Build a New Horilla HRMS Project
Create and initialize a new Horilla HRMS instance:
horillasetup build hrms-v1
or
horillasetup build hrms-v2
This command will:
- Clone the specified Horilla HRMS repository.
- Install all dependencies from
requirements.txt. - Set up required environment files (
.env). - Display post-installation guidance.
🧱 2. Apply Migrations
Run database migrations for your Horilla instance:
horillasetup migrate hrms-v1
or
horillasetup migrate hrms-v2
This performs:
makemigrationsandmigrateautomatically.- Static file collection (
collectstatic --noinput). - Database schema setup or update.
🔄 3. Upgrade from HRMS v1 → HRMS v2
For upgrading an existing v1 database to v2:
horillasetup migrate hrms-v2 --existing
What happens:
- Detects the existing HRMS v1 database.
- Clears outdated migration entries safely.
- Applies v2 migrations using compatibility logic.
- Fakes migration states where required to preserve data.
📦 4. Install Dependencies Only
Install all required dependencies without building or migrating:
horillasetup install-deps
Performs:
- Validation for the
requirements.txtfile. - Executes
pip install -r requirements.txt. - Displays installation progress and status summary.
💡 Example Workflow
# Step 1: Build a fresh HRMS v2 environment
horillasetup build hrms-v2
# Step 2: Apply migrations for initial setup
horillasetup migrate hrms-v2
# (Optional) Upgrade an existing v1 database
horillasetup migrate hrms-v2 --existing
# (Optional) Reinstall dependencies manually
horillasetup install-deps
🧭 Future Roadmap
- 🔌 Support for CRM and other upcoming Horilla modules
- 🧱 Modular plugin-based scaffolding system
- ⚙️ Smart environment detection and guided setup wizard
- 🔄 Automated upgrade checks and dependency validation
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file horillasetup-1.0.0.tar.gz.
File metadata
- Download URL: horillasetup-1.0.0.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
773b57be502696c757f00699207185284de666684b76c8e1623c607c54d4e7c5
|
|
| MD5 |
f425d9c7cdcbd237eb68efd991efc8b4
|
|
| BLAKE2b-256 |
fc041469f312c9f26e2d4d3c94688781e1c69b38e50b51c5abef68073854b638
|
File details
Details for the file horillasetup-1.0.0-py3-none-any.whl.
File metadata
- Download URL: horillasetup-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbbaf9ed1ea9608aefec538de4c83e8394aa340b74e4bd3353c9d23c9392520c
|
|
| MD5 |
70683ffbb559ede63854642b109ad29f
|
|
| BLAKE2b-256 |
c9372fb2ed69a1540147601f64fb5870ba224c91de6f0573855966ff6f82dbde
|