Python Library for Blizzard's Community Platform API
- Pythonic
- Unicode normalization
- Lazyloading and eagerloading
- Support locales (en, fr, de, ...)
- Support client_id/client_secret OAuth2 login
Global connection settings can be setup so that objects can make connections implicitly.
from battlenet import Connection Connection.setup( client_id='your client id', client_secret='your client secret', locale='fr')
You can also create connections explicitly.
from battlenet import Connection connection = Connection( client_id='your client id', client_secret='your client secret', locale='fr')
You can define your client_id/client_secret via environment variables. For example using a bash shell:
$ export BNET_CLIENT_ID=your-client-id-here $ export BNET_CLIENT_SECRET=your-client-secret-here
More details on the official Blizzard Battle.net Developer Portal https://develop.battle.net/.
from battlenet import Realm # If a global connection was setup realm = Realm(battlenet.UNITED_STATES, 'Nazjatar') # Using a specific connection realm = connection.get_realm(battlenet.UNITED_STATES, 'Nazjatar') print realm.name # => Nazjatar print realm.is_online() # => true print realm.type # => PVP
for realm in connection.get_all_realms(battlenet.UNITED_STATES): print realm
from battlenet import Character # If a global connection was setup character = Character(battlenet.UNITED_STATES, 'Nazjatar', 'Vishnevskiy', fields=[Character.GUILD]) # Using a specific connection character = connection.get_character(battlenet.UNITED_STATES, 'Nazjatar', 'Vishnevskiy', fields=[Character.GUILD]) print character.name # => Vishnevskiy print character.guild.name # => Excellence
from battlenet import Guild # If a global connection was setup guild = Guild(battlenet.UNITED_STATES, 'Nazjatar', 'Excellence') # Using a specific connection guild = connection.get_guild(battlenet.UNITED_STATES, 'Nazjatar', 'Excellence') print guild.name # => Excellence leader = guild.get_leader() print leader.name # => Clí
Read the unit tests inside the tests directory.