- Fix: forgot to update model CI build to follow new src layout (@lwasser, #438)
- Fix: Type annotation on field that are of type timedelta are now correct (@enadeau, #440)
- Stravalib now includes types annotation, the package is PEP 561 compatible (@enadeau, #423)
- Add: Add nox to run tests, build docs, build package wheel/sdist(@lwasser, #395, #397)
- Type annotation for all files in the library (@enadeau, #384, #415)
- Add blacken-docs and codespell to pre-commit & apply on docs (@lwasser, #391)
- Allow parsing of activity with segment of type other that Run and Ride (@JohnScolaro, #434)
- Infra: Replace flake8 and isort by ruff (@enadeau, #430)
- Remove python 3.8 support following NEP-29 (@enadeau, #416)
@endeau, @lwasser, @JohnScolaro
- Apply flake8 and numpy docstrings to limiter & protocol (@lwasser, #326)
- Update client's stream method to warn when using unofficial parameters (@enadeau, #385)
- Fix docstring in SleepingRateLimitRule (@enadeau)
- Fix: rename
SubscriptionCallback.validate
->SubscriptionCallback.validate_token
to avoid conflict withpydantic.BaseModel
(@lwasser, #394) - Fix: docstrings in model.py, documentation errors, findfonts warning suppression by removing opengraph (temporarily), typing updates (@lwasser, #387)
- Fix: read the docs is breaking due to pydantic json warnings, also update python version on build and sync pr previews (@lwasser, #412)
- Fix: update master to main in all builds (@lwasser)
- Type annotation to client file (@enadeau, #384)
- Add: issue templates for easier debugging / guide users (@lwasser, #408)
- Fix: read the docs is breaking due to pydantic json warnings, also update python version on build and sync pr previews (@lwasser, #412)
- Fix: update master to main in all builds (@lwasser)
@endeau, @lwasser, @jsamoocha
- Fix: pins pydantic to v1 in pyproject.toml dependencies (@jsamoocha, #382)
- Add: type checking to limiter, protocol and exc file (@enadeau , #374)
- Fix: two minor mistakes in documentation (@enadeau , #375)
- Fix: pins pydantic to v1.10.6 (@lwasser, #380)
@enadeau, @lwasser
- Fix two minor mistakes in documentation (@enadeau , #375)
- Add type checking to limiter, protocol and exc file (@enadeau , #374)
- Apply flake8 and numpy docstrings to all modules limiter & protocol (@lwasser, #326)
- Add: Add field override in class Segment to support all activity types (@solorisx, #368)
- Fix: Bumps Flask version in example code (@jsamoocha, #366)
@solorisx, @jsamoocha
- Add: Adds RPE to activity model (@jsamoocha, #355)
- Add: support sport_type in client.update_activitiy() (@think-nice-things, #360)
- Fix: Move to numpy style docstrings & add black (@lwasser, #365)
- The
activity_type
parameter in the client methodupdate_activity()
is deprecated and should be replaced bysport_type
.
@jsamoocha, @lwasser, @think-nice-things
- Adds Strava API changes, and datamodel-code-generator bug fix (@jsamoocha, #333)
- Add: Replace full legacy model with extensions from the generated pydantic model (@jsamoocha, #324)
- Add: Add support for lazy loading related entities (@jsamoocha, #322)
- Add: Add support for nested model attributes(@jsamoocha, #316)
- Add: replaces implementations for the classes Club, Gear, ActivityTotals, AthleteStats, and Athlete by the generated Pydantic model & backwards compatibility (@jsamoocha, #315)
- Add: Workflow for updating strava model when the API changes (@jsamoocha, #302)
- Add:
pydantic_autodoc
to sphinx build and reconfigure api structure - p1 (@lwasser, #326)
- Fix: Corrects attribute lookup for enum values (@jsamoocha,#329)
- The
BaseEntity
methodsdeserialize()
,from_dict()
, andto_dict()
are deprecated and will raise aDeprecationWarning
when they're used. They should be replaced by the pydantic methodsparse_obj()
anddict()
orjson()
.
- The complete
attributes
module - All the abstract entity types (e.g.
IdentifiableEntity
,LoadableEntity
) from themodel
module - Constants used for activity types such as
Activity.RIDE
HeartrateActivityZone
,PowerActivityZone
,PaceActivityZone
as subtypes ofBaseActivityZone
(the latter is retained)- Everything related to segment leaderboards as this is not supported by Strava anymore
@jsamoocha, @lwasser, @oliverkurth
- Add: Upload photo to activity (@gitexel, #318)
- Add: Support uploading
activity_file
object with typebytes
(@gitexel, #308) - Add: Pre-commit hook + instructions and configure precommit.ci bot (@lwasser, #293)
- Fix: Internal warnings should be ignored in tests (@jsamoocha, #319)
- Fix:
setuptools_scm
bug when installing stravalib remotely via GitHub (@lwasser, #331) - Fix: fix LatLon unmarshal from string type (@oliverkurth, #334)
- Fix: allows arithmetic and comparison between multiple quantities (@jsamoocha, #335)
@oliverkurth, @gitexel, @jsamoocha, @lwasser
- Add: Development & build/release guide to documentation, edit button to documentation theme, pr template for release (@lwasser, #289)
- Add: Integration tests for /routes/{id} and /segments/starred (GET) (@jsamoocha, #250 (partial))
- Add: Add integration tests for all POST/PUT client methods (@jsamoocha, #250 (partial))
- Add: code cov to test suite (@lwasser, #262)
- Add: add code of conduct to the repo, update contributing guide + readme badges (@lwasser, #269, #274)
- Add: pull request templates for regular pr and release (@lwasser, #294)
- Add: Support for python 3.11
- Fix: Move docs to
furo
theme, addmyst
support for markdown, include CONTRIBUTING.md in documentation, enhance intro documentation page and add linkcheck to docs build (@lwasser, #276) - Fix: deprecated set-output command in actions build (@yihong0618, #272)
- Fix: Add readthedocs config file to ensure build installs using pip (@lwasser, #270)
- Change: Replace
units
dependency bypint
(@jsamoocha, #281)
- Remove: Support for python 3.7
@lwasser, @yihong0618, @jsamoocha
- Add: Add an option to mute Strava activity on update (@ollyajoke, #227)
- Add Update make to build and serve docs and also run current tests (@lwasser,#263)
- Add: Move package to build /
setuptools_scm
for version / remove setup.py and add CI push to pypi (@lwasser, #259)
- Fix: add new attributes for bikes according to updates to Strava API to fix warning message (@huaminghuangtw, #239)
- Fix: Minor bug in PyPI push and also streamlined action build (@lwasser, #265)
- Fix:
get_athlete
w new attrs for shoes given strava updates to API (@lwasser, #220) - Fix: Refactor deprecated unittest aliases for Python 3.11 compatibility (@tirkarthi, #223)
- Patch: Update readme and fix broken links in docs (@lwasser, #229)
- Change: Improved unknown time zone handling (@jsamoocha, #242)
- Change: Refactor test suite and implement Ci for tests (@jsamoocha, #246)
- Change: Remove support for python 2.x (@yihong0618, #254)
- Change: Overhaul of documentation, fix links and CI build (@lwasser, #222)
@jsamoocha, @yihong0618, @tirkarthi, @huaminghuangtw, @ollyajoke, @lwasser
- Fix to unicode regression (@hozn, #217)
- Fixes IndexErrors when deserializing empty lists as GPS locations (@hozn, #216)
- Fix a few fields in Activity model (@hozn, #201, #214, #207)
- deal with tzname without offset and timedelta in string format (@hozn, #195)
- Update to docs and repr (@hozn, #200, #205, #206)
- Now webhooks use the same domain as the rest of API. (@hozn, #204)
- Setting rate_limit_requests=False in Client causes error (@hozn, #157)
- More fixes to new new authorization scopes (@hozn, #168)
- Added an example oauth app and some small docs updates.
- Changed missing-attribute warnings to be debug-level logs.
- Fixes of authorization_url / new scopes for new oauth (@hozn, #163, #165)
- Implementation of Strava's new auth. (@hozn, #162, #163)
- Version bump for dup file upload to pypi. :-[
- Fix mutable parma defaults in rate-limiter util functions (@hozn, #155)
- Add the missing subscription_permissions attr to Athlete (@hozn, #156)
- Fix for pip 0.10.0 (@paulte, #149, #150)
- Auto-configure the rate limits (not just usage) from response headers. (@hozn, #142)
- More API changes to reflect the big privacy changes from Strava. (@hozn, #139, #140)
- Fix to kom_type attribute (@hozn, #138)
- Fixes to segment leaderboard models for Strava's API BREAKING CHANGE (@hozn, #137) (See https://groups.google.com/forum/#!topic/strava-api/SsL2ytxtZng)
- Return ObjectNotFound and AccessUnauthorized HTTPError subclasses for 404 and 401 errors respectively (@hozn, #134)
- Return None when there are no activity streams (@hozn, #118)
- Updated Activity for new attributes (@hozn, #115, #122)
- New segment attributes (@JohnnyLChang, #106)
- Streams for a route (@drixselecta, #101)
- Activity Uploader improvements (@bwalks, #119)
- Added to_dict() method to model objects (@hozn, #127)
- Added get_athlete_starred_segments (@wjazdbitu, #117)
- Fixed glitches in activity.laps (@hozn, #112)
- Fixed bug in club.members (@hozn, #110)
- Fix for delete_activity (@jonderwaater, #99)
- Updated ActivityPhoto model to support native photos and reverted get_activity_photos behavior for backwards compatibility (@hozn, #98)
- Added missing Club attributes (MMI) (@hozn, #97)
- Added support for undocumented inclusion of laps in activity details. (@hozn, #96)
- Added missing parameter for get_activity_photos (@hozn, #94)
- Added missing activyt pr_count attribute (@Wilm0r, #95)
- add "starred" property on SegmentExplorerResult (@mdarmetko, #92)
- Fixed update_activity to include description (@hozn, #91)
- More Python3 bugfixes
- Python3 bugfixes (@Tafkas, @martinogden)
- Added delete_activity
- added context_entries parameter to get_segment_leaderboard method (@jedman)
- Use (require) more modern pip/setuptools.
- Full Python 3 support (using Six). (@hozn, #69)
- Webhooks support (thanks to loisaidasam) (@hozn, #77)
- explore_segments bugfix (@hozn, #71)
- General updates to model/attribs (@hozn, #64, #73, etc.)
- Renamed
Activity.photos
property tofull_photos
due to new conflict with Strava API (@hozn, #45)
- Supporting new/removed attribs in Strava API (@hozn, #41, #42)
- Added support for joining/leaving clubs (@hozn, #43)
- Respect time zones in datetime objects being converted to epochs. (@hozn, #44)
- Activity streams data (Ghis)
- Friends/followers model attributes (Ghis)
- Support for photos (Ghis)
- Updates for new Strava exposed API attributes (@hozn)
- Fixed the _resolve_url to not assume running on nix system.
- Changed Activity.gear to be a full entity attribute (Strava API changed)
- Added core functionality for Strava API v3.
- Mostly redesigned codebase based on drastic changes in v3 API.
- Dropped support for API v1, v2 and the "scrape" module.
- First proof-of-concept (very alpha) release.