Python Library for Blizzard's Community Platform API
- Pythonic
- Unicode normalization
- Lazyloading and eagerloading
- Support locales (en, fr, de, ...)
Global connection settings can be setup so that objects can make connections implicitly.
from battlenet import Connection
Connection.setup(public_key='your public key', private_key='your private key', locale='fr')
You can also create connections explicitly.
from battlenet import Connection
connection = Connection(public_key='your public key', private_key='your private key', locale='fr')
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.