Suresh Kumar
sureshdsk.dev

sureshdsk.dev

How I built an open source CLI based Pomodoro app?

How I built an open source CLI based Pomodoro app?

Featured on daily.dev
Suresh Kumar's photo
Suresh Kumar

Published on Oct 12, 2021

2 min read

Subscribe to my newsletter and never miss my upcoming articles

What is Pomodoro?

Pomodoro time management technique where you do focused work sessions without any interruptions and take short breaks after the session and repeat it until you complete your task. Pomodoro helps improve concentration and focus.

When I came across a Python library rich used for building rich text and beautiful formatting in the terminal. I wanted to use rich to build the pomodoro https://github.com/sureshdsk/doro.

Doro - CLI based pomodoro app

Doro is a pomodoro app has 2 features.

  • pomodoro
  • countdown

It also play a bell notification music after the pomodoro and countdown session ends. The code is opensource, you can find it on github here --> https://github.com/sureshdsk/doro

rich-pomodoro-demo

rich-countdown-demo

How to?

Install

$ pip install doro

Usage

Pomodoro

Configuration

Configure pomodoro session using doro config. Config will be stored at ~/.doro.yaml

$ doro config

# verify config
$ cat ~/.doro.yaml

Start Pomodoro

$ doro start

Countdown timer

$ doro countdown MINUTES

# 15 minutes counter
$ doro countdown 15

# 90 minutes counter
$ doro countdown 90

Tools used

+ rich --> progress bar and colorful text
+ typer --> cli interface
+ pyglet --> play music
+ PyYAML --> configuration management

The launch

I launched this project at PyCon India 2021 lightning talk which got an amazing response from the community. Now I would like to share my work with hashnode community.

Forks and stars welcome on Github: https://github.com/sureshdsk/doro

Would love to hear your feedback, comments and suggestions. Please leave your comments below.

If you like this article, subscribe to the newsletter and Connect with me on twitter to get my future articles.

Did you find this article valuable?

Support Suresh Kumar by becoming a sponsor. Any amount is appreciated!

Learn more about Hashnode Sponsors
 
Share this