A college project written in Python which handles folder backups using the Windows robocopy command, currently being fully reworked for better file organization, performance, and UI.
To run this program, you need a Windows operating system that supports the robocopy command (Windows Vista or later).
For development purposes, additional requirements depend on the specific aspect of the program:
- Microsoft C++ Build Tools: Desktop development with C++1
- Qt Designer
- PyQt5
While Qt Designer was used for UI editing, you can use any similar editor or a text editor to modify
.uifiles.
- Python (version 3.13.0 recommended)
- Packages: PyQt5, psutil, pywin32, wmi, pyudev
Older or newer Python versions might be incompatible with this code.
To modify the program, install the required tools and packages listed above. It’s recommended to use Visual Studio Code for editing.
- Edit the
.uifiles, preferably using Qt Designer for an efficient workflow. - Update the assets.qrc file if new assets are added (Qt Designer does this automatically).
- In case you update the assets.qrc file, you need to compile a new assets.py file by running the following command in the directory containing assets.qrc:
pyrcc5 assets.qrc -o assets.py
- Edit any
.pyfiles located in the project. Keep in mind that modifying certain files inside src/modules can easily cause errors in other files. Use Feature Flags inside src/Features to quickly change certain aspects of the program without much interuptions. - Test or debug changes by running main.py.
If you are using Visual Studio Code, you can start debugging from any file you've opened, thanks to the configuration in .vscode/launch.json. You can modify this file if you prefer different behavior.
Footnotes
-
Microsoft C++ Build Tools with the Desktop development with C++ module is required to use Qt Designer. ↩
