Skip to main content

A simple task scheduling application for commands and python.

Project description

ZScheduler

A simple task scheduling application for commands and python.

List

Calendar

Statistics

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

  1. Clone the repository:
git clone https://github.com/mexyusef/zscheduler.git
cd zscheduler
  1. 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

  1. Click the "New" button in the toolbar or use the menu "File > New Schedule"
  2. 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
  3. 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

zscheduler-0.0.1.tar.gz (51.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zscheduler-0.0.1-py3-none-any.whl (50.0 kB view details)

Uploaded Python 3

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

Hashes for zscheduler-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e050a32f8d3424c52af2c242bd87118b68fe082814467d80d590055c3521d32a
MD5 7fe013d26b00ae30d5dcc76d0fe8825e
BLAKE2b-256 1482517917bc71b459a44c66d2c96b899a0ea1ba13669043b642d0963bc129d5

See more details on using hashes here.

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

Hashes for zscheduler-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ba21439b7dbb7c9403f15ec9100150287d6c7aa0a31c71fa6624f7b6820e52e6
MD5 b4d099aae6c7fc85b940e276ea9250b4
BLAKE2b-256 15b9c6109e4b893c500d852c77f4984a6e21d0299cc0ebc872204b752a19aa8f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page