Probabilistic daily reminders via ntfy from csv
Project description
Ntfy_CSV_Reminders
A Python tool that sends random-timing phone notifications for recurring tasks by using daily probability checks based on CSV-defined frequencies.
Simple phone notifications with random timing. Just write a csv file like:
n, do something
And get reminded with 1/n probability each day. Perfect for those "should do this sometime this week" tasks!
Run it daily (via cron) and it uses probability to make reminders feel spontaneous rather than predictable. Great for avoiding notification fatigue while still keeping tasks on your radar.
Getting started
- From pypi:
- As a tool:
uvx Ntfy_CSV_Reminders@latest --help - Via uv:
uv pip install Ntfy_CSV_Reminders - Via pip:
pip install Ntfy_CSV_Reminders
- As a tool:
- From github:
- Clone this repo then
pip install .
- Clone this repo then
Example Input CSV
Create a file named inputs.csv with entries in this format:
5, Remember to water the plants
7, Time to clean the fish tank
3, Check the mail
Each line has two parts:
- A number (X) representing "every X days" - this also determines the daily probability (1/X)
- The reminder message
For example, with 5, Remember to water the plants:
- If it's been 5+ days since the last reminder, it will definitely send
- Otherwise, each day there's a 1/5 (20%) chance to send the reminder
Usage
Ntfy_CSV_Reminders --ntfy_topic=your_topic [OPTIONS]
Required:
--ntfy_topic: Your ntfy.sh topic for receiving notifications--input_csv: Path to your CSV file (default: "inputs.csv")--states_path: Path to save reminder states (default: "states.json")
Optional:
--delay: Random delay between 0-N seconds before checking reminders (default: 0)--verbose: Show probability details in notifications (default: False)
The delay parameter is particularly useful when running via cron. Instead of getting all reminders at exactly midnight (or whenever cron runs), adding something like --delay=3600 will spread them randomly across the first hour. This makes the reminders feel even more natural and unexpected.
Example:
Ntfy_CSV_Reminders --ntfy_topic=my_reminders --delay=1800 --input_csv=my_tasks.csv
Project details
Release history Release notifications | RSS feed
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 ntfy_csv_reminders-0.1.1.tar.gz.
File metadata
- Download URL: ntfy_csv_reminders-0.1.1.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3611e61e2cc44605d80b08a33730b8e78406d46e5c55ecb6ecd1cbe0cb70e5e4
|
|
| MD5 |
f42c9c97e11616e5c865e85142fb9524
|
|
| BLAKE2b-256 |
8badd4ebdcab37272d815437cdb415d26dac7eae24a94dbe4f837d25607619c4
|
File details
Details for the file Ntfy_CSV_Reminders-0.1.1-py3-none-any.whl.
File metadata
- Download URL: Ntfy_CSV_Reminders-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1195950bf3225789740e82d521ccba5f8085b925d9f1043a0fd2d47a4bf0945e
|
|
| MD5 |
1bcab19daf61d78c72e6e485d8a1c4cf
|
|
| BLAKE2b-256 |
637eee9e6c35614b2b196ea65ee4975866cfabddfb26501c611dcc1c8cf8124a
|