Python BackUp is a small backup utility with a Tkinter GUI. Run a one-off backup
or schedule recurring copies of a folder to a destination. Results are logged to
CSV files under logs/.
No Python required — grab the latest standalone build:
Download PythonBackUp-windows.zip (free, MIT)
Unzip and follow SETUP.txt. Prefer to support ongoing development?
Buy on Gumroad — same zip, same app.
Also listed on stephenv.net.
- Browse folders: Pick source and destination directories.
- Backup Now: Copy immediately using only source and destination (no schedule required).
- Schedule backups: Set interval (days) and 24-hour time
HH:MM(e.g.09:00,14:30), then Start Backup to run on that schedule. - Stop: Cancel an in-progress copy and stop the scheduler at any time.
- Incremental copies: Files that already match the destination are skipped.
- CSV logs (appended across runs):
logs/copy_success.csvandlogs/copy_errors.csv. Paths are properly quoted, so commas in file paths never corrupt the columns.
- Python 3.9+
- Tkinter (usually included with Windows/macOS Python from python.org)
schedule
git clone https://github.com/stephenvowell/python-backup.git
cd python-backup
pip install -r requirements.txt
python backup_v2.py- Choose Source and Destination folders (Browse or type paths).
- Optional — Backup Now to copy once right away.
- For scheduling, fill Interval (days) and Time (24-hour HH:MM), then Start Backup. The scheduled job runs at that clock time; use Backup Now if you also need an immediate copy.
- Press Stop to cancel a running copy or halt the scheduler.
backup_v2.py— the Tkinter GUI application.backup_core.py— GUI-free copy/validation/logging logic (imported by the GUI and covered by tests).version.py— release version string.release/— customer-facingSETUP.txtandREADME.txtbundled into the Windows zip.
pip install -r requirements-dev.txt
.\build_exe.ps1The executable is written to dist\PythonBackUp.exe.
.\scripts\build-release.ps1Produces dist\PythonBackUp-windows.zip ready for GitHub Releases or Gumroad.
pip install -r requirements-dev.txt
pytestContributions are welcome. Fork the repository and open a pull request.
This project is licensed under the MIT License.
© Stephen Vowell · stephenv.net
