Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

maimai.py (文档)

PyPI version License Python versions en

GitHub Repo stars GitHub forks PyPI - Downloads GitCode stars

maimai.py

用于国服舞萌相关开发的最佳Python工具库, 封装水鱼/落雪查分器常用函数.

提供了基于日服舞萌标准的数据模型和接口, 为水鱼和落雪分别做了数据源实现.

支持从数据源查询歌曲、谱面、玩家信息、分数、Rating、姓名框、牌子进度.

另外, 支持联动微信 OpenID 获取玩家分数, 解析分数HTML, 并上传至数据源.

使用方式

pip install maimai-py

升级方式:

pip install -U maimai-py

另外, 您也可以下载 maimai.py 客户端, 使用任何编程语言进行开发.

快速开始

import asyncio
from maimai_py import MaimaiClient, MaimaiPlates, MaimaiScores, MaimaiSongs, PlayerIdentifier, DivingFishProvider

# 全局创建 MaimaiClient 实例
maimai = MaimaiClient()
# 水鱼账号 OAuth:Provider 配置 client_id/client_secret,
# 以 PlayerIdentifier(ref="你的用户ID") 或 PlayerIdentifier(sub=12345) 指定玩家
divingfish = DivingFishProvider(client_id="your_client_id", client_secret="your_client_secret")

async def quick_start():
    # 获取所有歌曲及其元数据
    songs: MaimaiSongs = await maimai.songs()
    # 获取水鱼查分器用户 turou 的分数(配置了 OAuth 凭据时,username 会走账号 OAuth)
    scores: MaimaiScores = await maimai.scores(PlayerIdentifier(username="turou"), provider=divingfish)
    # 获取水鱼查分器用户 turou 的舞将牌子信息
    plates: MaimaiPlates = await maimai.plates(PlayerIdentifier(username="turou"), "舞将", provider=divingfish)

    song = await songs.by_id(1231)  # 生命不詳 by 蜂屋ななし

    print(f"歌曲 1231 是: {song.artist} - {song.title}")
    print(f"TuRou 的 Rating 为: {scores.rating}, b15 中最高 Rating 为: {scores.scores_b15[0].dx_rating}")
    print(f"TuRou 的 舞将 完成度: {await plates.count_cleared()}/{await plates.count_all()}")

asyncio.run(quick_start())

更多内容请查看文档: https://maimai.turou.fun/.

异步

maimai.py 默认采用全异步, 且暂时没有提供同步方法和接口的计划.

如果您不希望采用异步, 可以使用 asyncio.run 包裹方法, 将异步方法同步调用.

客户端

maimai.py 提供了 RESTful API 客户端, 您可以通过任何语言通过HTTP请求来调用 maimai.py 的特性.

客户端使用 Nuitka 编译, 请在 Releases 页面下载.

我们的客户端支持 Windows, Linux, 请根据您的系统下载对应的版本.

客户端 Swagger 文档请查看: https://openapi.maimai.turou.fun/.

贡献

如果您想要贡献代码, 请阅读 CONTRIBUTING.md

讨论与交流 (QQ 群):

  • UsagiPass 兔兔群: 363346002
  • UsagiLab 内测Only: 515023302

Metadata

Release files for maimai-py 1.6.0rc2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for maimai-py 1.6.0rc2
File Size Uploaded
maimai_py-1.6.0rc2.tar.gz 308.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for maimai-py 1.6.0rc2
File Interpreter ABI Platform
maimai_py-1.6.0rc2-py3-none-any.whl Python 3 none any Details

Total release size: 628.9 kB

Release files / maimai_py-1.6.0rc2.tar.gz

Download URL maimai_py-1.6.0rc2.tar.gz
Size 308.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e4a973b3e90bab9470389a44cfcf48d214d72f0fdf2ca24dce32039e6056bf2f
BLAKE2b-256 checksum
How to use checksums
d9dbb96362009fad46c73c6dafe942941aa5af05f8b8769a0d9cf42d048aa4bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.14 Linux/6.17.0-1022-azure

Release files / maimai_py-1.6.0rc2-py3-none-any.whl

Download URL maimai_py-1.6.0rc2-py3-none-any.whl
Size 320.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
892f8bc3b7cdc9a8f33623948d331ec0d87284a76005244d6f1f60e18be52cff
BLAKE2b-256 checksum
How to use checksums
dc7fe4f387f25a5467ab8220eff511e9a8deb0c88691fa7061f3943e91e1322c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.14 Linux/6.17.0-1022-azure

Release history Release notifications | RSS feed

1.6.0

2 release files

This release

1.6.0rc2 This release

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.0

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.14

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.6

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page