Releases: Jackenmen/rlapi
Releases · Jackenmen/rlapi
0.8.0b1
First beta release!
This release adds coverage for all of the API's endpoints along with a bunch of refactoring around the bulk endpoint.
Breaking changes:
- The old
Client.get_player()method has been split:Client.get_player(player_id)(i.e. with no platform) is now fulfilled byClient.find_player(player_id)Client.get_player(player_id, platform)(whereplatform is not None) is now fulfilled by 2 new methods:Client.get_player_by_id(platform, user_id)for lookups by ID (all platforms except for Nintendo Switch support this now)Client.get_player_by_name(platform, user_name)for lookups by user name (all platforms support this, consult Platform Player IDs docs for limitations)
- Additionally, there's now a new method (
Client.get_players()) for looking up multiple players at once
Player.player_idhas been removed- This field used to contain the unchanged input passed to
Client.get_player()but this is not really part of the API model and cannot be filled when using the bulk endpoint
- This field used to contain the unchanged input passed to
Features:
- Added a few useful constants to the library:
RANKS,DIVISIONS,SEASON_REWARDS,PLAYLISTS_WITH_SEASON_REWARDS - Added
Client.get_player_by_id(),Client.get_player_by_name(), andClient.find_player()to replace the removedClient.get_player() - Added
Client.get_players()that allows to query multiple player profiles on a single platform at once Playernow includes astatsattribute with player stats (assists, goals, MVPs, etc.)- Added
Client.get_population()that allows to query population across different platforms and playlists - Added
Client.get_skill_leaderboard()that allows to query skill leaderboard for the playlist on the given platform - Added
Client.get_stat_leaderboard()that allows to query leaderboard for the specified stat on the given platform - Added
Client.get_player_titles()andPlayer.titles()that allow to query the API for the list of player's titles
Enhancements:
- Added new
lifetime_matches_playedandplacement_matches_playedattributes toPlaylistinstances - Added new
TIER_MAXandDIVISION_MAXclass constants toPlaylist - Added new
next_levelattribute toSeasonRewardsinstances - Added new
MAX_LEVELclass constant toSeasonRewards - Epic players can now be looked up by their display name
- PlayStation and Xbox One players can now be looked up by IDs (provided that you can get it from somewhere)
Platform.ps4's friendly name is now "PlayStation" rather than "PlayStation 4"
Fixes:
- Fixed collection of tier estimates for max tier in the
rlapi.ext.tier_breakdown.rlstatsnetmodule - Fixed inaccurate regex for Nintendo Switch nicknames in
Client.find_player()which determined whether the library tries to query the API for the given player ID on that platform
Docs:
- Added Platform Player IDs docs listing the identifiers that can be used to lookup a player on each platform, along with the limitations of those lookup methods
0.7.0a1
This release focuses on supporting new Python versions (lxml bump) and replacing broken tier breakdown parsers with rlstats.net-based one.
Breaking changes:
- Removed the
rltrackerandtrackernetworkmodules from therlapi.ext.tier_breakdownpackage - Dropped support for Python 3.7
Features:
- Added the
rlstatsnetmodule torlapi.ext.tier_breakdownpackage
Enhancements:
- Library users can now install the
lxmlpackage in<4.4.2, 6.0)version range- This should allow installation on Python 3.13
0.6.0a1
This release focuses on migration to the new Rocket League API.
Breaking changes:
- Removed
rlapi.utilsmodule - Removed
Playlist.tier_maxinstance attribute- use
Playlist.TIER_MAXclass attribute instead
- use
platform.valueis now no longer the same asstr(platform)- The library is now using the new Rocket League API which requires a client ID and secret from Epic Games Developer Portal, instead of the old token.
As a result, following breaking changes have been made:Clientnow has 2 required keyword argumentsclient_idandclient_secretinstead oftoken.Client.change_token()has been removed in favor ofClient.update_client_credentials()
Client.get_player()for Epic Games platform now requires Epic Account ID, instead of Epic Display Name.- This is a limitation of the new API.
Player.user_nameis now only present for PlayStation 4, Xbox One, and Nintendo Switch players.
This change corresponds to the platforms for which the player lookup requires the player's user name.- This is a limitation of the new API.
Player.user_idis now present for Steam and Epic Games players.
This change corresponds to the platforms for which the player lookup requires the player's user ID.- This is a limitation of the new API.
Features:
- Added
Client.close()method
Enhancements:
- Library users can now install
aiohttpin <3.5.4, 4.0) version range - Library users can now install
lxmlin <4.4.2, 5.0) version range
Fixes:
- Fixed casing of the friendly name of the PlayStation 4 platform
0.5.0a1
Features:
- added Epic Games and Nintendo Switch platform
- added Tournaments playlist
- added new ranks
Enhancements:
- lib users can now install
aiohttp3.7.x andlxml4.6.x
Fixes:
Player.highest_tiernow only includes the playlists that count towards season rewards- this also fixes the value of
SeasonRewards.can_advancein relevant cases
- this also fixes the value of
- due to API providing outdated value, a temporary fix for
Playlist.tier_maxhas been included in this release - fixed Tracker Network provider module
Docs:
- fixed the issue causing the license headers from rlapi's code to show in the documentation
0.4.1a1
0.4.0a1
This release takes an effort towards making the attribute names more consistent with the Rocket League API.
Breaking changes:
user_idfrom the payload is now inPlayer.user_idand the attribute can beNoneif the payload doesn't contain
user_id(as is the case for non-Steam players).Player.player_idnow instead contains theplayer_idas passed toClient.get_player().
Enhancements:
- Allow lib users to install
aiohttp3.6.x andlxml4.5.x. - Change
typing_extensionsreq to only specify minimum version.
0.3.0a1
0.2.2a1
0.2.1a1
0.2.0a1
Breaking changes:
reward_readyattribute ofrlapi.SeasonRewardsis now calledcan_advance
Enhancements:
- Python 3.8 support
Dependency changes:
- removed
defusedxml - minimum version of
lxmlis now4.4.2 - added
typing_extensions==3.7.4(Python 3.7 only)
Misc:
- docs improvements
- we're using black code style now
rlapiis now typed