Skip to main content

A Flowmodoro Timer CLI for producitivity enthusiasts.

Project description


PyPI Version Build Status License Downloads
Issues Forks Stars

flomo is a crossplatform TUI/CLI for using the Flowtime Technique, also known as the Flowmodoro Technique. It's a task execution helper, or in other words, a productivity booster! 🚀

flomo allows you to work on tasks in a flow state, manage your work/break time, and track your sessions.

Built with: rich & blessed (TUI), click (CLI), notify-send for Linux notifications, playsound (Windows & Mac sound), paplay (Linux sound), sqlite3 (database).

✨ Features

  • Cross-Platform 🌐
  • Stopwatch for Flow and Timer for Breaks ⏱️
  • Session tracker (date, duration, tag, and session) 🗓️
  • Session manager: easily manipulate the sessions via CLI ⚙️
  • Customizable, Clean UI 🎨
  • Notifications (Linux only, for now) 🔔
  • Fairly easy-to-use, I suppose 🤔
  • (Potential) productivity booster 💥

🎉 Background

flomo started as a Hackathon (livestream) on June 6, 2024, with @Jonak-Adipta-Kalita and @AnubhavSC. We aimed to create a small project that was fun and could potentially help others. We're all productivity fanatics, and this project is heavily inspired by pomo.

However, two hours in, we realized it was harder than expected. We spent a lot of time debugging and refactoring. Here are our learnings from the Hackathon.

🌟 Flow and Flowtime Technique

Mihaly Csikszentmihalyi was known for his work on Flow Theory. He describes "flow" as:

"A state of being in which people become so immersed in the joy of their work or activity 'that nothing else seems to matter.'"

As developers, creators, and romantics, we often experience that state of "flow." This "flow" can vary, sometimes increasing or decreasing.

This can be visualized with a graph:

We can take advantage of this by identifying the right time to take a break—when the "flow" is depleting. This is the Flowtime technique.

It works like this: If you work for x minutes, take a break for x/5 minutes. Then, repeat.

This requires a good deal of discipline, meaning you need at least some natural focus. If not, check out the Pomodoro Technique! 🍅

🛠️ Installation

📋 Pre-requisites

📦 Instructions

Using PyPi package

pip install flomodoro

Note: If you're on Linux, ensure /home/user/.local/bin is in your PATH. More info for Linux newbies

Installing from source

git clone https://github.com/moiSentineL/flomo.git
cd flomo
pip install -r requirements.txt

gcc -fPIC -shared -o flomo/session_id.so flomo/session_id.c

pip install -e .

🚀 Getting Started

Initialize flomo by:

flomo init

Start a flow by:

flomo s

Start a flow with the tag work and the session name math:

flomo s -t work -n math

Check the wiki for more info 📚

🛤️ Roadmap

  • ✅ Add sound on timer/stopwatch start
  • ✅ Notification (only Linux for now)
  • ✅ Configure colors
  • ✅ Track sessions
  • ✅ Configure colors
  • 🟧 Skipping Break
  • 🟧 Chart Generation / Statistics

Check our Kanban Board.

🤝 How to Contribute

Want to help? Great! Here's how:

  1. Fork this repo.
  2. Clone it to your local machine.
  3. Create a branch for your changes.
  4. Make your edits and test them.
  5. Commit and push your changes.
  6. Open a pull request to the main branch.

Note: if you're new to Git and Github, I suggest you read this Intro to Git and GitHub for Beginners.

Let's collaborate! 🌟

[^1]: Csikszentmihalyi, M. (1990). Flow: The Psychology of Optimal Experience. New York: Harper and Row. p. 15 ISBN 0-06-092043-2.

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

flomodoro-1.1.0.tar.gz (60.8 kB view details)

Uploaded Source

Built Distribution

flomodoro-1.1.0-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

File details

Details for the file flomodoro-1.1.0.tar.gz.

File metadata

  • Download URL: flomodoro-1.1.0.tar.gz
  • Upload date:
  • Size: 60.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for flomodoro-1.1.0.tar.gz
Algorithm Hash digest
SHA256 fbc6da4ee08c406cbfa4bb6af27c36edd86d2cbae023547dce38460047e0d953
MD5 10ba60da706ed095f58d4f5143c03b25
BLAKE2b-256 5ab884aa6b1987a56544ea3ff6909235bb2ae5ceabbeaf9a0d99ef120ce2faf7

See more details on using hashes here.

File details

Details for the file flomodoro-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: flomodoro-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 57.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for flomodoro-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65a94be1dcd81c6f42d6707423f14bcd73cff77f16b03108785d748ecaf77b02
MD5 1b8a2a6458594473f99edafe071d7dc8
BLAKE2b-256 0ecc696b03fd0a1e951329471f732b0031096bca6e58d665901db98b7f8b7608

See more details on using hashes here.

Supported by

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