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"
Upload Activity from GPX (example: export from a competing service):
strava upload ./2020-09-27-145141.gpx
Id: 4717164254
Status: Your activity is still being processed.
Error: None
Can upload multiple activities.
strava upload ./*.gpx
Metadata
Release files for strava-cli 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| strava-cli-0.7.0.tar.gz | 14.5 kB | Without provenance | Details for strava-cli-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| strava_cli-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for strava_cli-0.7.0-py3-none-any.whl |
Total release size: 33.5 kB
Release files / strava-cli-0.7.0.tar.gz
| Download URL | strava-cli-0.7.0.tar.gz |
|---|---|
| Size | 14.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d55bf4fe4935c3a86426aa5497cf8b3ef58ec0a58194c0b7e12f7e5aef757c2d
|
|
BLAKE2b-256 checksum How to use checksums |
e49e7cc17ee2c057ffaf792b32823abe7c8762c94581aa5f399883990fd3e493
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.3
|
Release files / strava_cli-0.7.0-py3-none-any.whl
| Download URL | strava_cli-0.7.0-py3-none-any.whl |
|---|---|
| Size | 19.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8529f0610209a5237547a96507f81dfd1f29a69f024994fd696fcc0535a57481
|
|
BLAKE2b-256 checksum How to use checksums |
afd43c2ac87106cb4ef6abed42c3f8e51b4d50aba7c2937835750fc9dcf305da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.3
|
Security for strava-cli 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.