Library Examples¶
The following examples show basic implementations of a few valorant.py features. These snippets should provide a starting point for more practical abstractions and use cases.
Quickstart¶
import valorant
KEY = "RGAPI-Key-Here"
client = valorant.Client(KEY)
agents = client.get_characters()
print(agents.get("Viper"))
Leaderboard¶
# Get the ranked leaderboard of a region and print the
# top players. Shows leaderboard rank, game name, and
# number of wins. See documentation on `Client.get_leaderboard`
# for more info.
import os
import valorant
KEY = os.environ["VALPY-KEY"]
# Set our client's region to EU. Client uses NA by default.
client = valorant.Client(KEY, region="eu")
# Get the top 15 players on the Ranked Leaderboard.
lb = client.get_leaderboard(size=15)
print("Top Players in EU:\n")
# Print all players on the leaderboard.
for p in lb.players:
print(f"#{p.leaderboardRank} - {p.gameName} ({p.numberOfWins} wins)")
Queries¶
See the Using Expressions and Queries page for more details.
# valorant.py provides some powerful helper functions
# for filtering data from the API. These snippets cover
# both simple and advanced use cases.
import os
import valorant
from valorant.query import exp
KEY = os.environ["VALPY-KEY"]
client = valorant.Client(KEY, locale=None)
# Find the Phantom among the list of weapons.
# `.find` is an alias for `.get`, provided for semantics.
weapon = client.get_equips().get(name="Phantom")
# Using `.get` without a keyword defaults to using 'name'.
agent = client.get_characters().get("Viper")
lb = client.get_leaderboard(size=100)
# Find all the players on the leaderboard with 10 wins.
# `.find_all` is an alias for `.get_all`, provided for semantics.
players = lb.players.get_all(numberOfWins=10)
# You can generate an expression to make more detailed queries.
# valorant.py expressions support both object and logical comparisons,
# as well as using member functions that return booleans or boolean-like
# objects. `valorant.query.exp` is factory method used to build
# these expressions.
# Find all the players on the leaderboard with more than 10 wins.
players = lb.players.get_all(numberOfWins=exp('>=', 10))
# Only get players from the XSET org on the leaderboard.
players = lb.players.get_all(gameName=exp('.startswith', 'XSET'))
# You can also pass callables that take the attribute value as
# a prameter and return a boolean or boolean-like object.
# This line is functionally the same as the above.
players = lb.players.get_all(gameName=lambda a: a.startswith('XSET'))
Ranks¶
# Get the most recent Ranked match in a user's history,
# and print the ranks of every player in the match. If
# there isn't a Ranked match in the history, the program
# will exit. **This example requires an API Key with access
# to the match endpoint. You need to apply for that from
# the Riot Games Developer Portal.**
import os
import valorant
KEY = os.environ["VALPY-KEY"]
client = valorant.Client(KEY, locale="en-US")
# Get a user by name and tagline.
account = client.get_user_by_name("frissyn#6969")
# Find their most recent Ranked match.
# This will raise an error if your API Key does not have match access.
match = account.matchlist().history.find(queueId="competitive")
# Check if the match exists.
if match == None:
print("No Ranked match in recent history!")
exit(1)
else:
match = match.get()
# Print everyone's ranks.
for team in match.teams:
print(f"{team.teamId} Team's Ranks: ")
# Find all the players on the same team.
players = match.players.get_all(teamId=team.teamId)
for player in players:
print(f"\t{player.gameName} - {player.rank}")