hey-you
Human-readable CRUD wrapper for recurring OS time triggers.
Translates human time expressions into cron or systemd timers — whichever your system uses.
hey-you repeat "HH>1MI<5" "aider --no-git --message 'health check'"
hey-you repeat "every monday at 9" "aider-skills run weekly-summary"
hey-you list
hey-you explain "0 9 * * 1"
hey-you resolve "HH>1MI<5"
hey-you remove 3
Why
| Tool | Input | Who runs it |
|---|---|---|
raw crontab |
0 9 * * 1 — you must know cron syntax |
you |
schedule (PyPI) |
Python method chains — runs inside your process | your Python process |
hey-you |
"every monday at 9" or "HH>1MI<5" |
the OS — process exits |
The OS owns the timer. hey-you is a one-shot translator and crontab/systemd manager.
Installation
pipx install os-hey-you
Requires Python ≥ 3.12.
Placeholder Notation
Built on three POSIX/GNU standards:
- Field names: strftime(3)
- Relative offsets: GNU date --date
- Target format: crontab(5)
Supported tokens (YAGNI — no YYYY, no SS: standard cron has neither):
| Token | Field | Range |
|---|---|---|
MM |
month | 01-12 |
DD |
day | 01-31 |
HH |
hour 24h | 00-23 |
MI |
minute | 00-59 |
Each token may carry an offset: >N adds, <N subtracts.
HH>1MI<5 → hour+1, minute-5
MM>1DD → next month, current day
HH MI → current hour and minute, no offset
Backend Detection
hey-you auto-detects your OS scheduler:
systemd PID 1? → writes ~/.config/systemd/user/hey-you-NNNN.timer
else → writes user crontab entry
Override: HEY_YOU_BACKEND=systemd or HEY_YOU_BACKEND=cron.
On Fedora Silverblue, cron requires: rpm-ostree install cronie + restart.
systemd is the default and preferred backend.
CRUD
| Operation | Command |
|---|---|
| C reate | hey-you repeat <expr> <command> |
| R ead | hey-you list |
| R ead | hey-you explain <cron> |
| R ead | hey-you resolve <expr> |
| D elete | hey-you remove <id> |
Update = remove + repeat. YAGNI.
Example Use Cases
Daily health check via aider
hey-you repeat "HH MI" "aider --no-git --message 'check project health'"
Weekly summary every Monday at 09:00
hey-you repeat "0 9 * * 1" "aider-skills run weekly-summary"
Understand an existing cron entry
hey-you explain "0 9 * * 1"
# every Monday at 09:00
Preview a placeholder without writing
hey-you resolve "HH>1MI<5"
# 25 17 * * *
License
MIT — © roebi
Metadata
Release files for os-hey-you 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| os_hey_you-0.1.0.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| os_hey_you-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.4 kB
Release files / os_hey_you-0.1.0.tar.gz
| Download URL | os_hey_you-0.1.0.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
281133b9ebd49ff3419eb95ce9322ca71bab9cbeff90c59e268849d3cf312103
|
|
BLAKE2b-256 checksum How to use checksums |
c5f1355f86a8663225546501da5655b22e30a1987dae010794bb9705c9622710
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / os_hey_you-0.1.0-py3-none-any.whl
| Download URL | os_hey_you-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22c4a6964d6ca440f884897e8a53077599f8ba14518cb3fb2837ec7a0cc28adf
|
|
BLAKE2b-256 checksum How to use checksums |
8049f7756bbf9fb1303694c07fb4b5e8021e1a80b281f5e83c5ca78dccc1d535
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|