Skip to main content

Strava Command-Line Tools

Project description

Strava command-line interface

Uses Strava API to access Strava dataset.

Installation

Using Homebrew on OSX:

brew tap bwilczynski/tap
brew install strava-cli

Using pip (requires Python 3):

pip install strava-cli

Usage

strava [OPTIONS] COMMAND [ARGS]

Get Started

Create application and run strava config to provide your application's Client ID and Client Secret.

Alternatively set the following environment variables before running strava:

export STRAVA_CLIENT_ID={YOUR_CLIENT_ID}
export STRAVA_CLIENT_SECRET={YOUR_CLIENT_SECRET}

Login to your Strava service (opens a web browser sending user to Strava login service):

strava login

For usage and help content, pass in the --help parameter, for example:

strava --help

Available commands

Get recent, yearly, total stats:

➜ strava stats  

Type        Count  Distance    Moving time    Elevation gain
--------  -------  ----------  -------------  ----------------
πŸƒ recent        7  53.33 km    5h 6m          166 m
πŸƒ ytd         121  1048.15 km  95h 43m        4526 m
πŸƒ all         241  1761.13 km  164h 35m       7258 m

Get last 5 activities:

➜ strava activities -pp 5

        Id  Start date                 Name             Elapsed time    Distance    Average speed
----------  -------------------------  ---------------  --------------  ----------  ---------------
2038696223  2018-12-27 17:58:49+01:00  πŸƒ Afternoon Run  45:19           8.02 km     05:15 /km
2034884699  2018-12-25 15:38:55+01:00  πŸƒ Bday Run       44:56           7.32 km     05:41 /km
2031636166  2018-12-23 14:29:50+01:00  πŸƒ Afternoon Run  48:14           6.55 km     06:17 /km
2030237887  2018-12-22 20:13:31+01:00  πŸƒ Evening Run    37:34           7.10 km     05:16 /km
2020398424  2018-12-16 16:39:56+01:00  πŸƒ Afternoon Run  41:54           6.31 km     05:43 /km

Get activities after / before a certain date:

strava activities --after="2 weeks ago" --before="1 week ago"
strava activities --after="2018-12-01"

Get detailed activity information:

➜ strava activity 1958241710

Name:                  πŸƒ 30. Bieg NiepodlegΕ‚oΕ›ci
Description:           Oficjalny czas: 46:55
Start date:            2018-11-11 11:24:28+01:00
Elapsed time:          46:58
Distance:              10.02 km
Average speed:         04:41 /km
Total elevation gain:  52 m
Calories:              639.0
Device name:           Garmin Forerunner 645 Music
Gear:                  New Balance Zante v4 (443.65 km)
Split 1:               πŸ‘Ÿ 04:44 /km ❀ 164 bpm ⬆ 7 m
Split 2:               πŸ‘Ÿ 04:38 /km ❀ 168 bpm ➑ 0 m
Split 3:               πŸ‘Ÿ 04:48 /km ❀ 164 bpm ⬆ 1 m
Split 4:               πŸ‘Ÿ 04:49 /km ❀ 160 bpm ⬇ -3 m
Split 5:               πŸ‘Ÿ 04:41 /km ❀ 161 bpm ⬇ -2 m
Split 6:               πŸ‘Ÿ 04:37 /km ❀ 164 bpm ⬆ 2 m
Split 7:               πŸ‘Ÿ 04:50 /km ❀ 165 bpm ⬆ 3 m
Split 8:               πŸ‘Ÿ 04:39 /km ❀ 163 bpm ⬇ -1 m
Split 9:               πŸ‘Ÿ 04:42 /km ❀ 165 bpm ➑ 0 m
Split 10:              πŸ‘Ÿ 04:24 /km ❀ 171 bpm ⬇ -9 m
Split 11:              πŸ‘Ÿ 04:44 /km ❀ 173 bpm ⬇ -1 m

Or use xargs:

strava activities -q --after="1 day ago" | xargs strava activity 

Combine JSON output with jq:

➜ strava activities -pp 1 -q | xargs strava activity --output json | jq ".name"
"Afternoon Run"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
strava_cli-0.4.8-py3-none-any.whl (16.0 kB) Copy SHA256 hash SHA256 Wheel py3
strava-cli-0.4.8.tar.gz (11.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page