ErisPulse 2.2.0.dev2__tar.gz → 2.2.1.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/tools/update-api-docs.py +18 -16
  2. erispulse-2.2.1.dev0/CONTRIBUTING.md +43 -0
  3. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/PKG-INFO +32 -52
  4. erispulse-2.2.1.dev0/README.md +118 -0
  5. erispulse-2.2.1.dev0/devs/test_cmd.py +433 -0
  6. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/AIDocs/ErisPulse-AdapterDev.md +1352 -587
  7. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/AIDocs/ErisPulse-Core.md +1376 -767
  8. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/AIDocs/ErisPulse-Full.md +1381 -763
  9. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/AIDocs/ErisPulse-ModuleDev.md +1387 -769
  10. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/CHANGELOG.md +61 -1
  11. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/Development/Adapter.md +2 -2
  12. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/Development/Module.md +11 -2
  13. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/PlatformFeatures.md +5 -162
  14. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/UseCore.md +275 -21
  15. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/Event/__init__.md +2 -2
  16. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/Event/base.md +25 -24
  17. erispulse-2.2.1.dev0/docs/api/ErisPulse/Core/Event/command.md +154 -0
  18. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/Event/exceptions.md +10 -10
  19. erispulse-2.2.1.dev0/docs/api/ErisPulse/Core/Event/message.md +101 -0
  20. erispulse-2.2.1.dev0/docs/api/ErisPulse/Core/Event/meta.md +100 -0
  21. erispulse-2.2.1.dev0/docs/api/ErisPulse/Core/Event/notice.md +118 -0
  22. erispulse-2.2.1.dev0/docs/api/ErisPulse/Core/Event/request.md +82 -0
  23. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/adapter.md +74 -74
  24. erispulse-2.2.1.dev0/docs/api/ErisPulse/Core/config.md +44 -0
  25. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/env.md +2 -2
  26. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/erispulse_config.md +2 -2
  27. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/exceptions.md +27 -2
  28. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/logger.md +33 -33
  29. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/module.md +31 -31
  30. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/module_registry.md +40 -40
  31. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/router.md +28 -28
  32. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/Core/storage.md +64 -64
  33. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/__init__.md +58 -58
  34. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/api/ErisPulse/__main__.md +133 -133
  35. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/pyproject.toml +2 -2
  36. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/Event/base.py +20 -10
  37. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/Event/command.py +163 -3
  38. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/Event/message.py +36 -0
  39. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/Event/meta.py +36 -1
  40. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/Event/notice.py +45 -0
  41. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/Event/request.py +27 -0
  42. erispulse-2.2.0.dev2/README.md +0 -138
  43. erispulse-2.2.0.dev2/devs/test_cmd.py +0 -242
  44. erispulse-2.2.0.dev2/docs/api/ErisPulse/Core/Event/command.md +0 -20
  45. erispulse-2.2.0.dev2/docs/api/ErisPulse/Core/Event/message.md +0 -20
  46. erispulse-2.2.0.dev2/docs/api/ErisPulse/Core/Event/meta.md +0 -19
  47. erispulse-2.2.0.dev2/docs/api/ErisPulse/Core/Event/notice.md +0 -19
  48. erispulse-2.2.0.dev2/docs/api/ErisPulse/Core/Event/request.md +0 -19
  49. erispulse-2.2.0.dev2/docs/api/ErisPulse/Core/config.md +0 -17
  50. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  51. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/ISSUE_TEMPLATE/module_submission.md +0 -0
  52. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  53. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/assets/docs/install_pip.gif +0 -0
  54. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/assets/erispulse_logo.png +0 -0
  55. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/scripts/update_packages.py +0 -0
  56. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/tools/merge_md.py +0 -0
  57. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/workflows/auto-tag-release.yml +0 -0
  58. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/workflows/auto-update-packages.yml +0 -0
  59. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.github/workflows/pypi-publish.yml +0 -0
  60. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.gitignore +0 -0
  61. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.python-version +0 -0
  62. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/.worker/worker.js +0 -0
  63. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/CODE_OF_CONDUCT.md +0 -0
  64. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/LICENSE +0 -0
  65. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/SECURITY.md +0 -0
  66. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/devs/test.py +0 -0
  67. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/devs/test_adapter.py +0 -0
  68. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/devs/test_event.py +0 -0
  69. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/devs/test_files/test.docx +0 -0
  70. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/devs/test_files/test.jpg +0 -0
  71. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/devs/test_files/test.mp4 +0 -0
  72. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/AIModuleGeneration.md +0 -0
  73. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/AdapterStandards/APIResponse.md +0 -0
  74. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/AdapterStandards/EventConversion.md +0 -0
  75. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/AdapterStandards/README.md +0 -0
  76. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/CLI.md +0 -0
  77. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/Development/CLI.md +0 -0
  78. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/Development/README.md +0 -0
  79. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/StyleGuide/DocstringSpec.md +0 -0
  80. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/StyleGuide/README.md +0 -0
  81. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/docs/quick-start.md +0 -0
  82. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-adapter/LICENSE +0 -0
  83. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-adapter/MyAdapter/Core.py +0 -0
  84. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-adapter/MyAdapter/__init__.py +0 -0
  85. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-adapter/README.md +0 -0
  86. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-adapter/pyproject.toml +0 -0
  87. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-cli-module/LICENSE +0 -0
  88. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-cli-module/README.md +0 -0
  89. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-cli-module/my_cli_module/__init__.py +0 -0
  90. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-cli-module/my_cli_module/cli.py +0 -0
  91. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-cli-module/pyproject.toml +0 -0
  92. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-module/LICENSE +0 -0
  93. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-module/MyModule/Core.py +0 -0
  94. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-module/MyModule/__init__.py +0 -0
  95. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-module/README.md +0 -0
  96. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/examples/example-module/pyproject.toml +0 -0
  97. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/packages.json +0 -0
  98. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/scripts/install/install.ps1 +0 -0
  99. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/scripts/install/install.sh +0 -0
  100. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/Event/__init__.py +0 -0
  101. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/Event/exceptions.py +0 -0
  102. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/__init__.py +0 -0
  103. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/adapter.py +0 -0
  104. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/config.py +0 -0
  105. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/env.py +0 -0
  106. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/erispulse_config.py +0 -0
  107. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/exceptions.py +0 -0
  108. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/logger.py +0 -0
  109. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/module.py +0 -0
  110. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/module_registry.py +0 -0
  111. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/router.py +0 -0
  112. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/Core/storage.py +0 -0
  113. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/__init__.py +0 -0
  114. {erispulse-2.2.0.dev2 → erispulse-2.2.1.dev0}/src/ErisPulse/__main__.py +0 -0
