ASMRManager


NameASMRManager JSON
Version 2.0.0 PyPI version JSON
download
home_pageNone
Summarydownload, manage and play the voices on asmr.one
upload_time2024-04-19 17:51:22
maintainerNone
docs_urlNone
authorNone
requires_python<3.12,>=3.10
licenseMIT
keywords asmr downloader music player manager cli tui commandline terminal
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ASMRManager

包含下载,管理,播放(命令行 TUI)的 <https://asmr.one> 的 CLI 管理工具。

## 功能介绍

### 下载

支持网站所支持的所有索引方式(关键词,标签,会社,价格,声优,日期,年龄分级等等),以及排序方式。
目前仅支持调用 IDM 或 aria2 下载。

```
> asmr dl search --help
2024-02-27 16:54:42 - INFO - Run program with: dl search --help
Usage: asmr dl search [OPTIONS] [TEXT]

  search and download ASMR

  the [multiple] options means you can add multiple same option such as:

      --tags tag1 --tags tag2 --no-tags tag3

  for options like --rate, --sell, --price, you should give a interval like:

      --rate 3.9:4.7 --sell 1000: --price :200

  the interval a:b means a <= x < b, if a or b is not given i.e. a: or :b, it
  means no lower or upper limit

  --force will check the download RJ files again though it is already  in the
  database, it work just like update

  --replace option will first delte the original file, then add the new file
  to download queue(i.e. IDM or aria2)

  nsfw will only show the full age ASMRs

  for other --order values, you can refer to the website for explicit meaning

Options:
  -t, --tags TEXT                 tags to include[multiple]
  -nt, --no-tags TEXT             tags to exclude[multiple]
  -v, --vas TEXT                  voice actor(cv) to include[multiple]
  -nv, --no-vas TEXT              voice actor(cv) to exclude[multiple]
  -c, --circle TEXT               circle(社团) to include
  -nc, --no-circle TEXT           circle(社团) to exclude[multiple]
  -a, --age [general|r15|adult]   age limitation to include[multiple]
  -na, --no-age [general|r15|adult]
                                  age limitation to exclude[multiple]
  -r, --rate TEXT                 rating interval
  -s, --sell TEXT                 selling interval
  -pr, --price TEXT               pirce interval
  --all / --select                download all RJs  [default: select]
  -p, --page INTEGER              page of the search result  [default: 1]
  --subtitle / --no-subtitle      if the ASMR has subtitle(中文字幕)  [default:
                                  no-subtitle]
  -o, --order [create_date|rating|release|dl_count|price|rate_average_2dp|review_count|id|nsfw|random]
                                  ordering of the search result  [default:
                                  release]
  --asc / --desc                  ascending or descending
  --force / --check-db            force download even if the RJ id exists in
                                  database,or by default, RJ already in the
                                  database will be skipped
  --replace / --no-replace        replace the file if it exists  [default: no-
                                  replace]
  --check-name / --ignore-name    check and filter out asmr by filenames,
                                  rules are in the config file  [default:
                                  check-name]
  --check-tag / --ignore-tag      check and filter out asmr by tags, rules are
                                  in the config file  [default: check-tag]
  -h, --help                      Show this message and exit.
```

### 管理

可以对作品进行评分,评论。也支持用关键词进行搜索(但需要一点 sql 基础,仓库提供了一些模板,例如 [search.sql](./asmrmanager/filemanager/resources/sqls.example/search.sql))

### 播放

非常简陋的终端播放界面,支持歌词显示,按照歌词信息快进,切换歌曲,支持以pygame(sdl)或mpd做为后端,可以预见的将来应该会完善一下(但感觉够用了应该不会再加啥功能了)。
![tui-screenshot](./assets/tui-screenshot.png)

## 使用方法

**注意**:由于网站最近更新了针对BJ和VJ的支持,本项目进行了很大的重构,2.0.0 版本暂并不保证稳定运行,如果没有对BJ和VJ的需求,可以考虑继续使用1代的最后一个版本`pip install ASMRManager[依赖]==1.9.1`

本工具支持 `python >= 3.10`, 安装方法如下:

```shell
pip install ASMRManager[依赖]
```

可选则的依赖项有 `idm`, `aria2`, `tui`,`pygame`,`mpd`, `all`,多个依赖使用逗号分隔,其中`all`为安装所有依赖。例如 `pip install ASMRManager[idm,tui]`

