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.5.tar.gz (46.4 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.5-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: blizzapi-1.0.5.tar.gz
  • Upload date:
  • Size: 46.4 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.5.tar.gz
Algorithm Hash digest
SHA256 2609bc8c64482d430e97cb50463e800fff95e1d4cd1c4ba00e97c32c724b2aea
MD5 0919f334a152c3b40fe32847caaaa476
BLAKE2b-256 779f53b33a4114816c76d7d7607f234c99fff5555e0279284d3b596a9398eb38

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blizzapi-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 13.9 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b90ba537a235edbb2ec9fcced408e0dfc20f593ca3745ba28099a719da1948ff
MD5 c4bc15c5378991b048678e128188d168
BLAKE2b-256 dd6bf0c819af1d6537a848e8a99258ab8a03579821c7a6fafaf485b85fecc675

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