Skip to main content

Python package to connect to the blizzard API.

Project description

Python BlizzAPI

PyPI Python Versions PyPI - Downloads GitHub Issues or Pull Requests

Lines Of Code Codecov GitHub Actions Workflow Status

standard-readme compliant license

This Python package is a user-friendly interface for the Blizzard API. It simplifies the process of retrieving data from Blizzard's API, allowing developers and enthusiasts to seamlessly access and interact with game-related information.

Table of Contents

Features

Comprehensive API Coverage

Access a wide range of game data, including player profiles, achievements, character information and guild information as documented in the official Blizzard API Documenation.

Oauth2 Integration

Authenticate using Blizzard's OAuth2 system to ensure reliable access to private and public data.

Ease of Use

With clean and intuitive methods, developers can fetch data without deep diving into Blizzard's API documentation.

Data Format

Conveniently structured JSON responses make it easy to integrate with applications.

Supported APIs

API Status
World Of Warcraft (Retail) Supported (Game Data/Profile APIs)
World Of Warcraft (Classic) Supported (Game Data/Profile APIs)
World of Warcraft (Classic Era) Supported (Game Data/Profile APIs)
Hearthstone Unplanned
StarCraft 2 Unplanned
Diablo 3 Unplanned
Diablo 4 Unsupported (No Blizzard API)
Overwatch 2 Unsupported (No Blizzard API)

Install

# PyPI
pip install blizzapi

or

uv add blizzapi

Blizzard API Client ID/Secret

You must request API access from blizzard in order to use this module.

Request API Access

Dependencies

Python 3.10 or greater

Usage

WoW Classic Era

from blizzapi import ClassicEraClient
client = ClassicEraClient(client_id=XXX, client_secret=YYY)

result = client.connected_realm_search(fields={"status.type": "UP"})
result = client.character_profile(realmSlug="doomhowl", characterName="thetusk")

WoW Retail

from blizzapi import RetailClient
client = RetailClient(client_id=XXX, client_secret=YYY)

result = client.wow_token_index()

Development

Virtual Environment Setup

Helpful notes on how to set up a virtual enviroment for developing python applications using VS Code.

Show Instructions
  1. Ensure python and uv are installed on PC. uv Instructions

  2. Open "Folder" in VS Code

  3. Change the Default Terminal in VS Code

    1. Press CTRL + SHIFT + P (on Windows) or CMD + SHIFT + P (on macOS)
    2. Select 'Terminal: Select Default Profile'
    3. Choose 'Command Prompt' on Windows or 'bash' on macOS
  4. Create Virtual Environment

    1. Press CTRL + SHIFT + ` to open a Terminal
    2. Enter 'uv venv'
    3. Enter 'source .venv/bin/activate'
    4. Verify the prompt begins with '(.venv)'
  5. Select Python Interpreter

    1. Press CTRL + SHIFT + P (on Windows) or CMD + SHIFT + P (on macOS)
    2. Select 'Python: Select Interpreter'
    3. Choose the .venv python binary
  6. Install the dependenies

    1. Enter 'uv sync'

Contributing

PRs accepted.

If editing the Readme, please conform to the standard-readme specification.

Bug Reports and Feature Requests

Please use the issue tracker to report any bugs or request new features.

Contributors

License

MIT © Nick Stuer

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

blizzapi-1.0.4.tar.gz (46.3 kB view details)

Uploaded Source

Built Distribution

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

blizzapi-1.0.4-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file blizzapi-1.0.4.tar.gz.

File metadata

  • Download URL: blizzapi-1.0.4.tar.gz
  • Upload date:
  • Size: 46.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blizzapi-1.0.4.tar.gz
Algorithm Hash digest
SHA256 5b0a9648b8e74616179f509970a1e609117b326d5ad6048706be34113d8af17d
MD5 970ef16bc997099c0dd61256cee87630
BLAKE2b-256 b4a590f15c0a59282c03ef195d0a83b19361d8e653bb4363131e2a872f8a18f2

See more details on using hashes here.

File details

Details for the file blizzapi-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: blizzapi-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blizzapi-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 100138e9e3d3ec7ce8912d1c34728107cb9a91fa2d03ba0e124727b97af7f78c
MD5 e4e84257266c03c2e409cb1438b41b90
BLAKE2b-256 4dd58e9feccede418f747414b65a6a038ab9ed7f5aaf55b1bd003478cb1dc3df

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