A lightweight and user-friendly Python-based GUI tool to schedule the execution of .exe, .sh, .bat, or .py script files at recurring intervals (Daily, Weekly, Monthly). The tool runs quietly in the system tray and continues execution until the system is restarted or the app is explicitly exited.
Task automation is a lifesaver. Whether it's executing a script, launching a batch file, or triggering a backup — scheduled automation gives us control and peace of mind.
Windows users might say:
"But we already have Task Scheduler. Why reinvent the wheel?"
That’s exactly the question that led me to create my own lightweight, GUI-based Python Task Scheduler Tool — and in this post, I’ll explain the why, the how, and the value it offers.
Let’s be honest — Windows Task Scheduler is powerful, but also intimidating for casual users:
Too many options
Buried deep in control panel dialogs
Complex XML-like task definitions
With my tool, you get:
A simple interface
Just three inputs: frequency, datetime, and script
Done. Scheduled. Minimized to tray.
The built-in Task Scheduler is great for .exe
and .bat
, but less friendly for .py
or .sh
scripts unless you tweak paths and Python interpreters.
My tool allows you to:
Schedule .exe
, .sh
, .bat
, or .py
files directly.
No config hassle. Just point and click.
Unlike Windows Task Scheduler:
You don't need admin rights.
You don't have to browse long logs or navigate hidden folders to see when a script ran.
Every task and its execution status is saved in a simple log.txt
file.
Tasks persist in a schedules.json
file — portable and versionable.
This Python-based Task Scheduler:
Lets you schedule scripts to run Daily, Weekly, or Monthly
Launches scripts at the exact time
Minimizes to the system tray and stays quietly running
Lets you restore the GUI anytime
Exits cleanly and doesn’t leave zombie processes
Keeps logs of each script execution
🔁 Auto-run your backup script every day at 11 PM
📊 Schedule a Python report generator every Monday morning
🧪 Run test environments on-demand without manual start
🔄 Weekly cleanup scripts without relying on OS task manager
GUI: Tkinter
Scheduling: APScheduler
Tray integration: pystray + PIL
Logging: Plain log.txt
for easy traceability
Persistence: JSON-based config (schedules.json
)
Feature | Windows Task Scheduler | Python Task Scheduler |
---|---|---|
Easy UI | ❌ Complex | ✅ Clean & simple |
Script file types supported | ✅ But limited config | ✅ Full support |
System tray support | ❌ None | ✅ Built-in |
Config portability | ❌ Hidden XML files | ✅ JSON-based |
Logging for each execution | ❌ Not straightforward | ✅ Plain text log |
Developer-customizable | ❌ Closed system | ✅ Fully extensible |
Clone the tool and try it yourself: 👉 GitHub Repository
📥 Just run task_scheduler.py
, no installation needed.
Yes, Windows Task Scheduler is powerful — but not always approachable.
This tool is a perfect example of how Python helps us build custom solutions that put us in control, with full flexibility and clarity.
Feel free to use it, fork it, or build on top of it.
It's yours.
Abhishek Satpathy
🚀 abhisat.com
Your email address will not be published. Required fields are marked *