Terminal-first exercise intelligence, workout tracking, and progress analytics platform.
Project description
ExerxEye
Exercise Intelligence & Analytics
ExerxEye is a terminal-first training intelligence platform that combines exercise discovery, workout construction, persistent set history, progress analytics, comparison tools, a REST API, and operational health diagnostics.
Product surfaces
exerx-eye tui— keyboard-first Textual interfaceexerx-eye search— fast exercise discoveryexerx-eye random— randomized exercise selectionexerx-eye stats— dataset/training analyticsexerx-eye doctor— database/system health checks- FastAPI REST service for programmatic access
ExerxEye v3.0
A portfolio-grade terminal-first exercise platform built from a 617-row exercise dataset.
What v3 adds
- Real terminal charts: muscle, equipment, and difficulty bar charts
- Progress plots: Unicode sparklines for training volume and estimated 1RM
- Workout Builder: create workouts and add exercises directly from Browse with
A - Live workout logging: start a session, select an exercise, log reps/weight, finish the workout
- Progress tab: set history, volume, estimated 1RM, and trends
- System tab: DB health, latency, size, schema version, and architecture view
- Schema migrations: versioned
schema_migrationstable - Unified SQLite data layer shared by the TUI and FastAPI
- CLI surface: search, random, stats, doctor, export, import, tui
- Docker Compose API with persistent volume and
/healthhealthcheck - Existing favorites, CSV export, randomizer, filters, muscle browser, and full exercise instructions
Architecture
617-row CSV ──► SQLite Repository ─────────► Textual TUI
│ │
│ ├── Browse / Random / Muscles
│ ├── Workouts / Live Sessions
│ ├── Progress / Charts
│ └── Stats / System Health
│
├────────► FastAPI REST API ──► Docker
│
└────────► CLI / doctor / export
Install and launch
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
python -m pip install -e .
exerx-eye import data/gym_exercise_dataset.csv
exerx-eye tui
The old command still works:
exerx-eye --csv data/gym_exercise_dataset.csv --import-only
exerx-eye
CLI examples
exerx-eye search "bench press"
exerx-eye random --muscle Chest --count 6
exerx-eye stats
exerx-eye doctor
exerx-eye export exercises.csv
Workout workflow
- Open Workouts and create a workout.
- Return to Browse, select an exercise, press
A. - Repeat for the rest of the workout.
- In Workouts, select the workout and click Start Session.
- Select an exercise, enter reps and weight, and click Log Set.
- Click Finish Session.
- Open Progress to see history and trend plots.
API / Docker
docker compose up --build -d
curl http://localhost:8000/health
curl 'http://localhost:8000/exercises?q=bench&limit=5'
curl http://localhost:8000/stats
Interactive Swagger docs are at http://localhost:8000/docs.
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 exerxeye-1.0.2.tar.gz.
File metadata
- Download URL: exerxeye-1.0.2.tar.gz
- Upload date:
- Size: 18.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
168821086450da4046904daa4c7bc35e5c4a14a4ceef03ba9fa00f66b481938c
|
|
| MD5 |
246e67a581a4526246f7eaca69b927e5
|
|
| BLAKE2b-256 |
97e3543d96ad2679047dadfa09f0fbf570c072cbd303ac3fc5cb8eea0f24d9e4
|
Provenance
The following attestation bundles were made for exerxeye-1.0.2.tar.gz:
Publisher:
publish.yml on iamrichmack111/exerx-eye
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
exerxeye-1.0.2.tar.gz -
Subject digest:
168821086450da4046904daa4c7bc35e5c4a14a4ceef03ba9fa00f66b481938c - Sigstore transparency entry: 2243309943
- Sigstore integration time:
-
Permalink:
iamrichmack111/exerx-eye@62220225ac5d748b974e28fa85a53b727f21d591 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/iamrichmack111
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@62220225ac5d748b974e28fa85a53b727f21d591 -
Trigger Event:
release
-
Statement type:
File details
Details for the file exerxeye-1.0.2-py3-none-any.whl.
File metadata
- Download URL: exerxeye-1.0.2-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aba18f2f851910ab6a37e9ce83f8ddd6b2a35fd098a07614319154af865ac8ce
|
|
| MD5 |
e1aa56174a1d9b7dc5f508e3b36de6a1
|
|
| BLAKE2b-256 |
f53762da08a1029935391b19430a8a9d7d4e104945b6f62ce134fdf5a2e03952
|
Provenance
The following attestation bundles were made for exerxeye-1.0.2-py3-none-any.whl:
Publisher:
publish.yml on iamrichmack111/exerx-eye
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
exerxeye-1.0.2-py3-none-any.whl -
Subject digest:
aba18f2f851910ab6a37e9ce83f8ddd6b2a35fd098a07614319154af865ac8ce - Sigstore transparency entry: 2243310201
- Sigstore integration time:
-
Permalink:
iamrichmack111/exerx-eye@62220225ac5d748b974e28fa85a53b727f21d591 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/iamrichmack111
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@62220225ac5d748b974e28fa85a53b727f21d591 -
Trigger Event:
release
-
Statement type: