Skip to main content

Simple and fast osu! API v1 and v2 library

Project description

Python version info PyPI version info pre-commit.ci status Documentation Status pytest Status mypy Status Codacy Status

Simple and fast asynchronous osu! API v1 and v2 library with various utilities.

Features

  • Support for modern async syntax (async with)

  • Support for API v1 and API v2

  • Rate limit handling

  • Utilities for osu! related calculations

  • Easy to use

Installing

Python 3.9 or higher is required

To install the library, simply run the following commands

# Linux/macOS
python3 -m pip install -U aiosu

# Windows
py -3 -m pip install -U aiosu

To install the development version, do the following:

$ git clone https://github.com/NiceAesth/aiosu
$ cd aiosu
$ python3 -m pip install -U .

API v1 Example

import aiosu
import asyncio


async def main():
    # async with syntax
    async with aiosu.v1.Client("osu api token") as client:
        user = await client.get_user(7782553)

    # regular syntax
    client = aiosu.v1.Client("osu api token")
    user = await client.get_user(7782553)
    await client.aclose()


if __name__ == "__main__":
    asyncio.run(main())

API v2 Example

import aiosu
import asyncio
import datetime


async def main():
    token = aiosu.models.OAuthToken.model_validate(json_token_from_api)

    # or

    token = aiosu.models.OAuthToken(
        access_token="access token",
        refresh_token="refresh token",
        expires_on=datetime.datetime.utcnow()
        + datetime.timedelta(days=1),  # can also be string
    )

    # async with syntax
    async with aiosu.v2.Client(
        client_secret="secret", client_id=1000, token=token
    ) as client:
        user = await client.get_me()

    # regular syntax
    client = aiosu.v2.Client(client_secret="secret", client_id=1000, token=token)
    user = await client.get_me()
    await client.aclose()


if __name__ == "__main__":
    asyncio.run(main())

You can find more examples in the examples directory.

Contributing

Please read the CONTRIBUTING.rst to learn how to contribute to aiosu!

Acknowledgments

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

aiosu-2.3.1.tar.gz (63.3 kB view details)

Uploaded Source

Built Distribution

aiosu-2.3.1-py3-none-any.whl (79.6 kB view details)

Uploaded Python 3

File details

Details for the file aiosu-2.3.1.tar.gz.

File metadata

  • Download URL: aiosu-2.3.1.tar.gz
  • Upload date:
  • Size: 63.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.9.19 Linux/6.5.0-1017-azure

File hashes

Hashes for aiosu-2.3.1.tar.gz
Algorithm Hash digest
SHA256 4492583687a5c62495606142fd7a8dd9e493bcdb66aa26610f15d55a455869be
MD5 8a8c80aa75309af225e789398a94ae9d
BLAKE2b-256 6e57e99ab2ee199769f247ca81c5ec0cacf83ac0c21a13a0a8c899db17d840a5

See more details on using hashes here.

File details

Details for the file aiosu-2.3.1-py3-none-any.whl.

File metadata

  • Download URL: aiosu-2.3.1-py3-none-any.whl
  • Upload date:
  • Size: 79.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.9.19 Linux/6.5.0-1017-azure

File hashes

Hashes for aiosu-2.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 17c4f8e89280059f034fb4731479939c115c00f3e7dd31c74e44d3b77ae8e1da
MD5 129d852f29cda5e13ea116e9ed40795d
BLAKE2b-256 d4f3cfe30f7a9c10544570f1a19b3ad7a38ab4ac0f2b96329712b80f175724cd

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