Add your description here
Project description
Nonencm
📖 简介
pyncm 是一个功能强大的 ncm 处理工具。
QQMusicApi 是一个功能强大的 异步 API 库。
noneprompt 是 NoneBot 设计的控制台交互的提示工具包。
本项目实际上就是把这三个东西 vibe 在一起.
另外, 本项目仅用于学习研究封装与工具开发经验, 不提供任何支持.
🚀 安装与使用
方式一:通过 PyPI 安装 (推荐)
如果您熟悉 Python 环境,可以直接通过 pip 安装:
pip install nonencm
nonencm
如果你希望使用目标文件夹的图片报表功能, 需要安装 pil-utils 依赖:
pip install "nonencm[pil-utils]"
nonencm
方式二:下载可执行文件
对于没有 Python 环境的用户,可以在 Releases 页面下载对应系统的可执行文件。Windows 用户下载后直接双击即可。
在终端中运行方法:
- Windows:
win+r,输入cmd,回撤出现黑窗口,拖入.exe文件,回车运行 - macOS:
open nonencm-macos-vX.X.X,打开访达找到所在文件夹,右键底部文件夹,选择在终端中打开输入chmod + x nonencm-macos-vX.X.X ./nonencm-macos-vX.X.X
使用前须知
- 请先登录
- N 推荐使用二维码登录
- Q 推荐使用二维码登录
因为我别的都没测
- 输出目录共用,Detection / Export 会对目录内所有歌曲生效(无论来源于 N 还是 Q)。
返回上一级/取消等操作, 请使用 ctrl + c 或 cmd + c(Mac)
功能一览
Settings
通用设置
- Output Directory
- 选择下载文件的保存位置
- Filename Template: {title} - {artist}
- {title}:歌曲名
- {artist}/{artists}:歌手(多个时逗号分隔)
- {album}:专辑名
- {track}:同 {title}(保留的兼容键)
- {id}:歌曲 ID
- Overwrite Files: No / Yes
- 如果已经存在是否覆盖
N Settings(二级菜单)
- Audio Quality: standard
- Standard (standard) 默认
- Higher (exhigh)
- Lossless (lossless)
- Hi-Res (hires)
- Preferred Format: auto
- auto:由接口返回的最佳可用格式决定(在较低的 Audio Quality 情况下通常是 mp3)
- mp3:即便有高码率/无损也会强制转为 mp3 级别的下载。
- flac:会优先无损格式,不足时再退回其他格式。
- Download Lyrics: No
- 下载同时附带歌词
- Use Download API: No / Yes
- 网易云黑胶用户拥有每个月300-500次的下载机会
- 否则使用播放Api进行下载,可能会有部分音质受限的情况
Q Settings(二级菜单)
- Preferred File Type
- mp3_320:高码率 mp3
- mp3_128:标准 mp3
- flac:无损 flac(可用时)
Login
平台独立登录
- N Account:二维码 / 手机号 / 匿名登录,支持注销,登录后生成
session.pyncm - Q Account:二维码(QQ / WX)或短信验证码登录,支持注销,登录后生成
session.qqmusic.json - 未登录的平台不会显示对应的搜索入口
Search & Download
- 支持直接传入歌单链接下载(N: 网易云;Q: QQ)
- 支持单行或多行关键字搜索并下载(换行分隔;逐首确认后静默下载,可继续下一首)
- 下载后复用通用的检测/导出能力(含残破文件检测,需登录/VIP 时触发)
Export
导出目标文件夹的歌单报表
- Image Report (JPG)
- CSV
- TXT
- Markdown
Detection
对目标文件夹进行检测与处理
- Check Failed Downloads
- 会根据下载策略进行残破文件(需vip/登陆)的检测和二次下载确认
- Check Possible Duplicates
- 对目标文件夹进行匹配、检测可能的重复文件并让用户选择
配置文件
- 本项目会在启动的文件夹生成 nonencm_config.yaml 文件, 用于保存全局配置
- 登录后, N 会生成 session.pyncm,Q 会生成 session.qqmusic.json,用于保存登录状态
📄 许可证
额别急我研究一下。
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonencm-0.2.2.tar.gz.
File metadata
- Download URL: nonencm-0.2.2.tar.gz
- Upload date:
- Size: 27.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
170e3230279620d70b378920106a847e52a0090c9d930f75218fddd1c362f66e
|
|
| MD5 |
509ada79b2d032f7875bb270f31803e2
|
|
| BLAKE2b-256 |
96109b6d4142a036a5c6362fa149577b55432974624a41479a7b5d2aaaaeec39
|
Provenance
The following attestation bundles were made for nonencm-0.2.2.tar.gz:
Publisher:
publish.yml on kumoSleeping/nonencm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nonencm-0.2.2.tar.gz -
Subject digest:
170e3230279620d70b378920106a847e52a0090c9d930f75218fddd1c362f66e - Sigstore transparency entry: 760782254
- Sigstore integration time:
-
Permalink:
kumoSleeping/nonencm@f06ded5846f17cd70b0852925e408f0350127aa3 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/kumoSleeping
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f06ded5846f17cd70b0852925e408f0350127aa3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file nonencm-0.2.2-py3-none-any.whl.
File metadata
- Download URL: nonencm-0.2.2-py3-none-any.whl
- Upload date:
- Size: 26.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8c67d180e30d812faa68d4d573bd9dfe0be8f154eab0651b56ac4de5f0bcd9e
|
|
| MD5 |
418b0fc6655e9117a28d26bf75c3bf50
|
|
| BLAKE2b-256 |
815ce1ef85732d54f22f903eb813f3ac296f1c9c6df1ac330d788135c6012d44
|
Provenance
The following attestation bundles were made for nonencm-0.2.2-py3-none-any.whl:
Publisher:
publish.yml on kumoSleeping/nonencm
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nonencm-0.2.2-py3-none-any.whl -
Subject digest:
d8c67d180e30d812faa68d4d573bd9dfe0be8f154eab0651b56ac4de5f0bcd9e - Sigstore transparency entry: 760782258
- Sigstore integration time:
-
Permalink:
kumoSleeping/nonencm@f06ded5846f17cd70b0852925e408f0350127aa3 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/kumoSleeping
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f06ded5846f17cd70b0852925e408f0350127aa3 -
Trigger Event:
push
-
Statement type: