Skip to content

Releases: williamjacksn/python-rainwave-client

2026.0

07 Jan 20:25

Choose a tag to compare

  • Remove support for Python 3.8 and 3.9
  • Raise an exception if there is a problem creating a RainwaveChannel object from the API response

2024.3

19 Aug 21:22

Choose a tag to compare

  • This release fixes severe bugs related to aware datetime objects 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 RainwaveCandidate object has a new property election to access the RainwaveElection that it belongs to.

2024.2

19 Aug 16:14

Choose a tag to compare

The following datetime objects now have time zone info attached:

  • RainwaveAlbum.added_on
  • RainwaveAlbum.cool_lowest
  • RainwaveAlbum.played_last
  • RainwaveSchedule.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 (a datetime) gives the real start time for a current or past event. For events that have not started yet, this property is None.
  • end (a datetime) 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 (an int) 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. RainwaveSchedule objects now also support len().

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

09 Feb 23:02
fe3473f

Choose a tag to compare

  • Drop support for Python versions older than 3.9.

  • Fixed a bug where the following properties of RainwaveAlbum
    would not resolve correctly:

    • art
    • added_on
    • categories
    • played_last
    • rating_count
    • rating_histogram
    • rating_rank
    • request_count
    • request_rank
    • songs
    • vote_count
  • Type hints were added for several classes.

0.10.0

08 Apr 20:18

Choose a tag to compare

  • 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

27 Jan 14:39

Choose a tag to compare

RainwaveAlbum gained a new property:

RainwaveChannel gained some new properties:

  • key (a str) gives a short string that identifies the channel.
  • url (a str) gives the URL of the web interface for the channel.

RainwaveElection gained a new property:

  • song (a RainwaveCandidate) gives the first candidate in the list of candidates. If the RainwaveElection has already ended, this is the song that won the election.

0.8.0

26 Jan 20:23

Choose a tag to compare

RainwaveOneTimePlay gained a new property:

  • songs gives a list containing the RainwaveSong for this event. Now you can use songs on any subclass of RainwaveSchedule to get the songs for an event.

0.7.0

19 Jan 16:24
b074186

Choose a tag to compare

The library is better at tracking when cached schedule information is stale and needs to be reloaded.

0.6.3

09 Jul 16:30
1aca49c

Choose a tag to compare

Switch to a new theme for the documentation.

0.6.2

08 Jul 20:42

Choose a tag to compare

Fix a link in the README.