Skip to main content

A Programmable Training Diary

Project description

choochoo (ch2)

An open, hackable and free training diary.

See documentation for full details.

Diary

Data

Plots

Technical Features

Training data are stored in a database...

  • There are tools to get data into the database:
    • Read FIT files from smart watches, bike computers, etc
      • 'Activities' (eg bike rides) can be read
      • 'Monitor' data (eg steps and rest HR) can be read
        • These can also be downloaded from Garmin Connect
    • Daily information (eg weight) can be entered via the diary
      • Ability to add custom fields for general data capture
    • Other data (eg FTHR) can be entered at the command line
  • There are tools to process data in the database:
    • Prepared calculations for data totals, ranking, averages
    • Ability to extend processing with Python
  • There are tools to get data out of the database:
    • Browse and edit data in the diary
    • Pandas tables for analysis in numpy and Jupyter notebooks
    • Examples for plotting spatial and time-series data
  • Clear database schema, designed for third party access:
    • SQLAlchemy ORM interface

The configuration is also stored in the database...

  • You can schedule training plans:
    • Prepared / example training plans included
    • Simple, declarative library for defining your own plans
  • You can add data fields to the diary
  • You can extend various pipelines that are called during processing:
    • Statistic pipeline to calculate new derived statistics (eg values over intervals)
    • Diary pipeline to generate items for diplsay in the diary
    • Activity pipeline to generate new data based on activities
    • Monitor pipeline to generate new data based on monitor data

The project can be used stand-alone by someone comfortable with the technologies used, or it could be extended with a GUI.

Latest Changes

v0.3.0

Diary now uses dates (rather than datetimes) and is timezone aware (Previously all times were UTC datetimes; now data related to the diary - like statistics calculated on daily intervals - use the date and the local timezone to convert to time. So, for example, stats based on monitor data are from your local "day" (midnight to midnight)).

Monitor data from FIT files can be imported.

v0.2.0

Major rewrite to generalize the database schema. Moved a lot of configuration into the database. Now much more flexible, but less interactive.

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

choochoo-0.3.3.tar.gz (86.4 kB view details)

Uploaded Source

Built Distribution

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

choochoo-0.3.3-py3-none-any.whl (125.9 kB view details)

Uploaded Python 3

File details

Details for the file choochoo-0.3.3.tar.gz.

File metadata

  • Download URL: choochoo-0.3.3.tar.gz
  • Upload date:
  • Size: 86.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for choochoo-0.3.3.tar.gz
Algorithm Hash digest
SHA256 a8a72b0d30a0bf6d2b79d907e32e6cd2f133c3e6ec22cede98b84521fa08a615
MD5 45e076369b90703a8984ca54b8d720fc
BLAKE2b-256 9420ea480b26b9e218cd3f9f5626d4f782bd91654161244703edcf38ca6c955f

See more details on using hashes here.

File details

Details for the file choochoo-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: choochoo-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 125.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.0

File hashes

Hashes for choochoo-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2e431e10c296e39c3852b059526830289cd57524dd510455da6b1a11d4d4519f
MD5 e9a83377f97ac6a30ce14daab87f4b3f
BLAKE2b-256 0f29facaaf70c42459cf081c52404f96a966065de61f2505d0f85ebdd60e2ec4

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