Importing from Hevy

One-time import of your workouts and measurements from Hevy. It is not a sync: new Hevy workouts need a new import.

Steps

  1. In Hevy, open Settings -> Export. You get two CSV files: workouts and measurements.

  2. In Dinatos, open Settings -> Import from Hevy.

  3. Upload each CSV in turn.

  4. When the import finishes, review the list of new exercises (see below).

Duplicates

Dinatos recognises a file by its content, not its name. Hevy names every export the same.

  • Uploading the identical file again shows a dialog with the earlier import’s date. Confirm to import it anyway, which creates duplicate activities.

  • A different file, even one with a single new workout, imports normally.

  • To bring over later workouts, export from Hevy again and import the new file.

Exercises

Hevy exports carry no equipment or muscle data.

  • Exercises matching a built-in one are reused.

  • Others are created as your own custom exercises. Dinatos guesses equipment and muscles from similar built-in exercises. Some guesses will be wrong. Tap an exercise in the post-import list to fix it.

Also use Intervals.icu? See Importing from Intervals.icu. It can skip activities already imported from Hevy.

Scripting it

Use this for a fresh instance if you prefer the command line. You need a login token from POST /auth/login (see Running and testing).

curl -F file=@workout_data.csv http://127.0.0.1:8000/imports/hevy/workouts \
    -H "Authorization: Bearer $token"
curl -F file=@measurement_data.csv http://127.0.0.1:8000/imports/hevy/measurements \
    -H "Authorization: Bearer $token"

A repeated file returns 409 Conflict. Add ?force=true to the URL to import it anyway.