Async API wrapper for akasha.cv written in Python
Project description
akasha-py
Introduction
akasha-py is an async API wrapper for akasha.cv written in Python.
akasha.cv is a Genshin Impact leaderboard website.
Developing something for Hoyoverse games? You might be interested in other API wrappers written by me.
Note: I am not the developer of akasha.cv.
Important Notes
A couple things I want to address:
- This wrapper is currently in-progress, some features may not work as expected, many features are also missing.
- The developer of akasha.cv mentioned to me that they change their API very frequently (and without notice), so this wrapper may break at any time.
- This wrapper was made because I wanted to integrate akasha into my Discord bot, but I eventually stopped working on it. Therefore, this wrapper is not my current priority, but I will fix issues if you submit them.
Installation
# poetry
poetry add akasha-py
# pip
pip install akasha-py
Usage
Interact with the API using the akasha.AkashaAPI
class.
You can find all available methods that AkashaAPI
provides in the client.py file.
A quick example is provided below:
import asyncio
import akasha
async def main() -> None:
uid = 901211014
async with akasha.AkashaAPI(akasha.Language.CHINESE_SIMPLIFIED) as api:
# await api.refresh_user(uid)
characters = await api.get_calculations_for_user(uid)
for character in characters:
calc = character.calculations[0]
print(f"Character: {character.name}")
print(f"Weapon: {calc.weapon.name}")
print(f"Top {calc.top_percent:.2f}% ({calc.ranking}/{calc.out_of})")
print(f"Damage: {round(calc.result)}")
print()
print("Leaderboard top 3:")
async for board in api.get_leaderboards(calc.id, max_page=1, page_size=3):
print(
f"{board.rank}. {board.owner.nickname} | Damage: {round(board.calculation.result)}"
)
print(f"Leadboard URL: https://akasha.cv/leaderboards/{calc.id}")
print("=" * 50)
asyncio.run(main())
Questions, Issues, Feedback, Contributions
Whether you want to make any bug reports, feature requests, or contribute to the wrapper, simply open an issue or pull request in this repository.
If GitHub is not your type, you can find me on Discord, my username is @seria_ati.
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
Built Distribution
File details
Details for the file akasha_py-0.2.8.tar.gz
.
File metadata
- Download URL: akasha_py-0.2.8.tar.gz
- Upload date:
- Size: 67.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef4fa22c984f549afadcf7c003d6f09c465e64c21b095cdf339aa99d93f0dcf7 |
|
MD5 | 7cbfac60cd1007196edbfc815fc3dc66 |
|
BLAKE2b-256 | 0b3aef6f2670f2bec15da050c5f71247f90f0001a8483fc2f38576b9c936f1a9 |
File details
Details for the file akasha_py-0.2.8-py3-none-any.whl
.
File metadata
- Download URL: akasha_py-0.2.8-py3-none-any.whl
- Upload date:
- Size: 36.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95951afa7e635cde7810910a1707020f5f3f074e0cf8b3e47d440a82a3ed6737 |
|
MD5 | 15e536e4bc9bce5b211097905e6e467c |
|
BLAKE2b-256 | e51c9d18a6b3541afdd23074594f8f0b8d217e96159f528117efb3d0f1299a55 |