Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

akasha_py-0.2.7.tar.gz (66.9 kB view details)

Uploaded Source

Built Distribution

akasha_py-0.2.7-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file akasha_py-0.2.7.tar.gz.

File metadata

  • Download URL: akasha_py-0.2.7.tar.gz
  • Upload date:
  • Size: 66.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.23

File hashes

Hashes for akasha_py-0.2.7.tar.gz
Algorithm Hash digest
SHA256 6dc5620c12b073c6a05e93b9289c20465826aa333ec2e9844519a1a50a208872
MD5 c5d6ade418daa6127eb75f9acd694071
BLAKE2b-256 ac6e2ec1f6011306b7f2767479ab424e5901ae64c701ae1ad9708410471c115a

See more details on using hashes here.

Provenance

File details

Details for the file akasha_py-0.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for akasha_py-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 730361f8b4df4636af93d39ad0b735e89cdfdb9ae9d1d5ba938d775c11242039
MD5 5fb740f37eb028ec1fc48f8c8f96650d
BLAKE2b-256 2a663098886e0b742f65dc14cbe492c19b85751f62b085f9d4655ee5f0783bd4

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page