Rlapi

Latest version: v0.8.0b1

Safety actively analyzes 687732 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

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 by `Client.find_player(player_id)`
- `Client.get_player(player_id, platform)` (where `platform 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](https://rlapi.readthedocs.io/en/latest/api.html#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_id` has 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

**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()`, and `Client.find_player()` to replace the removed `Client.get_player()`
- Added `Client.get_players()` that allows to query multiple player profiles on a single platform at once
- `Player` now includes a `stats` attribute 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()` and `Player.titles()` that allow to query the API for the list of player's titles

**Enhancements:**
- Added new `lifetime_matches_played` and `placement_matches_played` attributes to `Playlist` instances
- Added new `TIER_MAX` and `DIVISION_MAX` class constants to `Playlist`
- Added new `next_level` attribute to `SeasonRewards` instances
- Added new `MAX_LEVEL` class constant to `SeasonRewards`
- 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.rlstatsnet` module
- 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](https://rlapi.readthedocs.io/en/latest/api.html#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 `rltracker` and `trackernetwork` modules from the `rlapi.ext.tier_breakdown` package
- Dropped support for Python 3.7

**Features:**
- Added the `rlstatsnet` module to `rlapi.ext.tier_breakdown` package

**Enhancements:**
- Library users can now install the `lxml` package 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.utils` module
- Removed `Playlist.tier_max` instance attribute
- use `Playlist.TIER_MAX` class attribute instead
- `platform.value` is now no longer the same as `str(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:
- `Client` now has 2 required keyword arguments `client_id` and `client_secret` instead of `token`.
- `Client.change_token()` has been removed in favor of `Client.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_name` is 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_id` is 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 `aiohttp` in <3.5.4, 4.0) version range
- Library users can now install `lxml` in <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 `aiohttp` 3.7.x and `lxml` 4.6.x

**Fixes:**
- `Player.highest_tier` now only includes the playlists that count towards season rewards
- this also fixes the value of `SeasonRewards.can_advance` in relevant cases
- due to API providing outdated value, a temporary fix for `Playlist.tier_max` has 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

Enhancements:
- added representations (`__repr__`) to all data classes
- `Player` objects are now hashable and comparable

Docs:
- fixed usage examples

Miscellaneous:
- project relicensed to Apache License 2.0

0.4.0a1

This release takes an effort towards making the attribute names more consistent with the Rocket League API.

Breaking changes:
- `user_id` from the payload is now in `Player.user_id` and the attribute can be `None` if the payload doesn't contain
`user_id` (as is the case for non-Steam players).
- `Player.player_id` now instead contains the `player_id` as passed to `Client.get_player()`.

Enhancements:
- Allow lib users to install `aiohttp` 3.6.x and `lxml` 4.5.x.
- Change `typing_extensions` req to only specify minimum version.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.