- 下载:`idm` 或 `aria2` 二选一,`idm` 为 windows 平台专用,`aria2` 为跨平台。
- 播放:`pygame` 或 `mpd` 二选一。
- 其他:`tui` 为可视化命令行界面。

> 此处也可以选择使用 `pipx` 来替代 `pip`,避免污染全局环境。
> 安装方法:`pip install pipx`

---

之后再运行 `asmr` 命令,会生成示例的配置文件和 sql 文件,此处以 windows 举例:

```
2023-10-22 14:36:21 - INFO - First time to run, copy default sqls to C:\Users\slqy\AppData\Local\asmrmanager\asmrmanager\sqls
2023-10-22 14:36:21 - INFO - An example config file has been copied to C:\Users\slqy\AppData\Local\asmrmanager\asmrmanager\config.toml, please modify it and run this command again
```

之后按照说明修改 `config.toml` 文件,如果使用 sql 的话,也可以对 sql 文件夹进行修改。

若有不明白的地方可使用 sqlite 数据库工具查看目录下的 data.db 文件。

完成后使用 `asmr -h` 查看各命令的使用说明,对于子命令不清楚的同样可以查看帮助,例如 `asmr dl -h`。
常用的命令有:
- `dl search` 搜索并下载。
- `info` 搜索某个 RJID 的具体信息
- `view` 将选择文件并移动到 VIEW_PATH
- `review` 为某个作品评分并评论(本地)
- `pl add` 将某个音声添加到用户的云端播放列表(配合 `pl create` 使用)

> 使用命令时,如果不输入 RJID ,将会自动使用上一次命令的RJID。

另外本工具提供基于 `trogon` 的可视化命令行界面,在安装`tui`依赖后使用 `asmr tui` 即可打开。

