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.8.tar.gz (67.1 kB view details)

Uploaded Source

Built Distribution

akasha_py-0.2.8-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

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

Hashes for akasha_py-0.2.8.tar.gz
Algorithm Hash digest
SHA256 ef4fa22c984f549afadcf7c003d6f09c465e64c21b095cdf339aa99d93f0dcf7
MD5 7cbfac60cd1007196edbfc815fc3dc66
BLAKE2b-256 0b3aef6f2670f2bec15da050c5f71247f90f0001a8483fc2f38576b9c936f1a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for akasha_py-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 95951afa7e635cde7810910a1707020f5f3f074e0cf8b3e47d440a82a3ed6737
MD5 15e536e4bc9bce5b211097905e6e467c
BLAKE2b-256 e51c9d18a6b3541afdd23074594f8f0b8d217e96159f528117efb3d0f1299a55

See more details on using hashes here.

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