A simple task scheduling application for commands and python.
Project description
ZScheduler
A simple task scheduling application for commands and python.
Features
- Multiple Views: List, Calendar, Timeline, and Statistics views
- Dark and Light Themes: Choose your preferred theme for comfortable usage
- System Tray Integration: Run in the background while maintaining access
- Statistics and Insights: Monitor your scheduled tasks with detailed statistics
- Flexible Scheduling Options: Interval-based, cron-based, or one-time schedules
Requirements
- Python 3.8+
- PyQt6
- Standard Python libraries (datetime, threading, json, etc.)
Installation
- Clone the repository:
git clone https://github.com/mexyusef/zscheduler.git
cd zscheduler
- Install the dependencies:
pip install -r requirements.txt
Running the Application
You can run the application using the provided launcher script:
python run.py
Or directly:
python -m zscheduler_app.main
Configuration
ZScheduler stores configuration files and schedules in the user's home directory:
~/.zscheduler/config.json: Application configuration~/.zscheduler/schedules.json: Saved schedules~/.zscheduler/logs/zscheduler.log: Application logs
Usage
Creating a Schedule
- Click the "New" button in the toolbar or use the menu "File > New Schedule"
- Enter schedule details:
- Name: A descriptive name for the schedule
- Command: The command to execute
- Type: Interval, Cron, or One-time
- Additional parameters based on the type
- Click "Save" to create the schedule
Managing Schedules
- Edit: Select a schedule and click "Edit" to modify its properties
- Pause/Resume: Control the execution of schedules without removing them
- Delete: Remove unwanted schedules
- Duplicate: Create a copy of an existing schedule
Views
- List View: Simple tabular view of all schedules
- Calendar View: Visualize schedules on a calendar
- Timeline View: See schedules on a horizontal timeline
- Statistics: Monitor execution statistics and performance metrics
Development
Project Structure
zscheduler/
├── run.py # Launcher script
├── README.md # This file
├── requirements.txt # Dependencies
├── zscheduler_app/ # Application package
│ ├── __init__.py
│ ├── main.py # Main entry point
│ ├── config/ # Configuration components
│ │ ├── __init__.py
│ │ └── app_config.py
│ ├── data/ # Data persistence
│ │ ├── __init__.py
│ │ └── json_store.py
│ ├── scheduler/ # Scheduling components
│ │ ├── __init__.py
│ │ └── scheduler.py
│ ├── themes/ # UI themes
│ │ ├── __init__.py
│ │ └── theme_manager.py
│ └── ui/ # User interface components
│ ├── __init__.py
│ ├── main_window.py
│ ├── icons.py
│ ├── schedule_list_view.py
│ ├── calendar_view.py
│ ├── timeline_view.py
│ ├── statistics_dashboard.py
│ ├── system_tray.py
│ └── dialogs/ # Various dialogs
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Future Plans
- More advanced scheduling options
- Plugin system for extending functionality
- Remote management capabilities
- Mobile companion app
- Enhanced statistics and reporting
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 zscheduler-0.0.1.tar.gz.
File metadata
- Download URL: zscheduler-0.0.1.tar.gz
- Upload date:
- Size: 51.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e050a32f8d3424c52af2c242bd87118b68fe082814467d80d590055c3521d32a
|
|
| MD5 |
7fe013d26b00ae30d5dcc76d0fe8825e
|
|
| BLAKE2b-256 |
1482517917bc71b459a44c66d2c96b899a0ea1ba13669043b642d0963bc129d5
|
File details
Details for the file zscheduler-0.0.1-py3-none-any.whl.
File metadata
- Download URL: zscheduler-0.0.1-py3-none-any.whl
- Upload date:
- Size: 50.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba21439b7dbb7c9403f15ec9100150287d6c7aa0a31c71fa6624f7b6820e52e6
|
|
| MD5 |
b4d099aae6c7fc85b940e276ea9250b4
|
|
| BLAKE2b-256 |
15b9c6109e4b893c500d852c77f4984a6e21d0299cc0ebc872204b752a19aa8f
|