@@ -117,11 +117,9 @@ def parse_python_file(file_path: str) -> Tuple[Optional[str], List[Dict], List[D
117
117
  # 处理类定义
118
118
  if isinstance(node, ast.ClassDef):
119
119
  class_doc = ast.get_docstring(node)
120
- processed_class_doc = process_docstring(class_doc) if class_doc else None
120
+ processed_class_doc = process_docstring(class_doc) if class_doc else ""
121
121
 
122
- if processed_class_doc is None:
123
- continue
124
-
122
+ # 不管类有没有文档,都要处理其中的方法
125
123
  methods = []
126
124
  # 提取类方法
127
125
  for item in node.body:
@@ -129,7 +127,7 @@ def parse_python_file(file_path: str) -> Tuple[Optional[str], List[Dict], List[D
129
127
  method_doc = ast.get_docstring(item)
130
128
  processed_method_doc = process_docstring(method_doc) if method_doc else None
131
129
 
132
- if processed_method_doc:
130
+ if processed_method_doc: # 只有方法有文档才添加
133
131
  # 获取函数签名
134
132
  args = []
135
133
  defaults = dict(zip([arg.arg for arg in item.args.args][-len(item.args.defaults):], item.args.defaults)) if item.args.defaults else {}
@@ -159,12 +157,14 @@ def parse_python_file(file_path: str) -> Tuple[Optional[str], List[Dict], List[D
159
157
  bases = [ast.unparse(base) for base in node.bases] if node.bases else []
160
158
  class_signature = f"class {node.name}({', '.join(bases)})" if bases else f"class {node.name}"
161
159
 
162
- classes.append({
163
- "name": node.name,
164
- "signature": class_signature,
165
- "doc": processed_class_doc,
166
- "methods": methods
167
- })
160
+ # 只有类有文档或者有方法时才添加类
161
+ if processed_class_doc or methods:
162
+ classes.append({
163
+ "name": node.name,
164
+ "signature": class_signature,
165
+ "doc": processed_class_doc,
166
+ "methods": methods
167
+ })
168
168
 
169
169
  # 处理函数定义
170
170
  elif isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)):
@@ -243,11 +243,13 @@ def generate_markdown(module_path: str, module_doc: Optional[str],
243
243
  if classes:
244
244
  content.append("## 类列表\n")
245
245
  for cls in classes:
246
+ # 如果类没有文档,显示默认信息
247
+ class_doc = cls['doc'] if cls['doc'] else f"{cls['name']} 类提供相关功能。"
246
248
  content.append(f"""### `{cls['signature']}`
247
249
 
248
- {cls['doc']}
250
+ {class_doc}
249
251
 
250
- """)
252
+ """)
251
253
 
252
254
  # 类方法
253
255
  if cls["methods"]:
@@ -256,10 +258,10 @@ def generate_markdown(module_path: str, module_doc: Optional[str],
256
258
  async_marker = "async " if method["is_async"] else ""
257
259
  content.append(f"""##### {async_marker}`{method['signature']}`
258
260
 
259
- {method['doc']}
261
+ {method['doc']}
260
262
 
261
- ---
262
- """)
263
+ ---
264
+ """)
263
265
 
264
266
  # 文档尾部
265
267
  content.append(f"<sub>文档最后更新于 {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}</sub>")
@@ -0,0 +1,43 @@
1
+ # 项目贡献指南
2
+
3
+ ## 分支管理规范
4
+
5
+ ### 分支结构
6
+ - **main**: 主分支,存放稳定可发布的代码
7
+ - **Develop/v2**: 开发主分支,所有功能分支最终合并至此
8
+ - **Pre-Release/v2**: 预发布分支,用于版本发布前的测试
9
+ - **feature/***: 功能开发分支,按功能命名
10
+ - **Archive/v1**: 归档分支,存放旧版本代码
11
+
12
+ ## 贡献流程
13
+
14
+ 1. **Fork仓库**
15
+ - 首先fork主仓库到您的个人账户
16
+
17
+ 2. **创建个人分支**
18
+ - 从`Develop/v2`创建您的功能分支,命名规范:
19
+ - `feature/描述性名称` (如`feature/wsu2059q`) -> 可为长期的功能开发/修复分支
20
+
21
+ 3. **开发工作**
22
+ - 在您的功能分支上进行开发
23
+ - 保持提交信息清晰明确
24
+ - 提交前确保已经在ChangeLog中添加描述
25
+ - 定期从`Develop/v2`拉取更新以避免冲突
26
+
27
+ 4. **提交Pull Request**
28
+ - 开发完成后,向`Develop/v2`分支提交PR
29
+ - 在PR的模板中勾选对应选项 或 添加一些详情信息
30
+
31
+ 5. **合并到Develop/v2**
32
+ - 审查通过后,代码将被合并到`Develop/v2`
33
+
34
+ 6. **发布流程**
35
+ - 版本更新, `Develop/v2` 会随更新合并到 `Pre-Release/v2` 发布并进行测试
36
+ - 测试通过后,代码将最终发布到`main`分支
37
+
38
+ ## 注意事项
39
+
40
+ - 请勿直接向`main`或`Pre-Release/v2`分支提交代码
41
+ - 如有疑问,请联系 `support@erisdev.com` 或者 添加我们的社交讨论群: 云湖群ID -> 635409929
42
+
43
+ 感谢您的贡献!
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ErisPulse
3
- Version: 2.2.0.dev2
3
+ Version: 2.2.1.dev0
4
4
  Summary: ErisPulse 是一个模块化、可扩展的异步 Python SDK 框架,主要用于构建高效、可维护的机器人应用程序。
5
5
  Author-email: "艾莉丝·格雷拉特(WSu2059)" <wsu2059@qq.com>
6
6
  License: MIT License
@@ -52,7 +52,7 @@ Classifier: Programming Language :: Python :: 3.11
52
52
  Classifier: Programming Language :: Python :: 3.12
53
53
  Classifier: Programming Language :: Python :: 3.13
54
54
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
55
- Requires-Python: >=3.8
55
+ Requires-Python: >=3.10
56
56
  Requires-Dist: aiohttp
57
57
  Requires-Dist: colorama
58
58
  Requires-Dist: fastapi>=0.116.1
@@ -71,43 +71,31 @@ Description-Content-Type: text/markdown
71
71
 
72
72
  ![ErisPulse Logo](.github/assets/erispulse_logo.png)
73
73
 
74
- [![FramerOrg](https://img.shields.io/badge/合作伙伴-FramerOrg-blue?style=flat-square)](https://github.com/FramerOrg)
74
+ [![PyPI](https://img.shields.io/pypi/v/ErisPulse?style=flat-square)](https://pypi.org/project/ErisPulse/)
75
75
  [![Python Versions](https://img.shields.io/pypi/pyversions/ErisPulse?style=flat-square)](https://pypi.org/project/ErisPulse/)
76
+ [![Socket Badge](https://socket.dev/api/badge/pypi/package/ErisPulse/latest)](https://socket.dev/pypi/package/ErisPulse)
76
77
 
77
- ## 文档站
78
+ ## 文档资源
78
79
 
79
- [![Docs-Main](https://img.shields.io/badge/docs-main_site-blue?style=flat-square)](https://www.erisdev.com/#docs)
80
- [![Docs-CF Pages](https://img.shields.io/badge/docs-cloudflare-blue?style=flat-square)](https://erispulse.pages.dev/#docs)
81
- [![Docs-GitHub](https://img.shields.io/badge/docs-github-blue?style=flat-square)](https://erispulse.github.io/#docs)
82
- [![Docs-Netlify](https://img.shields.io/badge/docs-netlify-blue?style=flat-square)](https://erispulse.netlify.app/#docs)
83
-
84
- ## 模块市场
85
-
86
- [![Market-Main](https://img.shields.io/badge/market-erisdev-blue?style=flat-square)](https://www.erisdev.com/#market)
87
- [![Market-CF Pages](https://img.shields.io/badge/market-cloudflare-blue?style=flat-square)](https://erispulse.pages.dev/#market)
88
- [![Market-GitHub](https://img.shields.io/badge/market-github-blue?style=flat-square)](https://erispulse.github.io/#market)
89
- [![Market-Netlify](https://img.shields.io/badge/market-netlify-blue?style=flat-square)](https://erispulse.netlify.app/#market)
90
-
91
- ---
80
+ | 平台 | 主站点 | 备用站点 |
81
+ |------|--------|---------|
82
+ | 文档 | [erisdev.com](https://www.erisdev.com/#docs) | [Cloudflare](https://erispulse.pages.dev/#docs) • [GitHub](https://erispulse.github.io/#docs) • [Netlify](https://erispulse.netlify.app/#docs) |
83
+ | 模块市场 | [erisdev.com](https://www.erisdev.com/#market) | [Cloudflare](https://erispulse.pages.dev/#market) • [GitHub](https://erispulse.github.io/#market) • [Netlify](https://erispulse.netlify.app/#market) |
92
84
 
93
85
  ## 核心特性
94
86
 
95
87
  | 特性 | 描述 |
96
88
  |:-----|:-----|
97
- | **异步架构** | 完全基于 async/await 的异步设计 |
98
- | **模块化系统** | 灵活的插件和模块管理 |
99
- | **热重载** | 开发时自动重载,无需重启 |
100
- | **错误管理** | 统一的错误处理和报告系统 |
101
- | **配置管理** | 灵活的配置存储和访问 |
102
-
103
- ---
89
+ | 异步架构 | 完全基于 async/await 的异步设计 |
90
+ | 模块化系统 | 灵活的插件和模块管理 |
91
+ | 热重载 | 开发时自动重载,无需重启 |
92
+ | 错误管理 | 统一的错误处理和报告系统 |
93
+ | 配置管理 | 灵活的配置存储和访问 |
104
94
 
105
95
  ## 快速开始
106
96
 
107
97
  ### 一键安装脚本
108
98
 
109
- 我们提供了一键安装脚本,支持所有主流平台:
110
-
111
99
  #### Windows (PowerShell):
112
100
 
113
101
  ```powershell
@@ -120,30 +108,30 @@ irm https://get.erisdev.com/install.ps1 -OutFile install.ps1; powershell -Execut
120
108
  curl -sSL https://get.erisdev.com/install.sh | tee install.sh >/dev/null && chmod +x install.sh && ./install.sh
121
109
  ```
122
110
 
123
- ---
111
+ ## 开发与测试
124
112
 
125
- ## 测试与开发
126
-
127
- ### 1. 克隆项目并进入目录
113
+ ### 1. 克隆项目
128
114
 
129
115
  ```bash
130
116
  git clone -b Develop/v2 https://github.com/ErisPulse/ErisPulse.git
131
117
  cd ErisPulse
132
118
  ```
133
119
 
134
- ### 2. 使用 `uv` 同步项目环境
120
+ ### 2. 环境搭建
121
+
122
+ 使用 uv 同步项目环境:
135
123
 
136
124
  ```bash
137
125
  uv sync
138
126
 
139
- # 启动虚拟环境
140
- source .venv/bin/activate
127
+ # 激活虚拟环境
128
+ source .venv/bin/activate # macOS/Linux
141
129
  # Windows: .venv\Scripts\activate
142
130
  ```
143
131
 
144
- > `ErisPulse` 目前正在使用 `python3.13` 进行开发(所以您同步环境时会自动安装 `3.13`),但也可以使用其他版本(版本不应低于 `3.10`)。
132
+ 说明: ErisPulse 使用 Python 3.13 开发,但兼容 Python 3.10+
145
133
 
146
- ### 3. 安装依赖并开始
134
+ ### 3. 安装依赖
147
135
 
148
136
  ```bash
149
137
  uv pip install -e .
@@ -161,7 +149,7 @@ python -c "from ErisPulse import sdk; sdk.init()"
161
149
 
162
150
  ### 5. 运行测试
163
151
 
164
- 我们提供了一个交互式测试脚本,可以帮助您快速验证SDK功能:
152
+ 我们提供了一个交互式测试脚本,可以帮助您快速验证SDK功能(于开发中):
165
153
 
166
154
  ```bash
167
155
  uv run devs/test.py
@@ -174,34 +162,26 @@ uv run devs/test.py
174
162
  - 工具函数测试
175
163
  - 适配器功能测试
176
164
 
177
- ### 6. 开发模式 (热重载)
178
-
179
- ```bash
180
- epsdk run your_script.py --reload
181
- ```
182
-
183
- ---
184
-
185
165
  ## 贡献指南
186
166
 
187
167
  我们欢迎各种形式的贡献,包括但不限于:
188
168
 
189
- 1. **报告问题**
169
+ 1. 报告问题
190
170
  在 [GitHub Issues](https://github.com/ErisPulse/ErisPulse/issues) 提交bug报告
191
171
 
192
- 2. **功能请求**
172
+ 2. 功能请求
193
173
  通过 [社区讨论](https://github.com/ErisPulse/ErisPulse/discussions) 提出新想法
194
174
 
195
- 3. **代码贡献**
196
- 提交 Pull Request 前请阅读我们的 [代码风格](docs/StyleGuide/DocstringSpec.md)
175
+ 3. 代码贡献
176
+ 提交 Pull Request 前请阅读我们的 [代码风格](docs/StyleGuide/DocstringSpec.md) 以及 [贡献指南](CONTRIBUTING.md)
197
177
 
198
- 4. **文档改进**
178
+ 4. 文档改进
199
179
  帮助完善文档和示例代码
200
180
 
201
- ---
202
-
203
- [加入社区讨论 →](https://github.com/ErisPulse/ErisPulse/discussions)
181
+ [加入社区讨论](https://github.com/ErisPulse/ErisPulse/discussions)
204
182
 
205
183
  ---
206
184
 
207
185
  [![](https://starchart.cc/ErisPulse/ErisPulse.svg?variant=adaptive)](https://starchart.cc/ErisPulse/ErisPulse)
186
+
187
+
@@ -0,0 +1,118 @@
1
+ # ErisPulse - 异步机器人开发框架
2
+
3
+ ![ErisPulse Logo](.github/assets/erispulse_logo.png)
4
+
5
+ [![PyPI](https://img.shields.io/pypi/v/ErisPulse?style=flat-square)](https://pypi.org/project/ErisPulse/)
6
+ [![Python Versions](https://img.shields.io/pypi/pyversions/ErisPulse?style=flat-square)](https://pypi.org/project/ErisPulse/)
7
+ [![Socket Badge](https://socket.dev/api/badge/pypi/package/ErisPulse/latest)](https://socket.dev/pypi/package/ErisPulse)
8
+
9
+ ## 文档资源
10
+
11
+ | 平台 | 主站点 | 备用站点 |
12
+ |------|--------|---------|
13
+ | 文档 | [erisdev.com](https://www.erisdev.com/#docs) | [Cloudflare](https://erispulse.pages.dev/#docs) • [GitHub](https://erispulse.github.io/#docs) • [Netlify](https://erispulse.netlify.app/#docs) |
14
+ | 模块市场 | [erisdev.com](https://www.erisdev.com/#market) | [Cloudflare](https://erispulse.pages.dev/#market) • [GitHub](https://erispulse.github.io/#market) • [Netlify](https://erispulse.netlify.app/#market) |
15
+
16
+ ## 核心特性
17
+
18
+ | 特性 | 描述 |
19
+ |:-----|:-----|
20
+ | 异步架构 | 完全基于 async/await 的异步设计 |
21
+ | 模块化系统 | 灵活的插件和模块管理 |
22
+ | 热重载 | 开发时自动重载,无需重启 |
23
+ | 错误管理 | 统一的错误处理和报告系统 |
24
+ | 配置管理 | 灵活的配置存储和访问 |
25
+
26
+ ## 快速开始
27
+
28
+ ### 一键安装脚本
29
+
30
+ #### Windows (PowerShell):
31
+
32
+ ```powershell
33
+ irm https://get.erisdev.com/install.ps1 -OutFile install.ps1; powershell -ExecutionPolicy Bypass -File install.ps1
34
+ ```
35
+
36
+ #### macOS/Linux:
37
+
38
+ ```bash
39
+ curl -sSL https://get.erisdev.com/install.sh | tee install.sh >/dev/null && chmod +x install.sh && ./install.sh
40
+ ```
41
+
42
+ ## 开发与测试
43
+
44
+ ### 1. 克隆项目
45
+
46
+ ```bash
47
+ git clone -b Develop/v2 https://github.com/ErisPulse/ErisPulse.git
48
+ cd ErisPulse
49
+ ```
50
+
51
+ ### 2. 环境搭建
52
+
53
+ 使用 uv 同步项目环境:
54
+
55
+ ```bash
56
+ uv sync
57
+
58
+ # 激活虚拟环境
59
+ source .venv/bin/activate # macOS/Linux
60
+ # Windows: .venv\Scripts\activate
61
+ ```
62
+
63
+ 说明: ErisPulse 使用 Python 3.13 开发,但兼容 Python 3.10+
64
+
65
+ ### 3. 安装依赖
66
+
67
+ ```bash
68
+ uv pip install -e .
69
+ ```
70
+
71
+ 这将以"开发模式"安装 SDK,所有本地修改都会立即生效。
72
+
73
+ ### 4. 验证安装
74
+
75
+ 运行以下命令确认 SDK 正常加载:
76
+
77
+ ```bash
78
+ python -c "from ErisPulse import sdk; sdk.init()"
79
+ ```
80
+
81
+ ### 5. 运行测试
82
+
83
+ 我们提供了一个交互式测试脚本,可以帮助您快速验证SDK功能(于开发中):
84
+
85
+ ```bash
86
+ uv run devs/test.py
87
+ ```
88
+
89
+ 测试功能包括:
90
+ - 日志系统测试
91
+ - 环境配置测试
92
+ - 错误管理测试
93
+ - 工具函数测试
94
+ - 适配器功能测试
95
+
96
+ ## 贡献指南
97
+
98
+ 我们欢迎各种形式的贡献,包括但不限于:
99
+
100
+ 1. 报告问题
101
+ 在 [GitHub Issues](https://github.com/ErisPulse/ErisPulse/issues) 提交bug报告
102
+
103
+ 2. 功能请求
104
+ 通过 [社区讨论](https://github.com/ErisPulse/ErisPulse/discussions) 提出新想法
105
+
106
+ 3. 代码贡献
107
+ 提交 Pull Request 前请阅读我们的 [代码风格](docs/StyleGuide/DocstringSpec.md) 以及 [贡献指南](CONTRIBUTING.md)
108
+
109
+ 4. 文档改进
110
+ 帮助完善文档和示例代码
111
+
112
+ [加入社区讨论](https://github.com/ErisPulse/ErisPulse/discussions)
113
+
114
+ ---
115
+
116
+ [![](https://starchart.cc/ErisPulse/ErisPulse.svg?variant=adaptive)](https://starchart.cc/ErisPulse/ErisPulse)
117
+
118
+