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 tool designed to streamline the initialization, migration, upgrade, and dependency management processes across the Horilla ecosystem — including HRMS v1, HRMS v2, and the newly released Horilla CRM.
It automates repetitive setup tasks like environment preparation, Git cloning, dependency installation, and migration handling — ensuring a smooth, consistent workflow for developers and deployment teams.
🚀 Key Features
✓ Quick project setup for HRMS (v1 & v2) and CRM
✓ Version-aware migrations including HRMS v1 → v2 upgrade
✓ Automated dependency installation from requirements.txt
✓ Seamless project upgrades via Git pull
✓ Cross-platform support (Windows, Linux, macOS)
✓ Single command workflow for setup, migration, and updates
⚙️ Installation
📦 Global Installation (Recommended)
pip install horillasetup
🧩 Local Development Installation
If you’re improving or modifying the tool:
git clone https://github.com/horilla-opensource/setup.git
cd horilla-ctl
pip install -e .
-einstalls the package in editable mode, so changes take effect instantly.
🧭 Usage Guide
Show all available commands:
horillasetup --help
🏗️ 1. Build a New Horilla Project
HRMS v1
horillasetup build hrms-v1
HRMS v2
horillasetup build hrms-v2
CRM (Newly Released 🚀)
horillasetup build crm
The build command will:
- Clone the correct Horilla repo (branch-specific)
- Copy project files into the working directory
- Install Python dependencies
- Provide environment setup instructions
🧱 2. Run Migrations
HRMS v1
horillasetup migrate hrms-v1
HRMS v2
horillasetup migrate hrms-v2
CRM
horillasetup migrate crm
Migration steps include:
- Running
makemigrations - Applying migrations
- Collecting static files
🔄 3. Upgrade an Existing Project
Pull latest code updates from Git:
HRMS v1
horillasetup upgrade hrms-v1
HRMS v2
horillasetup upgrade hrms-v2
CRM
horillasetup upgrade crm
🔁 4. HRMS v1 → HRMS v2 Database Upgrade
To migrate an existing v1 database into v2:
horillasetup migrate hrms-v2 --existing
This performs:
- Safe clearing of old migration entries
- Faked compatibility migrations
- Full v2 migration + static collection
📦 5. Install Dependencies Only
horillasetup install-deps
Installs all packages from requirements.txt.
💡 Example Setup Workflow
# Build a fresh CRM project
horillasetup build crm
# Run CRM migrations
horillasetup migrate crm
# Upgrade project later
horillasetup upgrade crm
🛣️ Future Roadmap
- 🔌 Plugin-based scaffolding for new Horilla modules
- 🔍 Automated version & dependency conflict detection
- 📦 Project template generator
- 🧰 Extended DevOps tools integration
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.4.tar.gz.
File metadata
- Download URL: horillasetup-1.0.4.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ab3909c721e74e19dc5fc851a950e487f12434eb828ec2e2da90e27f5434e82
|
|
| MD5 |
ebdc2597ef6d6a21e92fd41850d55d5a
|
|
| BLAKE2b-256 |
b8a18df0b223f85c80acaa599159ebf959431a2f2a2f8941b0b3e3df0b803001
|
File details
Details for the file horillasetup-1.0.4-py3-none-any.whl.
File metadata
- Download URL: horillasetup-1.0.4-py3-none-any.whl
- Upload date:
- Size: 15.8 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 |
6eaaa774ad83a9cf1a390b1ce0f6123dfa968ac00df4cd40d63f2b2752bff5fb
|
|
| MD5 |
cf90e0d91a7a25283d95fe2574442bce
|
|
| BLAKE2b-256 |
997a825f074e1a7584bd8da961008e627cbfe664ef0914d8df75a438e0125476
|