Metadata-Version: 2.1
Name: python-blizzardapi
Version: 1.1.4
Summary: python-blizzardapi is a client library for Blizzard's APIs.
Home-page: https://github.com/trevorphillips/python-blizzardapi
Author: Trevor Phillips
Author-email: trevorcoreyphillips@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: requests (==2.24.0)

# python-blizzardapi
![Python package](https://github.com/trevorphillips/python-blizzardapi/workflows/Python%20package/badge.svg) [![codecov](https://codecov.io/gh/trevorphillips/python-blizzardapi/branch/main/graph/badge.svg?token=67MW8UHAG1)](https://codecov.io/gh/trevorphillips/python-blizzardapi) ![GitHub](https://img.shields.io/github/license/trevorphillips/python-blizzardapi) ![PyPI](https://img.shields.io/pypi/v/python-blizzardapi) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/python-blizzardapi)

python-blizzardapi is a client library for Blizzard's APIs.

Current supported features include:
- Battle.net User
- Wow Profile
- Wow Game Data
- Wow Classic Game Data
- Diablo 3 Community
- Diablo 3 Game Data
- Hearthstone Game Data

To gain access to Blizzard's API please register [here](https://develop.battle.net/access/) to obtain a client id and client secret.

For more information on Blizzard's API visit:

[Official Documentation](https://develop.battle.net/documentation)  
[Official API Forum](https://us.forums.blizzard.com/en/blizzard/c/api-discussion)

# Requirements

Python (3.6, 3.7, 3.8, 3.9)

# Installing

`pip install python-blizzardapi`

# Example

**main.py**
```python
from blizzardapi import BlizzardApi

api_client = BlizzardApi("client_id", "client_secret")

# Unprotected API endpoint
categories_index = api_client.wow.game_data.get_achievement_categories_index("us", "en_US")

# Protected API endpoint
summary = api_client.wow.profile.get_account_profile_summary("us", "en_US", "access_token")

# Wow Classic endpoint
connected_realms_index = api_client.wow.game_data.get_connected_realms_index("us", "en_US", is_classic=True)
```

# Access token vs Client ID/Client Secret

You can pass in a `client_id` and `client_secret` and use almost any endpoint except for a few that require an `access_token` obtained via OAuth authorization code flow. You can find more information at https://develop.battle.net/documentation/guides/using-oauth/authorization-code-flow.

Here is the list of endpoints, specified by Blizzard, that require an OAuth token.

```
GET /oauth/userinfo
GET /profile/user/wow
GET /profile/user/wow/protected-character/{realm-id}-{character-id}
GET /profile/user/wow/collections
GET /profile/user/wow/collections/pets
GET /profile/user/wow/collections/mounts
```


