A small async api wrapper for the bungie api
Project description
aiobungie
An Asynchronous statically typed API wrapper for the bungie API written in Python.
Features
- Fully Asynchronous.
- Easy to use.
- Statically typings and annotations.
- All endpoints will be implemented.
Installing
Official release.
$ pip install aiobungie
Development
$ pip install aiobungie[dev]
Quick Example
import aiobungie
client = aiobungie.Client(key='YOUR_API_KEY')
async def main() -> None:
# fetch a clan from its id.
clan = await client.fetch_clan_from_id(1234)
# or fetch the clan by its name
clan = await client.fetch_clan("Fast")
print(f'{clan.id}, {clan.name}, {clan.owner}, {clan.created_at}, {clan.about}')
# fetch a destiny 2 player.
player = await client.fetch_player('Fate怒')
print(f'{player.name}, {player.id[0]}, {player.icon}, {player.type}')
# fetch a specific character.
char = await client.fetch_character(player.id[0], aiobungie.MembershipType.STEAM, aiobungie.Class.WARLOCK)
print(f'{char.emblem}, {char.light}, {char.id}, {char.race}, {char.gender}, {char._class}')
# fetch activities.
activ = await client.fetch_activity(player.id[0], char.id, aiobungie.MembershipType.STEAM, aiobungie.GameMode.RAID)
print(
f'''{activ.mode}, {activ.kills}, {activ.player_count},
{activ.duration}, {activ.when}, {activ.kd}, {activ.deaths},
{activ.assists}, {activ.hash} -> raids only {activ.raw_hash} -> Any
''')
# Raw search
endpoint = await client.from_path('User/.../.../')
print(endpoint)
client.loop.run_until_complete(main())
OAuth2
# OAuth2 is not fully implemented yet.
from aiobungie.ext import OAuth2, refresh
client = OAuth2(token='', secret='')
# Use the refresh decorator to automatically refresh the tokens
# The cls param is required to get the client secret and pass it to the POST request.
@refresh(hours=1, cls=client)
async def auth_stuff() -> None:
await client.do_auth()
print(await client.get_current_user())
client.loop.run_until_complete(auth_stuff())
Requirements
- Python >=3.8
- aiohttp
Dev
- aiosqlite
OAuth2
- cryptography
- requests_oauthlib
- aredis
Getting Help
- Discord:
Fate 怒#0008
|350750086357057537
- Docs: Here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiobungie-0.2.5a3.tar.gz
(25.7 kB
view hashes)
Built Distribution
Close
Hashes for aiobungie-0.2.5a3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88e0745ffe714fa7fd456b8cdebab6a132aaf349c666606217be024e830e4e6c |
|
MD5 | 61e3a5eeeb75af2e8f1b6d14763e83ee |
|
BLAKE2b-256 | 7d3705f5ecae81db3e9313af591b3447a7b55b09eea13d5f21b78b478eabaa9e |