<center>
<img src="logo.png" width="100"/>
</center>
<center>
<h1>beetle (甲壳虫) </h1>
</center>
<p align="center">
<a style="text-decoration:none">
<img alt="Static Badge" src="https://img.shields.io/badge/version-0.0.1-blue">
</a>
<a style="text-decoration:none">
<img src="https://img.shields.io/badge/License-MIT-blue" alt="MIT"/>
</a>
<a style="text-decoration:none">
<img src="https://img.shields.io/badge/Platform-Win32%20|%20Linux%20|%20macOS-blue" alt="Platform Win32 | Linux | macOS"/>
</a>
</p>
<p align="center">
<a href="" target="_blank">
<img alt="Static Badge" src="https://img.shields.io/badge/github-blue?logo=github&logoColor=f7cb4f">
</a>
<a href="" target="_blank">
<img alt="Static Badge" src="https://img.shields.io/badge/gitee-blue?logo=gitee&logoColor=f7cb4f">
</a>
</p>
# 简介
`beetle` 是一个PyQt和Pyside项目开发框架。可以帮助你快速的创建、运行和编译项目,
并且还包含一些辅助开发工具来提高开发效率。
`fbs` 是一个另外一个框架, 它为打包、创建安装程序和对应用程序进行签名提供了强大的环境。 但是, `fbs`的开源版本支持的python版本为3.6,
以至于python的新特性,以及很多更新版本的包和模块都无法使用。
`beetle` 想解决这些问题,并提供了很多新的特性。
还是要感谢 `fbs`, 它还是为PyQt和Pyside项目开发提供了很多的遍历, `beetle` 也在很多方面借鉴了 `fbs`。
# 开发计划
开发一个工具`beetle`, 类似于fbs,预计具备如下功能:
- [x] template_list 资源库中的项目模板列表
- [x] update_template 从 Beetle 的官方项目模板库更新到本地项目模板库
- [x] add_template 向 Beetle 添加新的客户定义的项目模板
- [x] delete_template 删除 Beetle 的客户自定义项目模板。
- [x] startproject 新建、初始化项目
- [ ] ui文件转py文件
- [ ] 生成国际化(i18n)所需的ts文件
- [ ] ts文件转qm
- [ ] qrc 文件更新
- [ ] qrc 文件转py文件
- [x] run 从源代码运行应用
- [x] freeze, 将代码编译为独立的可执行文件(可选 `PyInstaller` 或 `nuitka`)
- [x] installer, 为应用创建安装程序
- [ ] test, 执行自动化测试(基于pytest)
- [x] clean, 删除以前的生成输出
# 安装
beetle 可以从 PyPi 通过 pip 安装:
```commandline
pip install qbeetle
```
# 文档
请看 beetle [使用文档](https://beetle-tool.github.io/beetle-doc/)
Raw data
{
"_id": null,
"home_page": "https://beetle-tool.github.io/beetle-doc/",
"name": "qbeetle",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "PyQt5 PyQt6 PySide2 PySide6",
"author": "Danqing Li",
"author_email": "492847382@qq.com",
"download_url": "https://files.pythonhosted.org/packages/31/91/82973ea1215a0bfcfe00b4997ba3ce0a7f6965df3adef12c99b38323149c/qbeetle-0.0.2.tar.gz",
"platform": "MacOS",
"description": "\r\n<center>\r\n <img src=\"logo.png\" width=\"100\"/>\r\n</center>\r\n\r\n<center>\r\n<h1>beetle (\u7532\u58f3\u866b) </h1>\r\n</center>\r\n\r\n\r\n<p align=\"center\">\r\n <a style=\"text-decoration:none\">\r\n <img alt=\"Static Badge\" src=\"https://img.shields.io/badge/version-0.0.1-blue\">\r\n </a>\r\n\r\n <a style=\"text-decoration:none\">\r\n <img src=\"https://img.shields.io/badge/License-MIT-blue\" alt=\"MIT\"/>\r\n </a>\r\n\r\n <a style=\"text-decoration:none\">\r\n <img src=\"https://img.shields.io/badge/Platform-Win32%20|%20Linux%20|%20macOS-blue\" alt=\"Platform Win32 | Linux | macOS\"/>\r\n </a>\r\n</p>\r\n\r\n<p align=\"center\">\r\n <a href=\"\" target=\"_blank\">\r\n <img alt=\"Static Badge\" src=\"https://img.shields.io/badge/github-blue?logo=github&logoColor=f7cb4f\">\r\n </a>\r\n\r\n <a href=\"\" target=\"_blank\">\r\n <img alt=\"Static Badge\" src=\"https://img.shields.io/badge/gitee-blue?logo=gitee&logoColor=f7cb4f\">\r\n </a>\r\n</p>\r\n\r\n# \u7b80\u4ecb\r\n\r\n`beetle` \u662f\u4e00\u4e2aPyQt\u548cPyside\u9879\u76ee\u5f00\u53d1\u6846\u67b6\u3002\u53ef\u4ee5\u5e2e\u52a9\u4f60\u5feb\u901f\u7684\u521b\u5efa\u3001\u8fd0\u884c\u548c\u7f16\u8bd1\u9879\u76ee\uff0c\r\n\u5e76\u4e14\u8fd8\u5305\u542b\u4e00\u4e9b\u8f85\u52a9\u5f00\u53d1\u5de5\u5177\u6765\u63d0\u9ad8\u5f00\u53d1\u6548\u7387\u3002\r\n\r\n`fbs` \u662f\u4e00\u4e2a\u53e6\u5916\u4e00\u4e2a\u6846\u67b6\uff0c \u5b83\u4e3a\u6253\u5305\u3001\u521b\u5efa\u5b89\u88c5\u7a0b\u5e8f\u548c\u5bf9\u5e94\u7528\u7a0b\u5e8f\u8fdb\u884c\u7b7e\u540d\u63d0\u4f9b\u4e86\u5f3a\u5927\u7684\u73af\u5883\u3002 \u4f46\u662f\uff0c `fbs`\u7684\u5f00\u6e90\u7248\u672c\u652f\u6301\u7684python\u7248\u672c\u4e3a3.6\uff0c \r\n\u4ee5\u81f3\u4e8epython\u7684\u65b0\u7279\u6027\uff0c\u4ee5\u53ca\u5f88\u591a\u66f4\u65b0\u7248\u672c\u7684\u5305\u548c\u6a21\u5757\u90fd\u65e0\u6cd5\u4f7f\u7528\u3002 \r\n\r\n`beetle` \u60f3\u89e3\u51b3\u8fd9\u4e9b\u95ee\u9898\uff0c\u5e76\u63d0\u4f9b\u4e86\u5f88\u591a\u65b0\u7684\u7279\u6027\u3002\r\n\r\n\u8fd8\u662f\u8981\u611f\u8c22 `fbs`\uff0c \u5b83\u8fd8\u662f\u4e3aPyQt\u548cPyside\u9879\u76ee\u5f00\u53d1\u63d0\u4f9b\u4e86\u5f88\u591a\u7684\u904d\u5386\uff0c `beetle` \u4e5f\u5728\u5f88\u591a\u65b9\u9762\u501f\u9274\u4e86 `fbs`\u3002\r\n\r\n# \u5f00\u53d1\u8ba1\u5212\r\n\r\n\u5f00\u53d1\u4e00\u4e2a\u5de5\u5177`beetle`, \u7c7b\u4f3c\u4e8efbs\uff0c\u9884\u8ba1\u5177\u5907\u5982\u4e0b\u529f\u80fd:\r\n\r\n- [x] template_list \u8d44\u6e90\u5e93\u4e2d\u7684\u9879\u76ee\u6a21\u677f\u5217\u8868\r\n- [x] update_template \u4ece Beetle \u7684\u5b98\u65b9\u9879\u76ee\u6a21\u677f\u5e93\u66f4\u65b0\u5230\u672c\u5730\u9879\u76ee\u6a21\u677f\u5e93\r\n- [x] add_template \u5411 Beetle \u6dfb\u52a0\u65b0\u7684\u5ba2\u6237\u5b9a\u4e49\u7684\u9879\u76ee\u6a21\u677f\r\n- [x] delete_template \u5220\u9664 Beetle \u7684\u5ba2\u6237\u81ea\u5b9a\u4e49\u9879\u76ee\u6a21\u677f\u3002\r\n- [x] startproject \u65b0\u5efa\u3001\u521d\u59cb\u5316\u9879\u76ee\r\n- [ ] ui\u6587\u4ef6\u8f6cpy\u6587\u4ef6\r\n- [ ] \u751f\u6210\u56fd\u9645\u5316\uff08i18n\uff09\u6240\u9700\u7684ts\u6587\u4ef6\r\n- [ ] ts\u6587\u4ef6\u8f6cqm\r\n- [ ] qrc \u6587\u4ef6\u66f4\u65b0\r\n- [ ] qrc \u6587\u4ef6\u8f6cpy\u6587\u4ef6\r\n- [x] run \u4ece\u6e90\u4ee3\u7801\u8fd0\u884c\u5e94\u7528\r\n- [x] freeze, \u5c06\u4ee3\u7801\u7f16\u8bd1\u4e3a\u72ec\u7acb\u7684\u53ef\u6267\u884c\u6587\u4ef6(\u53ef\u9009 `PyInstaller` \u6216 `nuitka`)\r\n- [x] installer, \u4e3a\u5e94\u7528\u521b\u5efa\u5b89\u88c5\u7a0b\u5e8f\r\n- [ ] test, \u6267\u884c\u81ea\u52a8\u5316\u6d4b\u8bd5(\u57fa\u4e8epytest)\r\n- [x] clean, \u5220\u9664\u4ee5\u524d\u7684\u751f\u6210\u8f93\u51fa\r\n\r\n\r\n\r\n# \u5b89\u88c5\r\n\r\nbeetle \u53ef\u4ee5\u4ece PyPi \u901a\u8fc7 pip \u5b89\u88c5\uff1a\r\n\r\n```commandline\r\npip install qbeetle\r\n```\r\n\r\n\r\n# \u6587\u6863\r\n\r\n\u8bf7\u770b beetle [\u4f7f\u7528\u6587\u6863](https://beetle-tool.github.io/beetle-doc/)\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "",
"summary": "Create cross-platform desktop applications with Python and Qt",
"version": "0.0.2",
"project_urls": {
"Homepage": "https://beetle-tool.github.io/beetle-doc/"
},
"split_keywords": [
"pyqt5",
"pyqt6",
"pyside2",
"pyside6"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1b99f118126222aa6c045b1b1fd88fe6adb85e6a88a7846024688224fd7b8b98",
"md5": "1c63cb2e927a3e2ce1998858021722c5",
"sha256": "5dae9e96567a76b27dca14db9cb46f62a1a5e5d337fce258eda48cdd6b686d4d"
},
"downloads": -1,
"filename": "qbeetle-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1c63cb2e927a3e2ce1998858021722c5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 108044,
"upload_time": "2024-02-04T09:28:22",
"upload_time_iso_8601": "2024-02-04T09:28:22.305184Z",
"url": "https://files.pythonhosted.org/packages/1b/99/f118126222aa6c045b1b1fd88fe6adb85e6a88a7846024688224fd7b8b98/qbeetle-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "319182973ea1215a0bfcfe00b4997ba3ce0a7f6965df3adef12c99b38323149c",
"md5": "cd99eedc4d330ece5cf565de08782172",
"sha256": "57a4f664fa3fc4945c46801332f2306d23af95e5a8246d30552debedba0596f6"
},
"downloads": -1,
"filename": "qbeetle-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "cd99eedc4d330ece5cf565de08782172",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 71704,
"upload_time": "2024-02-04T09:28:24",
"upload_time_iso_8601": "2024-02-04T09:28:24.134915Z",
"url": "https://files.pythonhosted.org/packages/31/91/82973ea1215a0bfcfe00b4997ba3ce0a7f6965df3adef12c99b38323149c/qbeetle-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-04 09:28:24",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "qbeetle"
}