Skip to main content

strava_py

Create artistic visualisations with your exercise data (Python version).

This is a port of the R strava package to Python.

Installation

Install via pip:

python3 -m pip install stravavis

For development:

git clone https://github.com/marcusvolz/strava_py
cd strava_py
pip install -e .

Then run from the terminal:

stravavis --help

Examples

Facets

A plot of activities as small multiples. The concept behind this plot was originally inspired by Sisu.

facets

Map

A map of activities viewed in plan.

map

Elevations

A plot of activity elevation profiles as small multiples.

map

Landscape

Elevation profiles superimposed.

map

Calendar

Calendar heatmap showing daily activity distance, using the calmap package. Requires "activities.csv" from the bulk Strava export.

map

Dumbbell plot

Activities shown as horizontal lines by time of day and day of year, facetted by year. Requires "activities.csv" from the bulk Strava export.

map

How to use

Bulk export from Strava

The process for downloading data is described on the Strava website here: [https://support.strava.com/hc/en-us/articles/216918437-Exporting-your-Data-and-Bulk-Export#Bulk], but in essence, do the following:

  1. Log in to Strava
  2. Select "Settings" from the main drop-down menu at top right of the screen
  3. Select "My Account" from the navigation menu to the left of the screen.
  4. Under the "Download or Delete Your Account" heading, click the "Get Started" button.
  5. Under the "Download Request", heading, click the "Request Your Archive" button. Don't click anything else on that page, i.e. particularly not the "Request Account Deletion" button.
  6. Wait for an email to be sent
  7. Click the link in email to download zipped folder containing activities
  8. Unzip files

Process the data

The main function for importing and processing activity files expects a path to a directory of unzipped GPX and / or FIT files. If required, the fit2gpx package provides useful tools for pre-processing bulk files exported from Strava, e.g. unzipping activity files (see Use Case 3: Strava Bulk Export Tools).

df = process_data("<path to folder with GPX and / or FIT files>")

Some plots use the "activities.csv" file from the Strava bulk export zip. For those plots, create an "activities" dataframe using the following function:

activities = process_activities("<path to activities.csv file>")

Plot activities as small multiples

plot_facets(df, output_file = 'plot.png')

Plot activity map

plot_map(df, lon_min=None, lon_max= None, lat_min=None, lat_max=None,
             alpha=0.3, linewidth=0.3, output_file="map.png")

Plot elevations

plot_elevations(df, output_file = 'elevations.png')

Plot landscape

plot_landscape(df, output_file = 'landscape.png')

Plot calendar

plot_calendar(activities, year_min=2015, year_max=2017, max_dist=50,
              fig_height=9, fig_width=15, output_file="calendar.png")

Plot dumbbell

plot_dumbbell(activities, year_min=2012, year_max=2015, local_timezone='Australia/Melbourne',
              fig_height=34, fig_width=34, output_file="dumbbell.png")

Download files

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

Source Distribution

stravavis-0.4.0.tar.gz (224.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stravavis-0.4.0-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file stravavis-0.4.0.tar.gz.

File metadata

  • Download URL: stravavis-0.4.0.tar.gz
  • Upload date:
  • Size: 224.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for stravavis-0.4.0.tar.gz
Algorithm Hash digest
SHA256 cebe9c160cdcf03786fd9aaab5bbd7ab4bc3af9911a70578621417963c9075b6
MD5 b1a28837d6f86b492e89a26012c127cc
BLAKE2b-256 198b4dd64fa0bb4e0ab4ac8ea3030c5afd5b2678c3d9be2f9bde5fd1f530de88

See more details on using hashes here.

File details

Details for the file stravavis-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: stravavis-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for stravavis-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a185789d8fba36ade43eff9d75e81f37441bf3bba01e2b4b46a9012d0e04edc7
MD5 379c3411d1cbb492773d90d8c3e844f0
BLAKE2b-256 b696ba3028248d5e99027a7d948256a74587a28686a7113b0044d74c5a81a8f2

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.0

2 files

0.5.0

2 files

This release

0.4.0 This release

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page