Coder Social home page Coder Social logo

pomo's Introduction

pomo

Table of Contents

Introduction

A fancy terminal-based pomodoro timer.

It uses the Typer library to provide a pretty user interface.

pomo will display the time remaining with a progress bar in the terminal, it will also alert you with desktop notifications when the timer is over thanks to the cross-platform plyer library. Optionally (on by default) it will also play a bell sound when it starts a new task/break session, so that you never miss it!

pomo The pomo timer in action

Installation

You can install the package using pdm in a fairly simple and straightforward way:

git clone https://github.com/dario-loi/pomo.git
cd pomo
pdm install

You can install the required dependencies with pip (with the help of pdm) in this way:

pdm export -f requirements.txt | pip install -r /dev/stdin

You can then move/symlink the pomo script to a directory in your $PATH (e.g. /usr/local/bin).

Usage

Running the command pomo --help will show you the available options, this is quite detailed thanks to Typer:

❯ pomo --help

 Usage: pomo [OPTIONS] [DURATION] [TASK_NAME] [BREAK_TIME]

 Start the Pomodoro timer.

╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│   duration        [DURATION]    Duration of the Pomodoro session in minutes. [default: 25]                                                                                       │
│   task_name       [TASK_NAME]   Name of the task for the Pomodoro session. [default: Pomodoro]                                                                                   │
│   break_time      [BREAK_TIME]  Break time between Pomodoro sessions in minutes. [default: 5]                                                                                    │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --loop                -l                                       If provided, restart the Pomodoro timer automatically after each session.                                         │
│ --sound               -s                                       If provided, plays a bell sound on the start of every task/break session. [default: True]                         │
│ --version             -v                                       Show the version and exit.                                                                                        │
│ --install-completion          [bash|zsh|fish|powershell|pwsh]  Install completion for the specified shell. [default: None]                                                       │
│ --show-completion             [bash|zsh|fish|powershell|pwsh]  Show completion for the specified shell, to copy it or customize the installation. [default: None]                │
│ --help                                                         Show this message and exit.                                                                                       │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

pomo's People

Contributors

dario-loi avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.