## 命令行补全
仅适用于Linux,详情可参考[官方文档](https://click.palletsprojects.com/en/8.1.x/shell-completion)。
```shell
# fish
_ASMR_COMPLETE=fish_source asmr > ~/.config/fish/completions/asmr.fish

# bash
_ASMR_COMPLETE=bash_source asmr > ~/.asmr-complete.bash
echo '. ~/.asmr-complete.bash' >> ~/.bashrc

# zsh
_ASMR_COMPLETE=zsh_source asmr > ~/.asmr-complete.zsh
echo '. ~/.asmr-complete.zsh' >> ~/.zshrc
```

## 关于`dl search/get`的使用
命令执行过程中会进行如下的检查与过滤操作:
1. 开始下载前:检查RJ号是否应该下载,如果本地文件不存在或者数据库无记录都会执行下载操作。可以通过 `--force` 强制执行下载。
1. 获取音声信息后:检查音声的tags,如果包含tag_filters里指定的tag,则跳过下载。可以通过 `--ignore-tag` 来强制下载。
1. 获取下载文件后:检查文件的名称和路径,如果不符合filename_filters里指定的规则,则跳过下载。可以通过`ignore-name`来强制下载。
1. 添加下载任务时:如果检测到本地有同名文件,则跳过该文件的下载。可以通过`--replace`来强制覆盖存在的文件。

## 其他

感谢 <https://asmr.one>丰富了我的夜生活。
另外网站运营不易,请合理使用本工具。

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "ASMRManager",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.10",
    "maintainer_email": null,
    "keywords": "asmr, downloader, music, player, manager, cli, tui, commandline, terminal",
    "author": null,
    "author_email": "SLQY <sqiyel@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b6/11/956d35411f646ab221594e8daebae78bb02d14d491159cbd74816a4307f6/asmrmanager-2.0.0.tar.gz",
    "platform": null,
    "description": "# ASMRManager\n\n\u5305\u542b\u4e0b\u8f7d\uff0c\u7ba1\u7406\uff0c\u64ad\u653e(\u547d\u4ee4\u884c TUI)\u7684 <https://asmr.one> \u7684 CLI \u7ba1\u7406\u5de5\u5177\u3002\n\n## \u529f\u80fd\u4ecb\u7ecd\n\n### \u4e0b\u8f7d\n\n\u652f\u6301\u7f51\u7ad9\u6240\u652f\u6301\u7684\u6240\u6709\u7d22\u5f15\u65b9\u5f0f(\u5173\u952e\u8bcd\uff0c\u6807\u7b7e\uff0c\u4f1a\u793e\uff0c\u4ef7\u683c\uff0c\u58f0\u4f18\uff0c\u65e5\u671f\uff0c\u5e74\u9f84\u5206\u7ea7\u7b49\u7b49)\uff0c\u4ee5\u53ca\u6392\u5e8f\u65b9\u5f0f\u3002\n\u76ee\u524d\u4ec5\u652f\u6301\u8c03\u7528 IDM \u6216 aria2 \u4e0b\u8f7d\u3002\n\n```\n> asmr dl search --help\n2024-02-27 16:54:42 - INFO - Run program with: dl search --help\nUsage: asmr dl search [OPTIONS] [TEXT]\n\n  search and download ASMR\n\n  the [multiple] options means you can add multiple same option such as:\n\n      --tags tag1 --tags tag2 --no-tags tag3\n\n  for options like --rate, --sell, --price, you should give a interval like:\n\n      --rate 3.9:4.7 --sell 1000: --price :200\n\n  the interval a:b means a <= x < b, if a or b is not given i.e. a: or :b, it\n  means no lower or upper limit\n\n  --force will check the download RJ files again though it is already  in the\n  database, it work just like update\n\n  --replace option will first delte the original file, then add the new file\n  to download queue(i.e. IDM or aria2)\n\n  nsfw will only show the full age ASMRs\n\n  for other --order values, you can refer to the website for explicit meaning\n\nOptions:\n  -t, --tags TEXT                 tags to include[multiple]\n  -nt, --no-tags TEXT             tags to exclude[multiple]\n  -v, --vas TEXT                  voice actor(cv) to include[multiple]\n  -nv, --no-vas TEXT              voice actor(cv) to exclude[multiple]\n  -c, --circle TEXT               circle(\u793e\u56e2) to include\n  -nc, --no-circle TEXT           circle(\u793e\u56e2) to exclude[multiple]\n  -a, --age [general|r15|adult]   age limitation to include[multiple]\n  -na, --no-age [general|r15|adult]\n                                  age limitation to exclude[multiple]\n  -r, --rate TEXT                 rating interval\n  -s, --sell TEXT                 selling interval\n  -pr, --price TEXT               pirce interval\n  --all / --select                download all RJs  [default: select]\n  -p, --page INTEGER              page of the search result  [default: 1]\n  --subtitle / --no-subtitle      if the ASMR has subtitle(\u4e2d\u6587\u5b57\u5e55)  [default:\n                                  no-subtitle]\n  -o, --order [create_date|rating|release|dl_count|price|rate_average_2dp|review_count|id|nsfw|random]\n                                  ordering of the search result  [default:\n                                  release]\n  --asc / --desc                  ascending or descending\n  --force / --check-db            force download even if the RJ id exists in\n                                  database,or by default, RJ already in the\n                                  database will be skipped\n  --replace / --no-replace        replace the file if it exists  [default: no-\n                                  replace]\n  --check-name / --ignore-name    check and filter out asmr by filenames,\n                                  rules are in the config file  [default:\n                                  check-name]\n  --check-tag / --ignore-tag      check and filter out asmr by tags, rules are\n                                  in the config file  [default: check-tag]\n  -h, --help                      Show this message and exit.\n```\n\n### \u7ba1\u7406\n\n\u53ef\u4ee5\u5bf9\u4f5c\u54c1\u8fdb\u884c\u8bc4\u5206\uff0c\u8bc4\u8bba\u3002\u4e5f\u652f\u6301\u7528\u5173\u952e\u8bcd\u8fdb\u884c\u641c\u7d22(\u4f46\u9700\u8981\u4e00\u70b9 sql \u57fa\u7840\uff0c\u4ed3\u5e93\u63d0\u4f9b\u4e86\u4e00\u4e9b\u6a21\u677f\uff0c\u4f8b\u5982 [search.sql](./asmrmanager/filemanager/resources/sqls.example/search.sql))\n\n### \u64ad\u653e\n\n\u975e\u5e38\u7b80\u964b\u7684\u7ec8\u7aef\u64ad\u653e\u754c\u9762\uff0c\u652f\u6301\u6b4c\u8bcd\u663e\u793a\uff0c\u6309\u7167\u6b4c\u8bcd\u4fe1\u606f\u5feb\u8fdb\uff0c\u5207\u6362\u6b4c\u66f2\uff0c\u652f\u6301\u4ee5pygame(sdl)\u6216mpd\u505a\u4e3a\u540e\u7aef\uff0c\u53ef\u4ee5\u9884\u89c1\u7684\u5c06\u6765\u5e94\u8be5\u4f1a\u5b8c\u5584\u4e00\u4e0b(\u4f46\u611f\u89c9\u591f\u7528\u4e86\u5e94\u8be5\u4e0d\u4f1a\u518d\u52a0\u5565\u529f\u80fd\u4e86)\u3002\n![tui-screenshot](./assets/tui-screenshot.png)\n\n## \u4f7f\u7528\u65b9\u6cd5\n\n**\u6ce8\u610f**\uff1a\u7531\u4e8e\u7f51\u7ad9\u6700\u8fd1\u66f4\u65b0\u4e86\u9488\u5bf9BJ\u548cVJ\u7684\u652f\u6301\uff0c\u672c\u9879\u76ee\u8fdb\u884c\u4e86\u5f88\u5927\u7684\u91cd\u6784\uff0c2.0.0 \u7248\u672c\u6682\u5e76\u4e0d\u4fdd\u8bc1\u7a33\u5b9a\u8fd0\u884c\uff0c\u5982\u679c\u6ca1\u6709\u5bf9BJ\u548cVJ\u7684\u9700\u6c42\uff0c\u53ef\u4ee5\u8003\u8651\u7ee7\u7eed\u4f7f\u75281\u4ee3\u7684\u6700\u540e\u4e00\u4e2a\u7248\u672c`pip install ASMRManager[\u4f9d\u8d56]==1.9.1`\n\n\u672c\u5de5\u5177\u652f\u6301 `python >= 3.10`, \u5b89\u88c5\u65b9\u6cd5\u5982\u4e0b\uff1a\n\n```shell\npip install ASMRManager[\u4f9d\u8d56]\n```\n\n\u53ef\u9009\u5219\u7684\u4f9d\u8d56\u9879\u6709 `idm`, `aria2`, `tui`\uff0c`pygame`,`mpd`, `all`\uff0c\u591a\u4e2a\u4f9d\u8d56\u4f7f\u7528\u9017\u53f7\u5206\u9694\uff0c\u5176\u4e2d`all`\u4e3a\u5b89\u88c5\u6240\u6709\u4f9d\u8d56\u3002\u4f8b\u5982 `pip install ASMRManager[idm,tui]`\n\n- \u4e0b\u8f7d\uff1a`idm` \u6216 `aria2` \u4e8c\u9009\u4e00\uff0c`idm` \u4e3a windows \u5e73\u53f0\u4e13\u7528\uff0c`aria2` \u4e3a\u8de8\u5e73\u53f0\u3002\n- \u64ad\u653e\uff1a`pygame` \u6216 `mpd` \u4e8c\u9009\u4e00\u3002\n- \u5176\u4ed6\uff1a`tui` \u4e3a\u53ef\u89c6\u5316\u547d\u4ee4\u884c\u754c\u9762\u3002\n\n> \u6b64\u5904\u4e5f\u53ef\u4ee5\u9009\u62e9\u4f7f\u7528 `pipx` \u6765\u66ff\u4ee3 `pip`\uff0c\u907f\u514d\u6c61\u67d3\u5168\u5c40\u73af\u5883\u3002\n> \u5b89\u88c5\u65b9\u6cd5\uff1a`pip install pipx`\n\n---\n\n\u4e4b\u540e\u518d\u8fd0\u884c `asmr` \u547d\u4ee4\uff0c\u4f1a\u751f\u6210\u793a\u4f8b\u7684\u914d\u7f6e\u6587\u4ef6\u548c sql \u6587\u4ef6\uff0c\u6b64\u5904\u4ee5 windows \u4e3e\u4f8b\uff1a\n\n```\n2023-10-22 14:36:21 - INFO - First time to run, copy default sqls to C:\\Users\\slqy\\AppData\\Local\\asmrmanager\\asmrmanager\\sqls\n2023-10-22 14:36:21 - INFO - An example config file has been copied to C:\\Users\\slqy\\AppData\\Local\\asmrmanager\\asmrmanager\\config.toml, please modify it and run this command again\n```\n\n\u4e4b\u540e\u6309\u7167\u8bf4\u660e\u4fee\u6539 `config.toml` \u6587\u4ef6\uff0c\u5982\u679c\u4f7f\u7528 sql \u7684\u8bdd\uff0c\u4e5f\u53ef\u4ee5\u5bf9 sql \u6587\u4ef6\u5939\u8fdb\u884c\u4fee\u6539\u3002\n\n\u82e5\u6709\u4e0d\u660e\u767d\u7684\u5730\u65b9\u53ef\u4f7f\u7528 sqlite \u6570\u636e\u5e93\u5de5\u5177\u67e5\u770b\u76ee\u5f55\u4e0b\u7684 data.db \u6587\u4ef6\u3002\n\n\u5b8c\u6210\u540e\u4f7f\u7528 `asmr -h` \u67e5\u770b\u5404\u547d\u4ee4\u7684\u4f7f\u7528\u8bf4\u660e\uff0c\u5bf9\u4e8e\u5b50\u547d\u4ee4\u4e0d\u6e05\u695a\u7684\u540c\u6837\u53ef\u4ee5\u67e5\u770b\u5e2e\u52a9\uff0c\u4f8b\u5982 `asmr dl -h`\u3002\n\u5e38\u7528\u7684\u547d\u4ee4\u6709\uff1a\n- `dl search` \u641c\u7d22\u5e76\u4e0b\u8f7d\u3002\n- `info` \u641c\u7d22\u67d0\u4e2a RJID \u7684\u5177\u4f53\u4fe1\u606f\n- `view` \u5c06\u9009\u62e9\u6587\u4ef6\u5e76\u79fb\u52a8\u5230 VIEW_PATH\n- `review` \u4e3a\u67d0\u4e2a\u4f5c\u54c1\u8bc4\u5206\u5e76\u8bc4\u8bba(\u672c\u5730)\n- `pl add` \u5c06\u67d0\u4e2a\u97f3\u58f0\u6dfb\u52a0\u5230\u7528\u6237\u7684\u4e91\u7aef\u64ad\u653e\u5217\u8868(\u914d\u5408 `pl create` \u4f7f\u7528)\n\n> \u4f7f\u7528\u547d\u4ee4\u65f6\uff0c\u5982\u679c\u4e0d\u8f93\u5165 RJID \uff0c\u5c06\u4f1a\u81ea\u52a8\u4f7f\u7528\u4e0a\u4e00\u6b21\u547d\u4ee4\u7684RJID\u3002\n\n\u53e6\u5916\u672c\u5de5\u5177\u63d0\u4f9b\u57fa\u4e8e `trogon` \u7684\u53ef\u89c6\u5316\u547d\u4ee4\u884c\u754c\u9762\uff0c\u5728\u5b89\u88c5`tui`\u4f9d\u8d56\u540e\u4f7f\u7528 `asmr tui` \u5373\u53ef\u6253\u5f00\u3002\n\n## \u547d\u4ee4\u884c\u8865\u5168\n\u4ec5\u9002\u7528\u4e8eLinux\uff0c\u8be6\u60c5\u53ef\u53c2\u8003[\u5b98\u65b9\u6587\u6863](https://click.palletsprojects.com/en/8.1.x/shell-completion)\u3002\n```shell\n# fish\n_ASMR_COMPLETE=fish_source asmr > ~/.config/fish/completions/asmr.fish\n\n# bash\n_ASMR_COMPLETE=bash_source asmr > ~/.asmr-complete.bash\necho '. ~/.asmr-complete.bash' >> ~/.bashrc\n\n# zsh\n_ASMR_COMPLETE=zsh_source asmr > ~/.asmr-complete.zsh\necho '. ~/.asmr-complete.zsh' >> ~/.zshrc\n```\n\n## \u5173\u4e8e`dl search/get`\u7684\u4f7f\u7528\n\u547d\u4ee4\u6267\u884c\u8fc7\u7a0b\u4e2d\u4f1a\u8fdb\u884c\u5982\u4e0b\u7684\u68c0\u67e5\u4e0e\u8fc7\u6ee4\u64cd\u4f5c\uff1a\n1. \u5f00\u59cb\u4e0b\u8f7d\u524d\uff1a\u68c0\u67e5RJ\u53f7\u662f\u5426\u5e94\u8be5\u4e0b\u8f7d\uff0c\u5982\u679c\u672c\u5730\u6587\u4ef6\u4e0d\u5b58\u5728\u6216\u8005\u6570\u636e\u5e93\u65e0\u8bb0\u5f55\u90fd\u4f1a\u6267\u884c\u4e0b\u8f7d\u64cd\u4f5c\u3002\u53ef\u4ee5\u901a\u8fc7 `--force` \u5f3a\u5236\u6267\u884c\u4e0b\u8f7d\u3002\n1. \u83b7\u53d6\u97f3\u58f0\u4fe1\u606f\u540e\uff1a\u68c0\u67e5\u97f3\u58f0\u7684tags\uff0c\u5982\u679c\u5305\u542btag_filters\u91cc\u6307\u5b9a\u7684tag\uff0c\u5219\u8df3\u8fc7\u4e0b\u8f7d\u3002\u53ef\u4ee5\u901a\u8fc7 `--ignore-tag` \u6765\u5f3a\u5236\u4e0b\u8f7d\u3002\n1. \u83b7\u53d6\u4e0b\u8f7d\u6587\u4ef6\u540e\uff1a\u68c0\u67e5\u6587\u4ef6\u7684\u540d\u79f0\u548c\u8def\u5f84\uff0c\u5982\u679c\u4e0d\u7b26\u5408filename_filters\u91cc\u6307\u5b9a\u7684\u89c4\u5219\uff0c\u5219\u8df3\u8fc7\u4e0b\u8f7d\u3002\u53ef\u4ee5\u901a\u8fc7`ignore-name`\u6765\u5f3a\u5236\u4e0b\u8f7d\u3002\n1. \u6dfb\u52a0\u4e0b\u8f7d\u4efb\u52a1\u65f6\uff1a\u5982\u679c\u68c0\u6d4b\u5230\u672c\u5730\u6709\u540c\u540d\u6587\u4ef6\uff0c\u5219\u8df3\u8fc7\u8be5\u6587\u4ef6\u7684\u4e0b\u8f7d\u3002\u53ef\u4ee5\u901a\u8fc7`--replace`\u6765\u5f3a\u5236\u8986\u76d6\u5b58\u5728\u7684\u6587\u4ef6\u3002\n\n## \u5176\u4ed6\n\n\u611f\u8c22 <https://asmr.one>\u4e30\u5bcc\u4e86\u6211\u7684\u591c\u751f\u6d3b\u3002\n\u53e6\u5916\u7f51\u7ad9\u8fd0\u8425\u4e0d\u6613\uff0c\u8bf7\u5408\u7406\u4f7f\u7528\u672c\u5de5\u5177\u3002\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "download, manage and play the voices on asmr.one",
    "version": "2.0.0",
    "project_urls": {
        "Repository": "https://github.com/slqy123/ASMRManager"
    },
    "split_keywords": [
        "asmr",
        " downloader",
        " music",
        " player",
        " manager",
        " cli",
        " tui",
        " commandline",
        " terminal"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e014c12055ec0c0a9b447ec711e4a52ff0ad470825721e823d4c3dfc79c291a",
                "md5": "26d090f6f47f5de81c784ac4edaec053",
                "sha256": "37f3d9a50381976b2be15e1a3cb0c50bc4f52b0cfc5117390daa9264ff4868fc"
            },
            "downloads": -1,
            "filename": "asmrmanager-2.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "26d090f6f47f5de81c784ac4edaec053",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.10",
            "size": 64973,
            "upload_time": "2024-04-19T17:51:19",
            "upload_time_iso_8601": "2024-04-19T17:51:19.986711Z",
            "url": "https://files.pythonhosted.org/packages/0e/01/4c12055ec0c0a9b447ec711e4a52ff0ad470825721e823d4c3dfc79c291a/asmrmanager-2.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b611956d35411f646ab221594e8daebae78bb02d14d491159cbd74816a4307f6",
                "md5": "3539be677f13ce90d4630a5c61dc3ed3",
                "sha256": "76d5e622ececcb546805e127812a1609ca3dd9b9ed19252667eb3542788c278a"
            },
            "downloads": -1,
            "filename": "asmrmanager-2.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "3539be677f13ce90d4630a5c61dc3ed3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.10",
            "size": 49007,
            "upload_time": "2024-04-19T17:51:22",
            "upload_time_iso_8601": "2024-04-19T17:51:22.390623Z",
            "url": "https://files.pythonhosted.org/packages/b6/11/956d35411f646ab221594e8daebae78bb02d14d491159cbd74816a4307f6/asmrmanager-2.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-19 17:51:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "slqy123",
    "github_project": "ASMRManager",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "asmrmanager"
}
        
Elapsed time: 0.25898s