Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runtracked-0.1.0.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runtracked-0.1.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

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

Hashes for runtracked-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ac90f456aecb1e35f7d10ad835c27f96e2898b140101ddc69e6f68e1706cffcc
MD5 70c6e5137b7631acb062f265ce96f446
BLAKE2b-256 b4d1c827b7eea0055d4ba3ff141e5f08ecb1e125f47e793cecf8e0975cd8a6a7

See more details on using hashes here.

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

Hashes for runtracked-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38ef6393e00de0321043427a274ecb7fd2d605269fd52cd6638008bc4107333e
MD5 009321ac642e9a7464c90764f12038c8
BLAKE2b-256 3166ccad104fcd556650b347f5aff5cbe2def65fcc0d09a4685c97c73cab368d

See more details on using hashes here.

Supported by

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