Metadata-Version: 2.4
Name: tkscheduler
Version: 0.1.0
Summary: A timer/scheduler for Tkinter, built to function similarly to PyQt's QTimer
Author-email: "Matthew Yang (杨佳明)" <matthew.yang204@gmail.com>
Maintainer-email: matthewyang204 <matthew.yang204@gmail.com>
License-Expression: GPL-3.0-or-later
Project-URL: Repository, https://github.com/matthewyang204/TkScheduler
Project-URL: homepage, https://github.com/matthewyang204/TkScheduler
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# TkScheduler
TkScheduler is a simple timer/scheduler for Tkinter, akin to PyQt's QTimer. It is designed to function similarly and I am building it mostly for use in [my own text editor written in Tkinter](https://github.com/matthewyang204/NotepadEE). However, if you want a feature, I am always open to suggestions if you get me interested enough in an idea that's practical.

## Usage
The scheduler provides two core methods: `start()` and `stop()`.

It is designed for lightweight scheduling tasks such as autosave, linting debounce, and periodic UI updates in Tkinter applications.

Available options:

| option | description | default | form                              |
|--------|------------|---------|-----------------------------------|
| root | Tkinter root instance used for scheduling | required | parameter when initializing class 
| fn | callback function executed on timeout | None | property                          |
| interval | delay in milliseconds between executions | 0 | property & parameter of start()|
| singleShotState | if True, runs only once; if False, repeats | False | property |
| isActive | returns whether a timer is currently scheduled | derived (read-only) | function that gets the internal active state |

## Installing
This software comes as a pip package hosted on PyPI.
```commandline
pip install tkscheduler
```

## License
This software is licensed under the GNU GPLv3. For more info, see the `LICENSE` file.
