Changes
2024.3
Released 2024-08-19.
This release fixes severe bugs related to aware
datetimeobjects in Python 3.8, 3.9, and 3.10.Type hints were added throughout the library.
Some documentation strings were updated to be more clear.
The
RainwaveCandidateobject has a new propertyelectionto access theRainwaveElectionthat it belongs to.
2024.2
Released 2024.08.19.
The following datetime objects now have time zone info attached:
RainwaveAlbum.added_onRainwaveAlbum.cool_lowestRainwaveAlbum.played_lastRainwaveSchedule.start
The documentation for RainwaveSchedule.start has been clarified: this is an estimated start time for the event.
Even after an event occurs, this property will not give an accurate start time for the event.
RainwaveSchedule gained the following new properties:
start_actual(adatetime) gives the real start time for a current or past event. For events that have not started yet, this property isNone.end(adatetime) gives the end time for an event. For events that have not started, the end time is estimated. For events that have already started, the end time is exact.length(anint) gives the duration in seconds for an event. For future elections, this property is the average of the durations of all songs in the election.RainwaveScheduleobjects now also supportlen().
RainwaveClient.call() has been updated to make API requests using POST instead of GET. This should resolve
many bugs and “Missing … data in API response” errors. If you use call() directly you can override the request
method with the new method= argument.
2024.1
Released 2024-02-09.
Drop support for Python versions older than 3.9.
Fixed a bug where the following properties of
RainwaveAlbumwould not resolve correctly:artadded_oncategoriesplayed_lastrating_countrating_histogramrating_rankrequest_countrequest_ranksongsvote_count
Type hints were added for several classes.
0.10.0
Released 2022-04-08.
Drop support for Python versions older than 3.7.
Emit log messages when certain information is expected in the API response but not found.
0.9.0
Released 2022-01-27.
RainwaveAlbum gained a new property:
url(astr) gives the URL of the album info page on https://rainwave.cc
RainwaveChannel gained some new properties:
key(astr) gives a short string that identifies the channel.url(astr) gives the URL of the web interface for the channel.
RainwaveElection gained a new property:
song(aRainwaveCandidate) gives the first candidate in the list of candidates. If theRainwaveElectionhas already ended, this is the song that won the election.
0.8.0
Released 2022-01-26.
RainwaveOneTimePlay gained a new property:
songsgives a list containing theRainwaveSongfor this event. Now you can usesongson any subclass ofRainwaveScheduleto get the songs for an event.
0.7.0
Released 2022-01-19.
The library is better at tracking when cached schedule information is stale and needs to be reloaded.
0.6.3
Released 2020-07-09.
Switch to a new theme for the documentation.
0.6.2
Released 2019-09-23.
Fix a link in the README.
0.6.1
Released 2019-09-23.
Fix the package description for PyPI.
0.6.0
Released 2019-09-23.
Drop support for Python 2.6, 3.2, 3.3, and 3.4. This version is supported on Python 2.7, 3.5, 3.6, and 3.7
Base URLs now use
httpsinstead ofhttp.RainwaveAlbum.favenow returnsFalseinstead ofNoneif the album is not a favourite.RainwaveUserRequestQueuegained a new methodclear()to clear the user’s request queue.
0.5
Released 2019-01-03.
The library now adds a randomly-generated user agent to each request.
0.4
Released 2015-04-22.
This version is supported on Python 2.6, 2.7, 3.2, 3.3, and 3.4.
0.3.1
Released 2015-04-21.
The library has been renamed from Gutter to Python Rainwave Client.