A small async api wrapper for the bungie api
Project description
Installing
IT IS recommended to use the latest pre-release from master
since 0.2.4
is missing features from 0.2.5
.
PyPI stable release. Not Recommended Currently.
$ pip install aiobungie
From master Recommended Currently.
$ pip install git+https://github.com/nxtlo/aiobungie
Quick Example
import aiobungie
from aiobungie import crate
# crates in aiobungie are implementations
# of Bungie's objects to provide
# more functionality.
client = aiobungie.Client(key='YOUR_API_KEY')
async def main() -> None:
# fetch a clan
clan: crate.Clan = await client.fetch_clan("Nuanceㅤ")
print(clan.name, clan.id, clan.owner.name, clan.owner.id, ...)
# fetch a member from the clan.
member: crate.ClanMember = await clan.fetch_member("Fate怒")
print(member.name, member.id, member.type, ...)
# fetch the clan members and return only steam players
members = await clan.fetch_members(aiobungie.MembershipType.STEAM)
for member in members:
if member.name == "Fate怒" or member.id == 4611686018484639825:
print(...)
else:
print(member.name, member.id, member.type)
# fetch my profile.
profile: crate.Profile = await client.fetch_profile(member.id, member.type)
print(profile.name, profile.id, profile.type, ...)
# You can fetch a character in two ways.
# Whether from the player's profile or
# using `fetch_character()` method.
# The profile way.
warlock: crate.Character = await profile.warlock()
print(warlock.light, warlock.id, warlock.gender, warlock.race, ...)
# the fetch_character() way using the profile attrs.
character: crate.Character = await client.fetch_character(profile.id, profile.type, profile.warlock_id)
print(character.light, character.id, character.gender, character.race, ...)
REST-Only client
For low-level and only to interact with the API directly without any high-level concepts,
you can use the RESTClient
.
Simple Example
import aiobungie
import asyncio
rest_client = aiobungie.RESTClient("TOKEN")
async def main() -> None:
my_player = await rest_client.fetch_player("Name#1234")
print(*my_player)
asyncio.run(main())
Requirements
- Python >=3.8 ,<=3.12
- aiohttp
- attrs.
Optional Requirements for speedups.
- aiodns
- cchardet
- uvloop
Contributing
See the manual
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.5b9.tar.gz
(43.5 kB
view hashes)
Built Distribution
Close
Hashes for aiobungie-0.2.5b9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b610e9cba0ce2ad86f4825636b5fb55d88bcca4b64cd757b1df694ad73c0d6c |
|
MD5 | 0704d045a3a29e04e2768a3669c04855 |
|
BLAKE2b-256 | 1c252a16e723cfd68626ceccf07bd65d649fda86986c631b04e35bcc48faf1f7 |