A Flowmodoro Timer CLI for producitivity enthusiasts.
Project description
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
- 🐍 Python ≥ 3.12
- 📦 pip
- 🛠️ GCC Compiler if installing from source.
📦 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:
- Fork this repo.
- Clone it to your local machine.
- Create a branch for your changes.
- Make your edits and test them.
- Commit and push your changes.
- 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
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbc6da4ee08c406cbfa4bb6af27c36edd86d2cbae023547dce38460047e0d953 |
|
MD5 | 10ba60da706ed095f58d4f5143c03b25 |
|
BLAKE2b-256 | 5ab884aa6b1987a56544ea3ff6909235bb2ae5ceabbeaf9a0d99ef120ce2faf7 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65a94be1dcd81c6f42d6707423f14bcd73cff77f16b03108785d748ecaf77b02 |
|
MD5 | 1b8a2a6458594473f99edafe071d7dc8 |
|
BLAKE2b-256 | 0ecc696b03fd0a1e951329471f732b0031096bca6e58d665901db98b7f8b7608 |