- Add: Adds RPE to activity model (@jsamoocha, #355)
- Fix: Move to numpy style docstrings & add black (@lwasser, #365)
- 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.