Welcome to stravalib
The stravalib Python package provides easy-to-use tools for accessing and
downloading Strava data from the Strava V3 API. Stravalib provides a Client class that supports:
- Authenticating with stravalib
- Managing your authentication to ensure it's current (if you have your environment setup)
- Accessing and downloading Strava activity, club, and profile data
- Making changes to account activities
It also provides support for working with date/time/temporal attributes and quantities through the Python Pint library.
Dependencies
- Python 3.11+
- Setuptools for building stravalib
- Other Python libraries (installed automatically when using pip):
Installation
stravalib is available on PyPI and can be installed using pip:
pip install stravalib
Get started using Stravalib
Most of the methods you will use with stravalib are in the stravalib.client.Client class.
You may be interested in the following tutorials to get started
- How to create a Strava app.
- How to refresh and auto refresh your app token using stravalib.
- How to get activities using stravalib.
- Athlete data using stravalib
- Unit conversion and stravalib
We welcome contributions to our tutorials and get-started documentation if you are a stravalib user and want to contribute!
How to Contribute to Stravalib
Contributing quickstart
Ready to contribute? Here's how to set up Stravalib for local development.
- Fork the repository on GitHub
To create your own copy of the repository on GitHub, navigate to the
stravalib/stravalib <https://github.com/stravalib/stravalib> repository
and click the Fork button in the top-right corner of the page.
- Clone your fork locally
Use git clone to get a local copy of your stravalib repository on your
local filesystem:
git clone git@github.com:your_name_here/stravalib.git
cd stravalib/
- Set up your fork for local development
Read through our development guide to learn how to:
Building from source
To build the project locally and install in editable mode:
- access the project root directory
- run:
$ pip install -e .
Pull Requests and tests
Please add tests that cover any changes that you make to stravalib. Adding tests will greatly reduce the effort of reviewing and merging your Pull Request. Read more about our test suite here.. We developed a mock fixture that ensures that when tests are run, they are not hitting the Strava API.
Still reading?
The published sphinx documentation provides much more.
BPR 💻 |
Danny Cunningham 📖 🤔 |
Hugo van Kemenade 💻 👀 |
Jerome Lelong 🐛 |
Jonatan Samoocha 💻 👀 📖 🚧 |
Leah Wasser 💻 👀 📖 |
Mike Fiedler 💻 👀 🛡️ |
Reno Viana 💻 🐛 👀 |
Robert Kosara 🐛 💬 |
Yotam 📖 |
yihong 🐛 |
Émile Nadeau 💻 👀 📖 🚧 |
Release files for stravalib 2.6.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 | |
|---|---|---|---|
| stravalib-2.6.0.tar.gz | 4.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stravalib-2.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.3 MB
Release files / stravalib-2.6.0.tar.gz
| Download URL | stravalib-2.6.0.tar.gz |
|---|---|
| Size | 4.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6aef4055ea3e7cae4977b2d1a30cc8a054c487658e07d3d06bb3b90074025790
|
|
BLAKE2b-256 checksum How to use checksums |
b41213845a2c5f1eb99271ea7156b23d200a5e7fa55659aa18e8c020d3638944
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logRelease files / stravalib-2.6.0-py3-none-any.whl
| Download URL | stravalib-2.6.0-py3-none-any.whl |
|---|---|
| Size | 134.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5c111066e706eaf94aa908dd0308480dc541dc9e903d17058ab3b682863f5d09
|
|
BLAKE2b-256 checksum How to use checksums |
fbb7dbf85ef7bff9a3cdfb8c7664d43259ac100f36bb10d17d629f70c74613a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency log