A terminal-based running tracker with CSV logging and ASCII line charts
Project description
Terminal Running Tracker
A minimalist, terminal-based running tracker built with Python and curses. Log your daily runs, track performance metrics, and visualize trends — all from your terminal.
Features
- Log daily running data: distance, pace, heart rate, cadence
- Mark quality runs
- View 15-day trend line charts (distance, heart rate, pace)
- Keyboard-driven navigation and editing
- Data stored locally in a CSV file
- Fully offline, no cloud, no accounts
| Date | Dist | Pace | HR | Cad | ✓ |
|---|---|---|---|---|---|
| 2025-07-04 | 8.0 | 6:10 | 153 | 174 | ✓ |
| 2025-07-03 | 12.0 | 6:30 | 158 | 171 |
Last 15 Days - Distance
12.0 -●--------●-----
10.0 -●---●----●-----
8.0 -●--------●-----
Requirements
- Python 3.8+
- Terminal that supports
curses(Unix, macOS, or Windows Terminal/WSL)
🚀 Installation
# Pip
pip install runtracked
# (Optional) GitHub
git clone https://github.com/bearenbey/run-tracker.git
cd run-tracker
pip install .
runtracked
Usage
↑ / ↓: Navigate entries
Enter: Edit selected entry
D: Delete selected entry
Q: Quit and save
Data is saved to runs.csv in the project folder.
Data Format (CSV)
Each run entry is stored with the following fields:
| Field | Description |
|---|---|
| date | ISO format (YYYY-MM-DD) |
| distance | Kilometers |
| pace | Minutes per km |
| heart_rate | Average heart rate |
| cadence | Steps per minute |
| quality | 1 = quality run |
Dev Notes
- ASCII-only characters are used for full terminal compatibility.
- Charts scale dynamically to fit screen height.
- No external dependencies required beyond Python standard library.
License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see https://www.gnu.org/licenses/.
© 2025 Eren Öğrül termapp@pm.me
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file runtracked-0.1.0.tar.gz.
File metadata
- Download URL: runtracked-0.1.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac90f456aecb1e35f7d10ad835c27f96e2898b140101ddc69e6f68e1706cffcc
|
|
| MD5 |
70c6e5137b7631acb062f265ce96f446
|
|
| BLAKE2b-256 |
b4d1c827b7eea0055d4ba3ff141e5f08ecb1e125f47e793cecf8e0975cd8a6a7
|
File details
Details for the file runtracked-0.1.0-py3-none-any.whl.
File metadata
- Download URL: runtracked-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38ef6393e00de0321043427a274ecb7fd2d605269fd52cd6638008bc4107333e
|
|
| MD5 |
009321ac642e9a7464c90764f12038c8
|
|
| BLAKE2b-256 |
3166ccad104fcd556650b347f5aff5cbe2def65fcc0d09a4685c97c73cab368d
|