https://github.com/iveevi/todo
Script based todo/reminder system
https://github.com/iveevi/todo
daemon python reminder scriptable todolist
Last synced: 10 months ago
JSON representation
Script based todo/reminder system
- Host: GitHub
- URL: https://github.com/iveevi/todo
- Owner: iveevi
- Created: 2024-04-09T01:34:14.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-09T01:47:52.000Z (almost 2 years ago)
- Last Synced: 2025-01-22T17:46:56.820Z (12 months ago)
- Topics: daemon, python, reminder, scriptable, todolist
- Language: Python
- Homepage:
- Size: 1.95 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# todo
Configure tasks and reminders using Python.
## Install
`python todo.py`
This will generate a `setup.py` file and then run `pip install .` to install
the package `todo`.
## Example
An example configuration is shown below as `tasks.py`.
```py
import todo
@todo.group('class A')
@todo.schedule.minute(20)
def classA():
return ['homework1', 'project0']
@todo.group('class B')
@todo.schedule.hour(2)
def classB():
return ['pa1', 'read the slides']
if __name__ == '__main__':
todo.daemon(__file__)
```
To launch the daemon, run `python tasks.py --daemon`. The original file can be
updated without interupting the daemon. The new configuration will take effect
as soon as a working (e.g. runs without errors) save takes effect.
To terminate the daemon, run `python tasks.py --kill` which will scan similar
looking processes.
## Features
**Implemented:**
- [x] Hourly, minute-ly and second-ly (?) reminders
- [x] Live configruation updates
- [x] Grouping tasks using `@todo.group(...)`
**Upcoming:**
- [ ] Date based scheduling
- [ ] Sound-based notifications