This project is designed to alert users to upcoming load shedding events and optionally shut down the system before load shedding to prevent hardware damage. It ensures that the required Python and PIP versions are installed and up-to-date, and also supports the use of virtual environments.
- Python 3.10.11 or higher
- PIP 25.0.1 or higher
- Windows 10/11
- Unix-based systems with supported package managers:
apt-get
(Debian-based systems)yum
(CentOS, Red Hat)dnf
(Fedora)pacman
(Arch Linux)zypper
(openSUSE)
-
Clone or download the project.
-
Open Command Prompt or PowerShell.
-
Navigate to the project directory.
-
Run the start script:
start-windows.bat [--use-venv]
--use-venv
: Optional argument to use a virtual environment.
- Clone or download the project.
- Open Terminal.
- Navigate to the project directory.
- Make the start script executable:
chmod +x start-unix.sh
- If you encounter permission issues, you may need to use
sudo
:sudo chmod +x start-unix.sh
- Run the start script:
./start-unix.sh [--use-venv]
--use-venv
: Optional argument to use a virtual environment.
-
Check Python Installation:
- If Python is not installed, offer to install it automatically.
- If Python is installed, check if the version meets the minimum required version.
- The start scripts will handle version checks and updates if necessary.
-
Check PIP Installation:
- If PIP is not installed, prompt the user to install it manually.
- If PIP is installed, check if the version meets the minimum required version.
-
Set Up Virtual Environment (Optional):
- If the
--use-venv
argument is provided, the script will set up and activate a virtual environment namedloadshield
.
- If the
-
Install Requirements:
- Install the required Python packages specified in
requirements.txt
.
- Install the required Python packages specified in
-
Run the Main Script:
- Execute
main.py
.
- Execute
-
Deactivate Virtual Environment (Optional):
- If a virtual environment was used, deactivate it after
main.py
finishes execution.
- If a virtual environment was used, deactivate it after
See the CREDITS file for a list of contributors and acknowledgments.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.