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.3.tar.gz (46.1 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.3-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: blizzapi-1.0.3.tar.gz
  • Upload date:
  • Size: 46.1 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.3.tar.gz
Algorithm Hash digest
SHA256 ced14cb8b8afb95b45440d89400c438d6da67448afcdb9f5218035b04bb01626
MD5 48fa6524ceaba92b5dfeb2461fb4bd8a
BLAKE2b-256 691762d8a6daa8af56d7d7cc7788a8c4b7dfc82819c44cfc3ba42d72447b81f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blizzapi-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 13.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2ef18d0edc3a5aa3168ae9ea4488dcc04f0cd390aa0bb79393c050c63e79afda
MD5 179a3ae8e22b117e1f9e1d10159c11d5
BLAKE2b-256 1ad012186179c807686b695714b171f9d3744c7a6cfb77674b3e82d6513ee07e

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