Skip to main content

A background Pomodoro timer with prompt-integrated progress bars — start a session and keep using your terminal

Project description

Pymodoro

Build and Test

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

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyodoro-1.1.0.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyodoro-1.1.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

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

Hashes for pyodoro-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3b2ccc78e2bc79dea2626d05b38b3faf4f61e2eeeaf671ac431f58835d3160cd
MD5 40bddc324e8d5f5f9cce8dd7cbeb17ac
BLAKE2b-256 b541e53101eea138c3288780d3391dc54daf68d958462b3f3405f9fec355b797

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyodoro-1.1.0.tar.gz:

Publisher: publish.yml on NarezIn/pymodoro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pyodoro-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3510bf7cb3219e70bf0f3fea918acfeec51274ee30701149072945b0cc512df
MD5 30a7a72aaad2e8bfe310c80a82b8dac4
BLAKE2b-256 e92ebed9dd0640ffa24f2f97c2cc82710387d142e0d498e40adf100f61e98fc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyodoro-1.1.0-py3-none-any.whl:

Publisher: publish.yml on NarezIn/pymodoro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page