Skip to main content

Open-source Python package for workout analysis and recommendations.

Project description

trainlytics

PyPI version Build Status Coverage Status DOI repostatus

Overview

Open-source Python package for physical training analysis and recommendations. Ingests workout logs, computes metrics, detects plateaus, and suggests weekly progressions. Professional structure, automation, tests, and robust documentation.

  • Target audience: Data scientists, fitness professionals, enthusiasts, and developers.
  • Highlights: Professional structure, strong documentation, tests, CI/CD, reproducible data and reports.

Quick Demo

Demo GIF

Installation

pip install trainlytics

Quickstart

from trainlytics import ingest, clean, features, model, recommender
# See notebooks/ for complete examples

Project Structure

  • src/trainlytics/: Core package modules
  • notebooks/: EDA, modeling, reporting
  • tests/: Unit and integration tests
  • docs/: Documentation, changelog, references
  • .github/workflows/: CI/CD
  • data/: Sample data

Sample Data

  • CSV format: data/sample_workout_log.csv
  • Schema: date,exercise,sets,reps,weight
  • Note: Example data only, for educational purposes.

How to Use

  1. Install dependencies: pip install -r requirements.txt
  2. Activate the virtual environment: source .venv/bin/activate (Linux/Mac) or .venv\Scripts\Activate.ps1 (Windows)
  3. Run notebooks in notebooks/ for full examples.
  4. Run tests: PYTHONPATH=src pytest tests (Linux/Mac) or $env:PYTHONPATH="$(Resolve-Path .\src)"; pytest tests (Windows)

Automation & Tasks

  • CI/CD: Lint, test, build, and publish artifacts via GitHub Actions
  • VS Code tasks: Lint, format, test (see .vscode/tasks.json)

FAIR & Reproducibility

  • Versioned data and code
  • Notebooks with controlled outputs
  • Metadata and citation in CITATION.cff

Roadmap

  • Initial structure
  • Ingestion and cleaning modules
  • Modeling and recommendation
  • Micro-app and reporting
  • Tests and coverage

How to Cite

See CITATION.cff for BibTeX/APA.

How to Contribute

See CONTRIBUTING.md and open a PR!

License

MIT

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

trainlytics-0.1.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

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

trainlytics-0.1.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file trainlytics-0.1.0.tar.gz.

File metadata

  • Download URL: trainlytics-0.1.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for trainlytics-0.1.0.tar.gz
Algorithm Hash digest
SHA256 138c44ddcf2e0d9f891db0ff72b9ff5468ca4ede2b62c7d5ecc11c3c5cb418f3
MD5 acbcaec61041bd2d338dd506e8d286ab
BLAKE2b-256 a0bb5d7afc806be1d06f9bbb276c11b50f17fc619c5f66272531e3ea930c4278

See more details on using hashes here.

File details

Details for the file trainlytics-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: trainlytics-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for trainlytics-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70e7235f2e8b7df3647ba3958af6638e7eabeb5e92afad9b1b3e165f5a72f866
MD5 a3fae3559941aa999f2989f096566ff3
BLAKE2b-256 62f6515176a834a0b9fd87b26137d2611d718c4de0a4bfc89f05322e6690696c

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