跳转到主要内容

osu! api v2 和 v1 的完整 Python 封装。

项目描述

ossapi (文档) PyPI版本

ossapi 是 osu! api 的官方 Python 封装。ossapi 完全覆盖了 api v2api v1,并为 api v2 提供了同步(Ossapi)和异步(OssapiAsync)版本。

如果您需要支持或希望贡献,请随时在 circleguard discord#ossapi 频道中提问。

安装

要安装

pip install ossapi
# or, if you want to use OssapiAsync:
pip install ossapi[async]

要升级

pip install -U ossapi

要开始,请阅读文档: https://tybug.github.io/ossapi/

快速入门

文档 有一个 深入快速入门,但这里有一个针对 api v2 的超级简短的版本

from ossapi import Ossapi

# create a new client at https://osu.ppy.sh/home/account/edit#oauth
api = Ossapi(client_id, client_secret)

# see docs for full list of endpoints
print(api.user("tybug").username)
print(api.user(12092800, mode="osu").username)
print(api.beatmap(221777).id)

异步

ossapi 提供了一个异步变体,OssapiAsync,它具有与 Ossapi 相同的接口

import asyncio
from ossapi import OssapiAsync

api = OssapiAsync(client_id, client_secret)

async def main():
    await api.user("tybug")

asyncio.run(main())

在文档中了解更多关于 OssapiAsync 的信息。

其他域名

您可以使用 ossapi 与 osu 网站的其他部署的 api 交互,例如 https://dev.ppy.sh

from ossapi import Ossapi

api = Ossapi(client_id, client_secret, domain="dev")
# get the dev server pp leaderboards
ranking = api.ranking("osu", "performance").ranking
# pearline06, as of 2023
print(ranking[0].user.username)

在文档中了解更多关于域的信息。

端点

api v2 的所有端点。

API v1 使用

您可以在https://osu.ppy.sh/home/account/edit#legacy-api获取您的api v1密钥。

基本用法

from ossapi import OssapiV1

api = OssapiV1("key")
print(api.get_beatmaps(user=53378)[0].submit_date)
print(api.get_match(69063884).games[0].game_id)
print(api.get_scores(221777)[0].username)
print(len(api.get_replay(beatmap_id=221777, user=6974470)))
print(api.get_user(12092800).playcount)
print(api.get_user_best(12092800)[0].pp)
print(api.get_user_recent(12092800)[0].beatmap_id)

项目详情


发布历史 发布通知 | RSS订阅

下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源代码分发

ossapi-4.0.0.tar.gz (95.5 kB 查看哈希值)

上传时间 源代码

构建分发

ossapi-4.0.0-py3-none-any.whl (92.6 kB 查看哈希值)

上传时间 Python 3

由以下支持