Unofficial Python wrapper for the Brawl Stars API.
Project description
NovaBrawlStarsApi
A Python library to easily interact with the Brawl Stars API and fetch player information.
Features
- Retrieve detailed player information
- Supports multiple player tags
- Easy Python integration
- Secure API key management with .env
Installation
You can install NovaBrawlStarsApi via pip:
pip install novabrawlstars
Or clone the repo and installation dependencies manually:
git clone https://github.com/NovaFenice/NovaBrawlStarsApi.git
cd NovaBrawlStarsApi
Usage
How to get players info
from novabrawlstars.client import NovaBrawlStars
import os
import asyncio
from dotenv import load_dotenv
load_dotenv()
async def main():
api_bs = os.getenv("api_bs") # Your Brawl Stars API token
tag_p1 = os.getenv("tag_p1") # Brawl Stars Player tag (es. #12345678 or 12345678)
nb = NovaBrawlStars(api_bs) # Initialize the Brawl Stars API client
async with nb as client:
player = await client.get_player(tag_p1) # Get a Player object from the API
await nb.close() # Close the HTTP client session
if __name__ == "__main__":
asyncio.run(main()) # Run the main function
How to get battlelog info
from novabrawlstars.client import NovaBrawlStars
import os
import asyncio
from dotenv import load_dotenv
load_dotenv()
async def main():
api_bs = os.getenv("api_bs") # Your Brawl Stars API token
tag_p1 = os.getenv("tag_p1") # Brawl Stars Player tag (es. #12345678 or 12345678)
nb = NovaBrawlStars(api_bs) # Initialize the Brawl Stars API client
async with nb as client:
player_battlelog = await client.get_battlelog(tag_p1) # Get a BattleLogListType object from the API
await nb.close() # Close the HTTP client session
if __name__ == "__main__":
asyncio.run(main()) # Run the main function
How to get club info
from novabrawlstars.client import NovaBrawlStars
import os
import asyncio
from dotenv import load_dotenv
load_dotenv()
async def main():
api_bs = os.getenv("api_bs") # Your Brawl Stars API token
tag_p1 = os.getenv("tag_p1") # Brawl Stars Player tag (es. #12345678 or 12345678)
nb = NovaBrawlStars(api_bs) # Initialize the Brawl Stars API client
async with nb as client:
player = await client.get_player(tag_p1) # Get a BattleLogListType object from the API
club = await client.get_player_club(player.club.tag) # Get a Club object passing the player
await nb.close() # Close the HTTP client session
if __name__ == "__main__":
asyncio.run(main()) # Run the main function
How to get club members info using pagination
from novabrawlstars.client import NovaBrawlStars
import os
import asyncio
from dotenv import load_dotenv
load_dotenv()
async def main():
api_bs = os.getenv("api_bs") # Your Brawl Stars API token
tag_p1 = os.getenv("tag_p1") # Brawl Stars Player tag (es. #12345678 or 12345678)
nb = NovaBrawlStars(api_bs) # Initialize the Brawl Stars API client
async with nb as client:
player = await client.get_player(tag_p1) # Get a Player object from the API
club_members = await client.get_club_members(player.club.tag, limit=5) # Get Club Members with pagination
after = club_members.paging.cursors.after # Get the 'after' cursor for pagination
refetched_after_member = await client.get_club_members(player.club.tag, after=after, limit=5) # Refetch Club Members using the 'after' cursor
before = refetched_after_member.paging.cursors.before # Get the 'before' cursor for pagination
refetched_before_member = await client.get_club_members(player.club.tag, before=before, limit=5) # Refetch Club Members using the 'before' cursor
await nb.close() # Close the HTTP client session
if __name__ == "__main__":
asyncio.run(main()) # Run the main function
How to get ranking clubs info using pagination
from novabrawlstars.client import NovaBrawlStars
import os
import asyncio
from dotenv import load_dotenv
load_dotenv()
async def main():
api_bs = os.getenv("api_bs") # Your Brawl Stars API token
nb = NovaBrawlStars(api_bs) # Initialize the Brawl Stars API client
async with nb as client:
ranking_clubs = await client.get_ranking_clubs("global", limit=5) # Get Ranking Clubs with pagination
after = ranking_clubs.paging.cursors.after # Get the 'after' cursor for pagination
refetched_after_club = await client.get_ranking_clubs("global", after=after, limit=5) # Refetch Club Members using the 'after' cursor
before = refetched_after_club.paging.cursors.before # Get the 'before' cursor for pagination
refetched_before_club = await client.get_ranking_clubs("global", before=before, limit=5) # Refetch Club Members using the 'before' cursor
await nb.close() # Close the HTTP client session
if __name__ == "__main__":
asyncio.run(main()) # Run the main function
How to get ranking brawlers info using pagination
from novabrawlstars.client import NovaBrawlStars
import os
import asyncio
from dotenv import load_dotenv
load_dotenv()
async def main():
api_bs = os.getenv("api_bs") # Your Brawl Stars API token
nb = NovaBrawlStars(api_bs) # Initialize the Brawl Stars API client
async with nb as client:
brawler_id = "16000000" # Example Brawler ID for Shelly
ranking_brawler = await client.get_ranking_brawler("global", brawlerId=brawler_id, limit=5) # Get Ranking Brawlers with pagination
after = ranking_brawler.paging.cursors.after # Get the 'after' cursor for pagination
refetched_after_brawler = await client.get_ranking_brawler("global", brawlerId=brawler_id, after=after, limit=5) # Refetch Ranking Brawlers using the 'after' cursor
before = refetched_after_brawler.paging.cursors.before # Get the 'before' cursor for pagination
refetched_before_brawler = await client.get_ranking_brawler("global", brawlerId=brawler_id ,before=before, limit=5) # Refetch Ranking Brawlers using the 'before' cursor
await nb.close() # Close the HTTP client session
if __name__ == "__main__":
asyncio.run(main()) # Run the main function
How to get ranking players info using pagination
from novabrawlstars.client import NovaBrawlStars
import os
import asyncio
from dotenv import load_dotenv
load_dotenv()
async def main():
api_bs = os.getenv("api_bs") # Your Brawl Stars API token
nb = NovaBrawlStars(api_bs) # Initialize the Brawl Stars API client
async with nb as client:
ranking_player = await client.get_ranking_player("global", limit=5) # Get Ranking Players with pagination
after = ranking_player.paging.cursors.after # Get the 'after' cursor for pagination
refetched_after_player = await client.get_ranking_player("global", after=after, limit=5) # Refetch Ranking Players using the 'after' cursor
before = refetched_after_player.paging.cursors.before # Get the 'before' cursor for pagination
refetched_before_player = await client.get_ranking_player("global", before=before, limit=5) # Refetch Ranking Players using the 'before' cursor
await nb.close() # Close the HTTP client session
if __name__ == "__main__":
asyncio.run(main()) # Run the main function
Notes
- Make sure to replace the player tags and API token.
- Supports both numeric and #-prefixed tags.
Donate Me 💖
If you like this project and want to support its development, you can donate:
- PayPal: @NovaFenice
Every contribution helps me maintain and improve the library! Thank you for your support! 🙏
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file novabrawlstars-0.1.8.tar.gz.
File metadata
- Download URL: novabrawlstars-0.1.8.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19833614e0ea1c32e3cea6f332442f6263c6e3b0a51984f18e63beca28a23034
|
|
| MD5 |
677639728b9907ea87949288506c566e
|
|
| BLAKE2b-256 |
735bb200e9bc93c66d95ce699bd254512a3b678062a28e70420f18d1f011affb
|
File details
Details for the file novabrawlstars-0.1.8-py3-none-any.whl.
File metadata
- Download URL: novabrawlstars-0.1.8-py3-none-any.whl
- Upload date:
- Size: 24.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b68d8567fc10b2e32cb631fd7202965809422e9068f28afa42bf8023c44c746b
|
|
| MD5 |
fb97ddec370218d1a83dbf7042b2f1d8
|
|
| BLAKE2b-256 |
08f0f857d9b4caa60a49e1e2336ebba8c1bb75c33f283fcef7ba25a50616e2e9
|