GithubHelp home page GithubHelp logo

hartra344 / underthebar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from steveg/underthebar

0.0 0.0 0.0 323 KB

"Under the Bar" - a basic 3rd-party client application for Hevy (see hevyapp.com)

Python 100.00%

underthebar's Introduction

Under the Bar

All I want to do is drink beer and train like an animal!

Screenshot

About

"Under the Bar" is a third-party client application for the Hevy workout tracking website and mobile applications.

This will only be useful if you have an existing Hevy account with workout data recorded. See Hevyapp.com

It is not intended to have feature-parity with the official app. Currently it maintains a local copy of all of your workout data and provides some graphical analyis of that data. I still use the Hevy mobile app to log my workouts while at the gym, then, when back at my desk I use "Under the Bar" to nerd-out on my performance and progress.

Development Screenshots

Prerequisites / Credits

Stuff I'm using to make this work for me:

  • Python3
  • matplotlib
  • PySide2
  • python_dateutil
  • requests
  • Font Awesome icons

A username and password is required. If you don't log in to Hevy like this I've been told it can be generated with a password reset.

To run it

Execute the python file "underthebar.py" (Windows users can download latest pre-built release and run that)

  • It should prompt you to log in to Hevy
  • Hopefully it will then display a blank profile page
  • Go to settings page (bottom left gear button) and use "workouts_batch" to download your workouts
  • You should then see the local workout count increment until it matches your remote workout count
  • Use the other API buttons to download other data such as body measurements and personal records
  • Go back to profile page and it should now populate... yes?

Currently the app always starts with the unpopulated profile page, but just click on the profile page button to populate.

User data gets stored in ~/.underthebar

Profile page

Top of the profile page displays basic profile info like your profile pic.

On the left is the Hevy feed (under the Hevy logo)

  • Refresh button clears and reloads the two most recent workouts for you and the people you follow.
  • "Plus" button adds additional workouts to the feed (i.e. more historical).
  • The feed is also infinite scrolling, when you get to the end it will auto-add more workouts.
  • Workouts can be "liked" by clicking the "thumbs up", but commenting is not currently supported.

Next is the calendar heat map which shows which days you've done a workout.

  • Select a workout day for its details to be displayed below.
  • Select a month header for a summary of that month to be displayed.

Lastly is just some stats:

  • A tracking list of your body measurements
  • A list of personal records for exercises that have been completed recently

Routine Editor page

Newest addition and not for the faint of heart. Here you can create/modify your Hevy routines in raw text mode. More detailed instructions for this are included on the page. Best used in conjuction with the existing Hevy routine editors. Provides a potential avenue to copy your routines from a spreadsheet program for those who manage detailed programming.

Analysis page

To get graphs go to the analysis page (the second, graph-looking button on the left)

  • Select desired graph from the top list
  • Select desired exercise/option from the second list
  • Click "(re)generate" and graph should soon appear... yes?

Graphs are saved as images in the user data folder. To redraw when you have new data navigate to the graph again and select "(re)generate".

Sure, dynamic and interactive graphs would be better... but this works for me for now.

Notes for self

pyinstaller

  • Had to add this to one plot file to get matplotlib to work correctly, error about including svg engine.
    • import matplotlib
    • matplotlib.use("svg")
  • pyinstaller --onefile --windowed --icon=icons\dumbbell-solid.ico --add-data="icons;icons" underthebar.py

underthebar's People

Contributors

steveg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.