A TUI app to track your ten thousand hours towards mastering a certain skill
βI fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.β ~Bruce Lee
This TUI app (written in 2021) is built on the idea that true mastery of any skill takes 10,000 hours of deliberate practice. It's a curses based TUI tool to track your practice hours toward 10,000 hours of mastery, using a MySQL database for storage.
- Record hours or minutes spent practicing.
- Live timer to track practice sessions.
- Progress bars for weekly, monthly, yearly, and total hours.
- Settings menu to change goals, initial hours, skill name, and manage data.
- Privacy options: change username/password.
- Simple text-based UI using
curses.
-
Clone the repository:
git clone https://your.repo.url/ten-thousand-hours.git cd ten-thousand-hours -
Ensure you have Python 3.6+:
python3 --version
-
Install dependencies:
pip install -r requirements.txt
-
Install the CLI script:
# Normal install pip install . # Or editable mode (for development) pip install -e .
This will install the
tenk-hourscommand.
Before running the tool, configure your MySQL credentials. By default, the script connects using:
# tenk.py (database connection section)
conn = mycon.connect(
user="root", # <-- MySQL username
password="", # <-- MySQL password
host="localhost"
)Edit directly in tenk.py:
- Open
tenk.pyin an editor. - Locate the
mycon.connect(...)call near the top of the file. - Replace
userandpasswordvalues accordingly.
After installation, simply run:
tenk-hoursThis will:
- Connect (or create) the
10kdatabase in MySQL. - Prompt you for your name, password, and initial settings (first run only).
- Show the main menu to log hours, start a timer, view progress, or change settings.
- Log hours manually: Choose Enter hours spent today.
- Start timer: Choose Start tracking hours spent.
- Show progress: Choose Show your progress towards mastery.
- Settings: Change goals, initial hours, skill name, or clear data.
- Privacy: Change username/password.
- Exit: Quit the application.
βββ tenk.py # Main script
βββ requirements.txt # Python dependencies
βββ setup.py # Install script
βββ README.md # This file
This project is shared with the community without any warranty. Use at your own discretion.