<div align="center">
<img width=200 src="https://github.com/Meloland/melobot/blob/main/docs/source/_static/logo.png?raw=true" />
<h1>melobot</h1>
<p>
<strong>插件化管理、基于异步会话机制的机器人开发框架</strong>
</p>
<p align="center">
<a href="https://github.com/Meloland/melobot/tree/main/LICENSE-BSD"><img src="https://img.shields.io/badge/license-BSD--3--Clause-2ea44f" alt="license - BSD-3-Clause"></a>
<a href="https://github.com/Meloland/melobot/tree/main/LICENSE-CC"><img src="https://img.shields.io/badge/license-CC--BY--SA--4.0-2ea44f" alt="license - CC-BY-SA-4.0"></a>
<a href="https://docs.melobot.org/"><img src="https://img.shields.io/badge/doc-latest-blue.svg" alt="melobot docs"></a>
<a href="https://github.com/Meloland/melobot"><img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/Meloland/melobot"></a>
<a href="https://github.com/botuniverse/onebot-11"><img src="https://img.shields.io/badge/OneBot-v11-blue?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ/ZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1/q8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2/9HsMAXyUT4/3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc/wHwA5D2wDHTTe56gIIOUA/4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==" alt="cqhttp"></a>
</p>
<p align="center">
<a href="https://python.org" title="Go to Python homepage"><img src="https://img.shields.io/badge/Python-%3E=3.10-green?logo=python&logoColor=white" alt="Made with Python"></a>
<a href="https://pdm-project.org"><img src="https://img.shields.io/badge/PDM-Managed-purple?logo=pdm&logoColor=white" alt="PDM - Managed"></a>
<a href="https://pypi.org/project/melobot/"><img alt="PyPI" src="https://img.shields.io/pypi/v/melobot"></a>
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
<a href="https://mypy-lang.org/"><img src="https://www.mypy-lang.org/static/mypy_badge.svg" alt="Checked with mypy"></a>
</p>
</div>
## 🔄 工作计划
主分支为 melobot v2 的代码,melobot v3 仍在开发中。v3 计划支持各种协议以扩展至各种平台提供机器人服务。
main 分支可接受**不与未来 v3 预期目标冲突**的 bug 修复与功能新增。
因此您可以向 main 分支发起 PR,如果被合并,我们会努力将新特性移植到 v3 中。
有任何建议与意见,欢迎加入 qq 群与我们讨论:`535705163`
## ⚠️ 声明
melobot 是由热爱技术的开发者共同维护的开源项目。我们致力于提供一个可靠、高效的软件工具,以促进技术交流和创新。以下简称 melobot 项目为“本项目”。
本项目严禁用于任何非法目的,包括但不限于侵犯版权、商标、商业机密或其他知识产权,以及违反任何适用的法律和法规。我们不对因非法使用本项目而产生的任何直接、间接、附带、特殊、惩罚性或后果性损害承担责任。
<!-- start elevator-pitch -->
## 🎉 简介
melobot 是基于 Python 的机器人开发框架。目前开发版本号为 v2,只适用于搭建 qq 机器人,v3 仍在开发中。
melobot v2 以**Onebot 标准的实现程序**作为前端,通过对来自“前端”的各种“事件”的处理,产生“行为”提交给“前端”,让“前端”与 qq 服务器交互,从而实现各种复杂的功能。
## ✨ 特色
为什么选择 melobot?因为 melobot 更**自由、优雅和强大**:
- 异步性能:基于 asyncio,但使用性能更优秀的事件循环策略:[uvloop](https://github.com/MagicStack/uvloop)/[winloop](https://github.com/Vizonex/Winloop)
- 插件管理:更低耦合度的插件加载与通信
- 会话控制:自动传递的、可自定义的会话
- 预处理流程:可传播会话信息的、灵活的、可自定义的事件预处理
- 生命周期控制:支持 bot 生命周期 hook
- 多实例协同:多 bot 实例运行,跨实例通信
- 异步接口:常用异步逻辑的封装,使各种业务逻辑更简洁
- 日志支持:日志记录兼容标准库和绝大多数日志框架
使用本框架的机器人项目如下:
- [MeloInf](https://github.com/aicorein/meloinf)
你可以将这些项目作为 melobot 使用的实例参考。欢迎你基于 melobot 实现完整的机器人项目后,向本文档提出 PR,在此处展示。
## 💬 文档
项目文档:[melobot 文档](https://docs.melobot.org)
对于文档可能出现的纰漏,恳请各位包涵。欢迎提出修正和优化文档的 PR:[文档源文件](https://github.com/Meloland/melobot/tree/main/docs/source)
## 📦️ 安装使用
通过 `pip` 命令安装:
```shell
pip install melobot
```
或从源码构建:
本项目通过 pdm 管理,你首先需要安装 [pdm](https://pdm-project.org/latest/#installation)。
```shell
# 随后在本项目根目录:
pdm install
pdm build
```
之后可在 `.pdm-build` 目录获取本地构建,pip 本地安装即可。提示:首次运行 pdm 需要初始化虚拟环境,请参照 pdm 文档操作。
## 🪄 版本特性
- python 版本需要 `>=3.10`
- 可跨平台使用
- 通信标准:[OneBot v11](https://github.com/botuniverse/onebot-11)
<!-- end elevator-pitch -->
## 📜 开源许可
本项目使用双许可证。
[docs](https://github.com/Meloland/melobot/tree/main/docs) 目录内所有内容在 CC-BY-SA-4.0 许可下发行。
<a href="http://creativecommons.org/licenses/by-sa/4.0/" rel="nofollow"><img src="https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-sa.svg" style="width: 150px"></a>
此部分版权主体为:
> **melobot 文档的所有贡献者**
[docs](https://github.com/Meloland/melobot/tree/main/docs) 目录外所有内容在 BSD 3-Clause 许可下发行。
<a href="https://opensource.org/license/bsd-3-clause"><img src="https://upload.wikimedia.org/wikipedia/commons/d/d5/License_icon-bsd-88x31.svg" style="width: 150px"></a>
此部分版权主体为:
> **melobot 项目的所有贡献者(此处不包含只对文档有贡献的)**
Raw data
{
"_id": null,
"home_page": null,
"name": "melobot",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "aicorein <melodyecho@glowmem.com>",
"keywords": "qq, qq bot, onebot, bot framework, asyncio, coroutine, concurrency",
"author": null,
"author_email": "aicorein <melodyecho@glowmem.com>",
"download_url": "https://files.pythonhosted.org/packages/6d/d3/5f889c444d3238de70939ea8df5a6241e738449bd0c71a8bd4f948d943b8/melobot-2.6.5.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <img width=200 src=\"https://github.com/Meloland/melobot/blob/main/docs/source/_static/logo.png?raw=true\" />\n <h1>melobot</h1>\n <p>\n <strong>\u63d2\u4ef6\u5316\u7ba1\u7406\u3001\u57fa\u4e8e\u5f02\u6b65\u4f1a\u8bdd\u673a\u5236\u7684\u673a\u5668\u4eba\u5f00\u53d1\u6846\u67b6</strong>\n </p>\n <p align=\"center\">\n <a href=\"https://github.com/Meloland/melobot/tree/main/LICENSE-BSD\"><img src=\"https://img.shields.io/badge/license-BSD--3--Clause-2ea44f\" alt=\"license - BSD-3-Clause\"></a>\n <a href=\"https://github.com/Meloland/melobot/tree/main/LICENSE-CC\"><img src=\"https://img.shields.io/badge/license-CC--BY--SA--4.0-2ea44f\" alt=\"license - CC-BY-SA-4.0\"></a>\n <a href=\"https://docs.melobot.org/\"><img src=\"https://img.shields.io/badge/doc-latest-blue.svg\" alt=\"melobot docs\"></a>\n <a href=\"https://github.com/Meloland/melobot\"><img alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/Meloland/melobot\"></a>\n <a href=\"https://github.com/botuniverse/onebot-11\"><img src=\"https://img.shields.io/badge/OneBot-v11-blue?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAADAwMHBwceHh4UFBQNDQ0ZGRkoKCgvLy8iIiLWSdWYAAAAAXRSTlMAQObYZgAAAQVJREFUSMftlM0RgjAQhV+0ATYK6i1Xb+iMd0qgBEqgBEuwBOxU2QDKsjvojQPvkJ/ZL5sXkgWrFirK4MibYUdE3OR2nEpuKz1/q8CdNxNQgthZCXYVLjyoDQftaKuniHHWRnPh2GCUetR2/9HsMAXyUT4/3UHwtQT2AggSCGKeSAsFnxBIOuAggdh3AKTL7pDuCyABcMb0aQP7aM4AnAbc/wHwA5D2wDHTTe56gIIOUA/4YYV2e1sg713PXdZJAuncdZMAGkAukU9OAn40O849+0ornPwT93rphWF0mgAbauUrEOthlX8Zu7P5A6kZyKCJy75hhw1Mgr9RAUvX7A3csGqZegEdniCx30c3agAAAABJRU5ErkJggg==\" alt=\"cqhttp\"></a>\n </p>\n <p align=\"center\">\n <a href=\"https://python.org\" title=\"Go to Python homepage\"><img src=\"https://img.shields.io/badge/Python-%3E=3.10-green?logo=python&logoColor=white\" alt=\"Made with Python\"></a>\n <a href=\"https://pdm-project.org\"><img src=\"https://img.shields.io/badge/PDM-Managed-purple?logo=pdm&logoColor=white\" alt=\"PDM - Managed\"></a>\n <a href=\"https://pypi.org/project/melobot/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/melobot\"></a>\n <a href=\"https://github.com/psf/black\"><img alt=\"Code style: black\" src=\"https://img.shields.io/badge/code%20style-black-000000.svg\"></a>\n <a href=\"https://mypy-lang.org/\"><img src=\"https://www.mypy-lang.org/static/mypy_badge.svg\" alt=\"Checked with mypy\"></a>\n </p>\n</div>\n\n## \ud83d\udd04 \u5de5\u4f5c\u8ba1\u5212\n\n\u4e3b\u5206\u652f\u4e3a melobot v2 \u7684\u4ee3\u7801\uff0cmelobot v3 \u4ecd\u5728\u5f00\u53d1\u4e2d\u3002v3 \u8ba1\u5212\u652f\u6301\u5404\u79cd\u534f\u8bae\u4ee5\u6269\u5c55\u81f3\u5404\u79cd\u5e73\u53f0\u63d0\u4f9b\u673a\u5668\u4eba\u670d\u52a1\u3002\n\nmain \u5206\u652f\u53ef\u63a5\u53d7**\u4e0d\u4e0e\u672a\u6765 v3 \u9884\u671f\u76ee\u6807\u51b2\u7a81**\u7684 bug \u4fee\u590d\u4e0e\u529f\u80fd\u65b0\u589e\u3002\n\n\u56e0\u6b64\u60a8\u53ef\u4ee5\u5411 main \u5206\u652f\u53d1\u8d77 PR\uff0c\u5982\u679c\u88ab\u5408\u5e76\uff0c\u6211\u4eec\u4f1a\u52aa\u529b\u5c06\u65b0\u7279\u6027\u79fb\u690d\u5230 v3 \u4e2d\u3002\n\n\u6709\u4efb\u4f55\u5efa\u8bae\u4e0e\u610f\u89c1\uff0c\u6b22\u8fce\u52a0\u5165 qq \u7fa4\u4e0e\u6211\u4eec\u8ba8\u8bba\uff1a`535705163`\n\n## \u26a0\ufe0f \u58f0\u660e\n\nmelobot \u662f\u7531\u70ed\u7231\u6280\u672f\u7684\u5f00\u53d1\u8005\u5171\u540c\u7ef4\u62a4\u7684\u5f00\u6e90\u9879\u76ee\u3002\u6211\u4eec\u81f4\u529b\u4e8e\u63d0\u4f9b\u4e00\u4e2a\u53ef\u9760\u3001\u9ad8\u6548\u7684\u8f6f\u4ef6\u5de5\u5177\uff0c\u4ee5\u4fc3\u8fdb\u6280\u672f\u4ea4\u6d41\u548c\u521b\u65b0\u3002\u4ee5\u4e0b\u7b80\u79f0 melobot \u9879\u76ee\u4e3a\u201c\u672c\u9879\u76ee\u201d\u3002\n\n\u672c\u9879\u76ee\u4e25\u7981\u7528\u4e8e\u4efb\u4f55\u975e\u6cd5\u76ee\u7684\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4fb5\u72af\u7248\u6743\u3001\u5546\u6807\u3001\u5546\u4e1a\u673a\u5bc6\u6216\u5176\u4ed6\u77e5\u8bc6\u4ea7\u6743\uff0c\u4ee5\u53ca\u8fdd\u53cd\u4efb\u4f55\u9002\u7528\u7684\u6cd5\u5f8b\u548c\u6cd5\u89c4\u3002\u6211\u4eec\u4e0d\u5bf9\u56e0\u975e\u6cd5\u4f7f\u7528\u672c\u9879\u76ee\u800c\u4ea7\u751f\u7684\u4efb\u4f55\u76f4\u63a5\u3001\u95f4\u63a5\u3001\u9644\u5e26\u3001\u7279\u6b8a\u3001\u60e9\u7f5a\u6027\u6216\u540e\u679c\u6027\u635f\u5bb3\u627f\u62c5\u8d23\u4efb\u3002\n\n<!-- start elevator-pitch -->\n\n## \ud83c\udf89 \u7b80\u4ecb\n\nmelobot \u662f\u57fa\u4e8e Python \u7684\u673a\u5668\u4eba\u5f00\u53d1\u6846\u67b6\u3002\u76ee\u524d\u5f00\u53d1\u7248\u672c\u53f7\u4e3a v2\uff0c\u53ea\u9002\u7528\u4e8e\u642d\u5efa qq \u673a\u5668\u4eba\uff0cv3 \u4ecd\u5728\u5f00\u53d1\u4e2d\u3002\n\nmelobot v2 \u4ee5**Onebot \u6807\u51c6\u7684\u5b9e\u73b0\u7a0b\u5e8f**\u4f5c\u4e3a\u524d\u7aef\uff0c\u901a\u8fc7\u5bf9\u6765\u81ea\u201c\u524d\u7aef\u201d\u7684\u5404\u79cd\u201c\u4e8b\u4ef6\u201d\u7684\u5904\u7406\uff0c\u4ea7\u751f\u201c\u884c\u4e3a\u201d\u63d0\u4ea4\u7ed9\u201c\u524d\u7aef\u201d\uff0c\u8ba9\u201c\u524d\u7aef\u201d\u4e0e qq \u670d\u52a1\u5668\u4ea4\u4e92\uff0c\u4ece\u800c\u5b9e\u73b0\u5404\u79cd\u590d\u6742\u7684\u529f\u80fd\u3002\n\n## \u2728 \u7279\u8272\n\n\u4e3a\u4ec0\u4e48\u9009\u62e9 melobot\uff1f\u56e0\u4e3a melobot \u66f4**\u81ea\u7531\u3001\u4f18\u96c5\u548c\u5f3a\u5927**\uff1a\n\n- \u5f02\u6b65\u6027\u80fd\uff1a\u57fa\u4e8e asyncio\uff0c\u4f46\u4f7f\u7528\u6027\u80fd\u66f4\u4f18\u79c0\u7684\u4e8b\u4ef6\u5faa\u73af\u7b56\u7565\uff1a[uvloop](https://github.com/MagicStack/uvloop)/[winloop](https://github.com/Vizonex/Winloop)\n- \u63d2\u4ef6\u7ba1\u7406\uff1a\u66f4\u4f4e\u8026\u5408\u5ea6\u7684\u63d2\u4ef6\u52a0\u8f7d\u4e0e\u901a\u4fe1\n- \u4f1a\u8bdd\u63a7\u5236\uff1a\u81ea\u52a8\u4f20\u9012\u7684\u3001\u53ef\u81ea\u5b9a\u4e49\u7684\u4f1a\u8bdd\n- \u9884\u5904\u7406\u6d41\u7a0b\uff1a\u53ef\u4f20\u64ad\u4f1a\u8bdd\u4fe1\u606f\u7684\u3001\u7075\u6d3b\u7684\u3001\u53ef\u81ea\u5b9a\u4e49\u7684\u4e8b\u4ef6\u9884\u5904\u7406\n- \u751f\u547d\u5468\u671f\u63a7\u5236\uff1a\u652f\u6301 bot \u751f\u547d\u5468\u671f hook\n- \u591a\u5b9e\u4f8b\u534f\u540c\uff1a\u591a bot \u5b9e\u4f8b\u8fd0\u884c\uff0c\u8de8\u5b9e\u4f8b\u901a\u4fe1\n- \u5f02\u6b65\u63a5\u53e3\uff1a\u5e38\u7528\u5f02\u6b65\u903b\u8f91\u7684\u5c01\u88c5\uff0c\u4f7f\u5404\u79cd\u4e1a\u52a1\u903b\u8f91\u66f4\u7b80\u6d01\n- \u65e5\u5fd7\u652f\u6301\uff1a\u65e5\u5fd7\u8bb0\u5f55\u517c\u5bb9\u6807\u51c6\u5e93\u548c\u7edd\u5927\u591a\u6570\u65e5\u5fd7\u6846\u67b6\n\n\u4f7f\u7528\u672c\u6846\u67b6\u7684\u673a\u5668\u4eba\u9879\u76ee\u5982\u4e0b\uff1a\n\n- [MeloInf](https://github.com/aicorein/meloinf)\n\n\u4f60\u53ef\u4ee5\u5c06\u8fd9\u4e9b\u9879\u76ee\u4f5c\u4e3a melobot \u4f7f\u7528\u7684\u5b9e\u4f8b\u53c2\u8003\u3002\u6b22\u8fce\u4f60\u57fa\u4e8e melobot \u5b9e\u73b0\u5b8c\u6574\u7684\u673a\u5668\u4eba\u9879\u76ee\u540e\uff0c\u5411\u672c\u6587\u6863\u63d0\u51fa PR\uff0c\u5728\u6b64\u5904\u5c55\u793a\u3002\n\n## \ud83d\udcac \u6587\u6863\n\n\u9879\u76ee\u6587\u6863\uff1a[melobot \u6587\u6863](https://docs.melobot.org)\n\n\u5bf9\u4e8e\u6587\u6863\u53ef\u80fd\u51fa\u73b0\u7684\u7eb0\u6f0f\uff0c\u6073\u8bf7\u5404\u4f4d\u5305\u6db5\u3002\u6b22\u8fce\u63d0\u51fa\u4fee\u6b63\u548c\u4f18\u5316\u6587\u6863\u7684 PR\uff1a[\u6587\u6863\u6e90\u6587\u4ef6](https://github.com/Meloland/melobot/tree/main/docs/source)\n\n## \ud83d\udce6\ufe0f \u5b89\u88c5\u4f7f\u7528\n\n\u901a\u8fc7 `pip` \u547d\u4ee4\u5b89\u88c5\uff1a\n\n```shell\npip install melobot\n```\n\n\u6216\u4ece\u6e90\u7801\u6784\u5efa\uff1a\n\n\u672c\u9879\u76ee\u901a\u8fc7 pdm \u7ba1\u7406\uff0c\u4f60\u9996\u5148\u9700\u8981\u5b89\u88c5 [pdm](https://pdm-project.org/latest/#installation)\u3002\n\n```shell\n# \u968f\u540e\u5728\u672c\u9879\u76ee\u6839\u76ee\u5f55\uff1a\npdm install\npdm build\n```\n\n\u4e4b\u540e\u53ef\u5728 `.pdm-build` \u76ee\u5f55\u83b7\u53d6\u672c\u5730\u6784\u5efa\uff0cpip \u672c\u5730\u5b89\u88c5\u5373\u53ef\u3002\u63d0\u793a\uff1a\u9996\u6b21\u8fd0\u884c pdm \u9700\u8981\u521d\u59cb\u5316\u865a\u62df\u73af\u5883\uff0c\u8bf7\u53c2\u7167 pdm \u6587\u6863\u64cd\u4f5c\u3002\n\n## \ud83e\ude84 \u7248\u672c\u7279\u6027\n\n- python \u7248\u672c\u9700\u8981 `>=3.10`\n- \u53ef\u8de8\u5e73\u53f0\u4f7f\u7528\n- \u901a\u4fe1\u6807\u51c6\uff1a[OneBot v11](https://github.com/botuniverse/onebot-11)\n\n<!-- end elevator-pitch -->\n\n## \ud83d\udcdc \u5f00\u6e90\u8bb8\u53ef\n\n\u672c\u9879\u76ee\u4f7f\u7528\u53cc\u8bb8\u53ef\u8bc1\u3002\n\n[docs](https://github.com/Meloland/melobot/tree/main/docs) \u76ee\u5f55\u5185\u6240\u6709\u5185\u5bb9\u5728 CC-BY-SA-4.0 \u8bb8\u53ef\u4e0b\u53d1\u884c\u3002\n\n<a href=\"http://creativecommons.org/licenses/by-sa/4.0/\" rel=\"nofollow\"><img src=\"https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/by-sa.svg\" style=\"width: 150px\"></a>\n\n\u6b64\u90e8\u5206\u7248\u6743\u4e3b\u4f53\u4e3a\uff1a\n\n> **melobot \u6587\u6863\u7684\u6240\u6709\u8d21\u732e\u8005**\n\n[docs](https://github.com/Meloland/melobot/tree/main/docs) \u76ee\u5f55\u5916\u6240\u6709\u5185\u5bb9\u5728 BSD 3-Clause \u8bb8\u53ef\u4e0b\u53d1\u884c\u3002\n\n<a href=\"https://opensource.org/license/bsd-3-clause\"><img src=\"https://upload.wikimedia.org/wikipedia/commons/d/d5/License_icon-bsd-88x31.svg\" style=\"width: 150px\"></a>\n\n\u6b64\u90e8\u5206\u7248\u6743\u4e3b\u4f53\u4e3a\uff1a\n\n> **melobot \u9879\u76ee\u7684\u6240\u6709\u8d21\u732e\u8005\uff08\u6b64\u5904\u4e0d\u5305\u542b\u53ea\u5bf9\u6587\u6863\u6709\u8d21\u732e\u7684\uff09**\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "A bot framework with session control and plugin-supported.",
"version": "2.6.5",
"project_urls": {
"Documentation": "https://docs.melobot.org",
"Homepage": "https://github.com/Meloland/melobot",
"Issues": "https://github.com/Meloland/melobot/issues",
"Repository": "https://github.com/Meloland/melobot.git"
},
"split_keywords": [
"qq",
" qq bot",
" onebot",
" bot framework",
" asyncio",
" coroutine",
" concurrency"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1e004640e22e476be246a2548153ed5a302ef5c192a56b831f7f0e52aace8c45",
"md5": "29f337d847a29a98e58afd8ddbfc28f5",
"sha256": "72c0ce6a5f80c81784488b2c98fe72b2ef8a2339747ec792588f4196108cfae8"
},
"downloads": -1,
"filename": "melobot-2.6.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "29f337d847a29a98e58afd8ddbfc28f5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 92846,
"upload_time": "2024-05-01T10:00:41",
"upload_time_iso_8601": "2024-05-01T10:00:41.369268Z",
"url": "https://files.pythonhosted.org/packages/1e/00/4640e22e476be246a2548153ed5a302ef5c192a56b831f7f0e52aace8c45/melobot-2.6.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6dd35f889c444d3238de70939ea8df5a6241e738449bd0c71a8bd4f948d943b8",
"md5": "4dff4aa64de0f230779c0018f050d078",
"sha256": "8c5e17ac00ddcbba211209eeb9834fbe15b78c00fa677a46a1322c9aaf32b3ec"
},
"downloads": -1,
"filename": "melobot-2.6.5.tar.gz",
"has_sig": false,
"md5_digest": "4dff4aa64de0f230779c0018f050d078",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 80269,
"upload_time": "2024-05-01T10:00:43",
"upload_time_iso_8601": "2024-05-01T10:00:43.369157Z",
"url": "https://files.pythonhosted.org/packages/6d/d3/5f889c444d3238de70939ea8df5a6241e738449bd0c71a8bd4f948d943b8/melobot-2.6.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-01 10:00:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Meloland",
"github_project": "melobot",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "melobot"
}