A background Pomodoro timer with prompt-integrated progress bars — start a session and keep using your terminal
Project description
Pymodoro
A Pomodoro timer that runs in the background while you keep using your terminal. Start a session and forget about it — the progress bar shows up above your prompt every time you press Enter, and alerts appear when work or break sessions end.
Installation
pip install pyodoro
Requires Python 3.12+.
Usage
pymodoro
You'll be prompted for work duration, break duration, and number of cycles. Press Enter at each prompt to accept the defaults. The timer starts in the background and you get your terminal back immediately.
Commands
| Command | Description |
|---|---|
pymodoro |
Start an interactive Pomodoro session in the background |
pymodoro --show |
Show a live-updating progress bar (Ctrl+C to dismiss) |
pymodoro --status |
Print the current progress bar and time remaining |
pymodoro --stop |
Stop the running session |
pymodoro --check-notify |
Print progress bar and phase alerts (used by shell integration below) |
pymodoro --version |
Show the package version |
Prompt integration (bash / zsh)
To see the progress bar above every command prompt, add this to your ~/.bashrc (or ~/.zshrc):
PROMPT_COMMAND="pymodoro --check-notify;${PROMPT_COMMAND}"
Now every time you press Enter, the tomato bar and timer appear right above your prompt. When a work or break session ends, the alert appears there too.
VS Code terminal
If you use VS Code's integrated terminal, make sure it runs bash as a
login shell so it sources your .bashrc. In settings.json:
"terminal.integrated.shellArgs.windows": ["-l"]
Development
git clone https://github.com/NarezIn/pymodoro.git
cd pymodoro
pip install pipenv
pipenv install --dev
pipenv shell
Running tests
python -m pytest tests/ --cov=pomodoro
License
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 pyodoro-1.1.0.tar.gz.
File metadata
- Download URL: pyodoro-1.1.0.tar.gz
- Upload date:
- Size: 20.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b2ccc78e2bc79dea2626d05b38b3faf4f61e2eeeaf671ac431f58835d3160cd
|
|
| MD5 |
40bddc324e8d5f5f9cce8dd7cbeb17ac
|
|
| BLAKE2b-256 |
b541e53101eea138c3288780d3391dc54daf68d958462b3f3405f9fec355b797
|
Provenance
The following attestation bundles were made for pyodoro-1.1.0.tar.gz:
Publisher:
publish.yml on NarezIn/pymodoro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyodoro-1.1.0.tar.gz -
Subject digest:
3b2ccc78e2bc79dea2626d05b38b3faf4f61e2eeeaf671ac431f58835d3160cd - Sigstore transparency entry: 1668266885
- Sigstore integration time:
-
Permalink:
NarezIn/pymodoro@41a6acad1f70e6991852c9e0ddbdaa73cf1cc931 -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/NarezIn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@41a6acad1f70e6991852c9e0ddbdaa73cf1cc931 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pyodoro-1.1.0-py3-none-any.whl.
File metadata
- Download URL: pyodoro-1.1.0-py3-none-any.whl
- Upload date:
- Size: 23.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3510bf7cb3219e70bf0f3fea918acfeec51274ee30701149072945b0cc512df
|
|
| MD5 |
30a7a72aaad2e8bfe310c80a82b8dac4
|
|
| BLAKE2b-256 |
e92ebed9dd0640ffa24f2f97c2cc82710387d142e0d498e40adf100f61e98fc5
|
Provenance
The following attestation bundles were made for pyodoro-1.1.0-py3-none-any.whl:
Publisher:
publish.yml on NarezIn/pymodoro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyodoro-1.1.0-py3-none-any.whl -
Subject digest:
f3510bf7cb3219e70bf0f3fea918acfeec51274ee30701149072945b0cc512df - Sigstore transparency entry: 1668267124
- Sigstore integration time:
-
Permalink:
NarezIn/pymodoro@41a6acad1f70e6991852c9e0ddbdaa73cf1cc931 -
Branch / Tag:
refs/tags/v1.1.0 - Owner: https://github.com/NarezIn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@41a6acad1f70e6991852c9e0ddbdaa73cf1cc931 -
Trigger Event:
release
-
Statement type: