Skip to main content

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:

Every contribution helps me maintain and improve the library! Thank you for your support! 🙏

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

novabrawlstars-0.1.8.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

novabrawlstars-0.1.8-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

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

Hashes for novabrawlstars-0.1.8.tar.gz
Algorithm Hash digest
SHA256 19833614e0ea1c32e3cea6f332442f6263c6e3b0a51984f18e63beca28a23034
MD5 677639728b9907ea87949288506c566e
BLAKE2b-256 735bb200e9bc93c66d95ce699bd254512a3b678062a28e70420f18d1f011affb

See more details on using hashes here.

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

Hashes for novabrawlstars-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 b68d8567fc10b2e32cb631fd7202965809422e9068f28afa42bf8023c44c746b
MD5 fb97ddec370218d1a83dbf7042b2f1d8
BLAKE2b-256 08f0f857d9b4caa60a49e1e2336ebba8c1bb75c33f283fcef7ba25a50616e2e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page