ErisPulse 2.6.1.dev0__tar.gz → 2.6.2.dev1__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.
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/PKG-INFO +53 -57
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/README.md +50 -56
- erispulse-2.6.2.dev1/pyproject.toml +335 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/base.py +2 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/cli.py +1 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/create.py +9 -4
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/init.py +12 -14
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/init.pyi +2 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/install.py +4 -4
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/list.py +16 -11
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/run.py +10 -10
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/run.pyi +1 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/self_update.py +10 -12
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/self_update.pyi +3 -3
- erispulse-2.6.2.dev1/src/ErisPulse/CLI/commands/types.py +543 -0
- erispulse-2.6.2.dev1/src/ErisPulse/CLI/commands/types.pyi +148 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/upgrade.py +7 -8
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/console.pyi +5 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/__init__.py +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/en.py +25 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/ja.py +25 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/ru.py +25 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/zh_cn.py +25 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/zh_tw.py +25 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/registry.py +9 -9
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/registry.pyi +8 -9
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/utils/display.py +9 -8
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/utils/display.pyi +5 -4
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/utils/file_watcher.py +6 -5
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/utils/file_watcher.pyi +1 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/utils/package_manager.py +132 -86
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/utils/package_manager.pyi +43 -29
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/adapter.py +170 -61
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/adapter.pyi +108 -33
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/client.py +1 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/client.pyi +1 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/errors.py +6 -5
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/kv_builder.py +18 -21
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/module.py +4 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/module.pyi +1 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/router.py +7 -6
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/router.pyi +2 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/send_builder.py +9 -11
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/send_builder.pyi +2 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/send_rules.py +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/storage.py +3 -9
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/websocket.py +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/__init__.py +24 -20
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/__init__.pyi +11 -6
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/base.py +9 -10
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/base.pyi +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/command.py +42 -39
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/command.pyi +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/message.py +4 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/message.pyi +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/meta.py +4 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/meta.pyi +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/notice.py +6 -5
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/notice.pyi +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/request.py +4 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/request.pyi +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/session_type.py +61 -48
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/session_type.pyi +11 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/wrapper.py +144 -71
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/wrapper.pyi +86 -38
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/__init__.pyi +20 -9
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/adapter.py +64 -35
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/adapter.pyi +23 -4
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/assets/__init__.py +10 -14
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/assets/__init__.pyi +4 -5
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/client.py +21 -15
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/client.pyi +3 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/config.py +134 -24
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/config.pyi +2 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/constants.py +8 -7
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/constants.pyi +1 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/__init__.py +5 -6
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/lifecycle.py +5 -8
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/lifecycle.pyi +2 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/logger.py +11 -14
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/logger.pyi +3 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/master.py +4 -7
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/master.pyi +4 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/module.py +29 -16
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/module.pyi +10 -4
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/router.py +59 -50
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/router.pyi +8 -9
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/storage.py +70 -65
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/storage.pyi +4 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/__init__.pyi +2 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/finders/adapter.py +7 -6
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/finders/adapter.pyi +6 -6
- erispulse-2.6.2.dev1/src/ErisPulse/finders/bases/finder.py +393 -0
- erispulse-2.6.2.dev1/src/ErisPulse/finders/bases/finder.pyi +66 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/finders/module.py +7 -6
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/finders/module.pyi +6 -6
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/adapter.py +5 -5
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/adapter.pyi +1 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/bases/loader.py +3 -3
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/module.py +22 -29
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/module.pyi +1 -4
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/__init__.py +30 -28
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/__init__.pyi +2 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/config_schema.py +8 -10
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/config_schema.pyi +2 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/exceptions.py +11 -11
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/exceptions.pyi +7 -7
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/frame_config.py +18 -18
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/frame_config.pyi +13 -13
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/hints.py +35 -34
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/hints.pyi +20 -19
- erispulse-2.6.2.dev1/src/ErisPulse/runtime/tasks.py +63 -0
- erispulse-2.6.2.dev1/src/ErisPulse/runtime/tasks.pyi +41 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/sdk.py +29 -27
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/sdk.pyi +7 -6
- erispulse-2.6.1.dev0/pyproject.toml +0 -208
- erispulse-2.6.1.dev0/src/ErisPulse/finders/bases/finder.py +0 -240
- erispulse-2.6.1.dev0/src/ErisPulse/finders/bases/finder.pyi +0 -21
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/.gitignore +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/LICENSE +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/__init__.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/base.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/cli.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/__init__.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/create.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/install.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/language.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/language.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/list.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/list_remote.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/list_remote.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/uninstall.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/uninstall.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/commands/upgrade.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/console.py +1 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/__init__.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/en.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/ja.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/ru.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/zh_cn.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/i18n/locales/zh_tw.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/utils/__init__.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/CLI/utils/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/__init__.py +16 -16
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/errors.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/kv_builder.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/manager.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/manager.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/send_rules.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/storage.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Bases/websocket.pyi +1 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/message_builder.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/Event/message_builder.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/__init__.py +39 -39
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/assets/error.css +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/assets/error.html +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/assets/root.css +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/assets/root.html +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/constants.py +1 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/constants.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/__init__.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/en.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/en.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/ja.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/ja.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/ru.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/ru.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/zh_cn.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/zh_cn.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/zh_tw.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/Core/i18n/locales/zh_tw.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/__init__.py +4 -4
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/__main__.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/__main__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/finders/__init__.py +1 -1
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/finders/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/finders/bases/__init__.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/finders/bases/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/__init__.py +2 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/bases/__init__.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/bases/__init__.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/bases/loader.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/strategy.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/strategy.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/strict.py +2 -2
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/loaders/strict.pyi +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/py.typed +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/context.py +0 -0
- {erispulse-2.6.1.dev0 → erispulse-2.6.2.dev1}/src/ErisPulse/runtime/context.pyi +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ErisPulse
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.2.dev1
|
|
4
4
|
Summary: Event-driven modular async bot framework — write once, deploy to any platform | 事件驱动的模块化异步机器人框架,一次编写,多平台部署
|
|
5
5
|
Project-URL: Homepage, https://github.com/ErisPulse/ErisPulse
|
|
6
6
|
Project-URL: Documentation, https://www.erisdev.com#docs
|
|
@@ -55,8 +55,10 @@ Requires-Dist: toml>=0.10.2
|
|
|
55
55
|
Requires-Dist: uvicorn>=0.30.0
|
|
56
56
|
Requires-Dist: websockets>=12.0
|
|
57
57
|
Provides-Extra: dev
|
|
58
|
+
Requires-Dist: basedpyright>=1.20.0; extra == 'dev'
|
|
58
59
|
Requires-Dist: pyclean>=3.6.0; extra == 'dev'
|
|
59
60
|
Requires-Dist: ruff>=0.1.7; extra == 'dev'
|
|
61
|
+
Requires-Dist: typing-extensions>=4.7.0; (python_version < '3.11') and extra == 'dev'
|
|
60
62
|
Provides-Extra: test
|
|
61
63
|
Requires-Dist: httpx>=0.24.0; extra == 'test'
|
|
62
64
|
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'test'
|
|
@@ -73,11 +75,11 @@ Description-Content-Type: text/markdown
|
|
|
73
75
|
|
|
74
76
|
# ErisPulse
|
|
75
77
|
|
|
76
|
-
**Write once, deploy
|
|
78
|
+
**Write once, deploy on multiple platforms.**
|
|
77
79
|
|
|
78
80
|
An event-driven multi-platform chatbot development framework.
|
|
79
81
|
|
|
80
|
-
Based on the OneBot12 standard interface, write once and deploy
|
|
82
|
+
Based on the OneBot12 standard interface, write once and deploy on multiple platforms. With a flexible plugin system, hot reload support, and a complete developer toolchain, it is suitable for various scenarios from simple chatbots to complex automation systems.
|
|
81
83
|
|
|
82
84
|
<p>
|
|
83
85
|
<a href="https://pypi.org/project/ErisPulse/"><img src="https://img.shields.io/pypi/v/ErisPulse?style=for-the-badge&logo=pypi&logoColor=white" alt="PyPI"></a>
|
|
@@ -113,7 +115,7 @@ Based on the OneBot12 standard interface, write once and deploy across multiple
|
|
|
113
115
|
|
|
114
116
|
### Event-driven Architecture
|
|
115
117
|
|
|
116
|
-
A clear event model based on the OneBot12 standard
|
|
118
|
+
A clear event model based on the OneBot12 standard makes message handling logic more intuitive and efficient
|
|
117
119
|
|
|
118
120
|
</td>
|
|
119
121
|
<td width="33%" align="center" valign="top">
|
|
@@ -123,7 +125,7 @@ A clear event model based on the OneBot12 standard, making message handling logi
|
|
|
123
125
|
|
|
124
126
|
### Cross-platform Compatibility
|
|
125
127
|
|
|
126
|
-
Write a plugin module once and use it
|
|
128
|
+
Write a plugin module once and use it on all platforms, no need to repeat development for different platforms
|
|
127
129
|
|
|
128
130
|
</td>
|
|
129
131
|
<td width="33%" align="center" valign="top">
|
|
@@ -133,7 +135,7 @@ Write a plugin module once and use it across all platforms, without repeating de
|
|
|
133
135
|
|
|
134
136
|
### Modular Design
|
|
135
137
|
|
|
136
|
-
A flexible plugin system, easy to extend and integrate, supports hot-
|
|
138
|
+
A flexible plugin system, easy to extend and integrate, supports hot-plug module management
|
|
137
139
|
|
|
138
140
|
</td>
|
|
139
141
|
</tr>
|
|
@@ -155,25 +157,25 @@ Reload code without restarting during development
|
|
|
155
157
|
|
|
156
158
|
### AI Assistance
|
|
157
159
|
|
|
158
|
-
AI-assisted development
|
|
160
|
+
AI-assisted development allows requirements to be directly translated into usable modules
|
|
159
161
|
|
|
160
162
|
</td>
|
|
161
163
|
<td width="33%" align="center" valign="top">
|
|
162
164
|
<br/>
|
|
163
165
|
|
|
164
|
-
<img src=".github/assets/icon/icon_lightweight.png" width="50" alt="
|
|
166
|
+
<img src=".github/assets/icon/icon_lightweight.png" width="50" alt="Simple and Elegant" />
|
|
165
167
|
|
|
166
|
-
###
|
|
168
|
+
### Simple and Elegant
|
|
167
169
|
|
|
168
|
-
Intuitive API design, making code as light and readable as
|
|
170
|
+
Intuitive API design, making code as light and readable as feathers
|
|
169
171
|
|
|
170
172
|
</td>
|
|
171
173
|
</tr>
|
|
172
174
|
</table>
|
|
173
175
|
|
|
174
|
-
###
|
|
176
|
+
### Chainable Send DSL
|
|
175
177
|
|
|
176
|
-
|
|
178
|
+
A single chain call completes all sending logic such as @, reply, retry, timeout, and callback:
|
|
177
179
|
|
|
178
180
|
```python
|
|
179
181
|
yunhu = sdk.adapter.get("yunhu")
|
|
@@ -185,7 +187,7 @@ await (yunhu.Send.To("group", "123")
|
|
|
185
187
|
.Hook(lambda r: print("Send successful!"))
|
|
186
188
|
.Text("Hello"))
|
|
187
189
|
|
|
188
|
-
# Batch send: send multiple messages in
|
|
190
|
+
# Batch send: send multiple messages in a single chain
|
|
189
191
|
results = await (yunhu.Send.To("user", "123")
|
|
190
192
|
.Build()
|
|
191
193
|
.Text("Notification 1")
|
|
@@ -194,11 +196,11 @@ results = await (yunhu.Send.To("user", "123")
|
|
|
194
196
|
.send_all())
|
|
195
197
|
```
|
|
196
198
|
|
|
197
|
-
> Supports Hook (success callback), Retry (failure retry), Timeout (timeout cancellation), OnProgress (progress monitoring), Defer (delayed
|
|
199
|
+
> Supports Hook (success callback), Retry (failure retry), Timeout (timeout cancellation), OnProgress (progress monitoring), Defer (delayed sending), Build (batch construction), and other chainable methods. See [SendDSL documentation](docs/en/developer-guide/adapters/send-dsl.md).
|
|
198
200
|
|
|
199
201
|
---
|
|
200
202
|
|
|
201
|
-
## Same
|
|
203
|
+
## The Same Code. Multiple Platforms.
|
|
202
204
|
|
|
203
205
|
*Identical command handlers. Different platforms. No business logic changes required.*
|
|
204
206
|
|
|
@@ -232,7 +234,7 @@ results = await (yunhu.Send.To("user", "123")
|
|
|
232
234
|
|
|
233
235
|
## Ecosystem
|
|
234
236
|
|
|
235
|
-
ErisPulse is
|
|
237
|
+
ErisPulse is not just a framework. Install and start right away, no need to build from scratch.
|
|
236
238
|
|
|
237
239
|
<table>
|
|
238
240
|
<tr>
|
|
@@ -260,7 +262,7 @@ Plugins · Logs · Configuration
|
|
|
260
262
|
|
|
261
263
|
**AI Builder**
|
|
262
264
|
|
|
263
|
-
Natural language → usable
|
|
265
|
+
Natural language → usable modules
|
|
264
266
|
|
|
265
267
|
[Experience now →](https://www.erisdev.com/#builder)
|
|
266
268
|
|
|
@@ -271,7 +273,7 @@ Natural language → usable module
|
|
|
271
273
|
|
|
272
274
|
Ready-to-use plugins
|
|
273
275
|
|
|
274
|
-
[
|
|
276
|
+
[Explore modules →](https://www.erisdev.com/#market)
|
|
275
277
|
|
|
276
278
|
</td>
|
|
277
279
|
</tr>
|
|
@@ -280,7 +282,7 @@ Ready-to-use plugins
|
|
|
280
282
|
|
|
281
283
|
**Adapters**
|
|
282
284
|
|
|
283
|
-
15+
|
|
285
|
+
Support for 15+ platforms
|
|
284
286
|
|
|
285
287
|
</td>
|
|
286
288
|
<td align="center" width="25%">
|
|
@@ -313,17 +315,17 @@ Multi-architecture support
|
|
|
313
315
|
|
|
314
316
|
## Project Origin
|
|
315
317
|
|
|
316
|
-
ErisPulse was not
|
|
318
|
+
ErisPulse was not created just to be a framework.
|
|
317
319
|
|
|
318
|
-
It originated from **Amer** — a project for message interconnection and synchronization
|
|
320
|
+
It originated from **Amer** — a project for message interconnection and synchronization between different platforms.
|
|
319
321
|
|
|
320
|
-
As
|
|
322
|
+
As more platforms were integrated, we began maintaining the asynchronous version of **ryunhusdk2**, gradually abstracting a unified event model and adapter system.
|
|
321
323
|
|
|
322
324
|
These practices eventually evolved into today's ErisPulse.
|
|
323
325
|
|
|
324
326
|
Its goal has never changed:
|
|
325
327
|
|
|
326
|
-
**Let developers focus on business, not platform differences.**
|
|
328
|
+
**Let developers focus on business logic, not platform differences.**
|
|
327
329
|
|
|
328
330
|
---
|
|
329
331
|
|
|
@@ -377,7 +379,7 @@ If Docker Hub is inaccessible, you can use GitHub Container Registry:
|
|
|
377
379
|
docker pull ghcr.io/erispulse/erispulse:latest
|
|
378
380
|
```
|
|
379
381
|
|
|
380
|
-
When using the ghcr.io image,
|
|
382
|
+
When using the ghcr.io image, modify the `docker-compose.yml` file's image:
|
|
381
383
|
```yaml
|
|
382
384
|
image: ghcr.io/erispulse/erispulse:latest
|
|
383
385
|
```
|
|
@@ -385,7 +387,7 @@ image: ghcr.io/erispulse/erispulse:latest
|
|
|
385
387
|
</details>
|
|
386
388
|
|
|
387
389
|
<details>
|
|
388
|
-
<summary>Quick
|
|
390
|
+
<summary>Quick start</summary>
|
|
389
391
|
|
|
390
392
|
```bash
|
|
391
393
|
# Download docker-compose.yml
|
|
@@ -397,7 +399,7 @@ ERISPULSE_DASHBOARD_TOKEN=your-token docker compose up -d
|
|
|
397
399
|
|
|
398
400
|
> The image includes the ErisPulse framework and Dashboard management panel, supporting `linux/amd64` and `linux/arm64` architectures.
|
|
399
401
|
|
|
400
|
-
After
|
|
402
|
+
After starting, access `http://<host>:<port>/Dashboard` and use the set token as the password to log in to the Dashboard management panel.
|
|
401
403
|
|
|
402
404
|
</details>
|
|
403
405
|
|
|
@@ -439,19 +441,19 @@ docker pull erispulse/erispulse:dev
|
|
|
439
441
|
| `ERISPULSE_PORT` | `8000` | Dashboard port mapping |
|
|
440
442
|
| `TZ` | `Asia/Shanghai` | Container timezone |
|
|
441
443
|
|
|
442
|
-
>
|
|
444
|
+
> Setting `ERISPULSE_UPDATE_ON_START=true` ensures that even if the image is outdated, the container will automatically fetch the latest version at startup.
|
|
443
445
|
|
|
444
446
|
</details>
|
|
445
447
|
|
|
446
448
|
#### 1Panel App Store
|
|
447
449
|
|
|
448
|
-
Install ErisPulse one
|
|
450
|
+
Install ErisPulse with one click via the [1Panel](https://1panel.cn) app store, see [ErisPulse-1Panel](https://github.com/ErisPulse/ErisPulse-1Panel).
|
|
449
451
|
|
|
450
452
|
```bash
|
|
451
453
|
bash <(curl -sL https://get-1panel.erisdev.com/install.sh)
|
|
452
454
|
```
|
|
453
455
|
|
|
454
|
-
ErisPulse is available in the 1Panel third-party app store and can be installed using the [okxlin/appstore](https://github.com/okxlin/appstore) third-party repository.
|
|
456
|
+
ErisPulse is available in the 1Panel third-party app store, and can be installed using the [okxlin/appstore](https://github.com/okxlin/appstore) third-party repository.
|
|
455
457
|
|
|
456
458
|
#### Using pip to install
|
|
457
459
|
|
|
@@ -502,7 +504,7 @@ if __name__ == "__main__":
|
|
|
502
504
|
</td>
|
|
503
505
|
<td width="50%" valign="top">
|
|
504
506
|
|
|
505
|
-
**Effect
|
|
507
|
+
**Effect Explanation**
|
|
506
508
|
|
|
507
509
|
Send `/hello`
|
|
508
510
|
|
|
@@ -534,7 +536,7 @@ For more detailed instructions, see:
|
|
|
534
536
|
|
|
535
537
|
#### Multi-turn Conversation Example
|
|
536
538
|
|
|
537
|
-
ErisPulse
|
|
539
|
+
ErisPulse has a powerful built-in multi-turn conversation engine, easily enabling guided operations, information collection, and other interactive scenarios:
|
|
538
540
|
|
|
539
541
|
```python
|
|
540
542
|
from ErisPulse.Core.Event import command, request
|
|
@@ -565,10 +567,10 @@ async def register_handler(event):
|
|
|
565
567
|
async def handle_friend_request(event):
|
|
566
568
|
user_name = event.get_user_nickname() or event.get_user_id()
|
|
567
569
|
|
|
568
|
-
# Approve request
|
|
570
|
+
# Approve the request
|
|
569
571
|
result = await event.approve()
|
|
570
572
|
if result.get("status") == "ok":
|
|
571
|
-
await event.reply(f"Friend request automatically
|
|
573
|
+
await event.reply(f"Friend request approved automatically, welcome {user_name}")
|
|
572
574
|
```
|
|
573
575
|
|
|
574
576
|
<details>
|
|
@@ -579,7 +581,7 @@ async def handle_friend_request(event):
|
|
|
579
581
|
async def quiz_handler(event):
|
|
580
582
|
conv = event.conversation(timeout=30)
|
|
581
583
|
|
|
582
|
-
# Multiple
|
|
584
|
+
# Multiple-choice question
|
|
583
585
|
answer = await conv.choose("Who is the creator of Python?", [
|
|
584
586
|
"Guido van Rossum",
|
|
585
587
|
"James Gosling",
|
|
@@ -597,7 +599,7 @@ async def quiz_handler(event):
|
|
|
597
599
|
async def menu_handler(event):
|
|
598
600
|
conv = event.conversation(timeout=60)
|
|
599
601
|
|
|
600
|
-
# Branching, building complex
|
|
602
|
+
# Branching, building complex interaction flow
|
|
601
603
|
@conv.branch("main")
|
|
602
604
|
async def main_menu():
|
|
603
605
|
await conv.say("=== Main Menu ===\n1. Personal Information\n2. Settings\n3. Exit")
|
|
@@ -627,20 +629,20 @@ We welcome contributions to adapters!
|
|
|
627
629
|
|
|
628
630
|
| Adapter | Description |
|
|
629
631
|
|--------|------|
|
|
630
|
-
| <img src=".github/assets/adapter_logo/kook.svg" height="20" alt="Kook" /> [Kook](https://github.com/shanfishapp/ErisPulse-KookAdapter) | Kook (
|
|
631
|
-
| <img src=".github/assets/adapter_logo/matrix.svg" height="20" alt="Matrix" /> [Matrix](https://github.com/ErisPulse/ErisPulse-MatrixAdapter) |
|
|
632
|
-
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot11](https://github.com/ErisPulse/ErisPulse-OneBot11Adapter) | OneBot v11
|
|
632
|
+
| <img src=".github/assets/adapter_logo/kook.svg" height="20" alt="Kook" /> [Kook](https://github.com/shanfishapp/ErisPulse-KookAdapter) | Kook (Kaihei La) instant messaging platform |
|
|
633
|
+
| <img src=".github/assets/adapter_logo/matrix.svg" height="20" alt="Matrix" /> [Matrix](https://github.com/ErisPulse/ErisPulse-MatrixAdapter) | Matrix decentralized communication protocol |
|
|
634
|
+
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot11](https://github.com/ErisPulse/ErisPulse-OneBot11Adapter) | OneBot v11 generic robot protocol |
|
|
633
635
|
| <img src=".github/assets/adapter_logo/onebot.png" height="20" alt="OneBot" /> [OneBot12](https://github.com/ErisPulse/ErisPulse-OneBot12Adapter) | OneBot v12 standard protocol |
|
|
634
636
|
| <img src=".github/assets/adapter_logo/qqbot.svg" height="20" alt="QQ" /> [QQ](https://github.com/ErisPulse/ErisPulse-QQBotAdapter) | Official QQ robot platform |
|
|
635
|
-
| <img src=".github/assets/adapter_logo/sandbox.png" height="20" alt="Sandbox" /> [Sandbox](https://github.com/ErisPulse/ErisPulse-SandboxAdapter) | Web-based debugging, no
|
|
637
|
+
| <img src=".github/assets/adapter_logo/sandbox.png" height="20" alt="Sandbox" /> [Sandbox](https://github.com/ErisPulse/ErisPulse-SandboxAdapter) | Web-based debugging, no real platform integration required |
|
|
636
638
|
| <img src=".github/assets/adapter_logo/telegram.svg" height="20" alt="Telegram" /> [Telegram](https://github.com/ErisPulse/ErisPulse-TelegramAdapter) | Global instant messaging platform |
|
|
637
|
-
| <img src=".github/assets/adapter_logo/email.svg" height="20" alt="Email" /> [Email](https://github.com/ErisPulse/ErisPulse-EmailAdapter) | Email protocol adapter |
|
|
639
|
+
| <img src=".github/assets/adapter_logo/email.svg" height="20" alt="Email" /> [Email](https://github.com/ErisPulse/ErisPulse-EmailAdapter) | Email protocol adapter for sending and receiving |
|
|
638
640
|
| <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [Yunhu](https://github.com/ErisPulse/ErisPulse-YunhuAdapter) | Enterprise-level instant messaging platform (robot integration) |
|
|
639
|
-
| <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [Yunhu User](https://github.com/wsu2059q/ErisPulse-YunhuUserAdapter) | Yunhu user protocol
|
|
640
|
-
| [
|
|
641
|
+
| <img src=".github/assets/adapter_logo/yunhu.png" height="20" alt="Yunhu" /> [Yunhu User](https://github.com/wsu2059q/ErisPulse-YunhuUserAdapter) | Access adapter based on the Yunhu user protocol |
|
|
642
|
+
| [Hua Feng Coffeehouse](https://github.com/ErisPulse/ErisPulse-Ideaura/) | Allons! \(・ω・) / |
|
|
641
643
|
| <img src=".github/assets/adapter_logo/discord.svg" height="20" alt="Discord" /> [Discord](https://github.com/ErisPulse/ErisPulse-DiscordAdapter) | Global community communication platform, supports servers, channels, and private messages |
|
|
642
644
|
| <img src=".github/assets/adapter_logo/webhook.svg" height="20" alt="Webhook" /> [Webhook](https://github.com/ErisPulse/ErisPulse-WebhookAdapter) | General HTTP bridge adapter, connects to any system |
|
|
643
|
-
| <img src=".github/assets/adapter_logo/wechatmp.svg" height="20" alt="WechatMp" /> [WeChat Official Account](https://github.com/ErisPulse/ErisPulse-WechatMpAdapter) | Official WeChat
|
|
645
|
+
| <img src=".github/assets/adapter_logo/wechatmp.svg" height="20" alt="WechatMp" /> [WeChat Official Account](https://github.com/ErisPulse/ErisPulse-WechatMpAdapter) | Official WeChat official account platform |
|
|
644
646
|
|
|
645
647
|
See [Adapter Details](docs/en/platform-guide/README.md)
|
|
646
648
|
|
|
@@ -652,7 +654,7 @@ See [Adapter Details](docs/en/platform-guide/README.md)
|
|
|
652
654
|
|
|
653
655
|
| Multi-platform Bot | Chat Assistant | Automation Tool | Message Forwarding |
|
|
654
656
|
|:---:|:---:|:---:|:---:|
|
|
655
|
-
| Deploy
|
|
657
|
+
| Deploy the same functionality bot on multiple platforms | Integrate AI chat module for entertainment and interaction | Message notifications, task management, data collection | Cross-platform message synchronization and forwarding |
|
|
656
658
|
|
|
657
659
|
</div>
|
|
658
660
|
|
|
@@ -680,39 +682,33 @@ https://t.me/ErisPulse
|
|
|
680
682
|
|
|
681
683
|
---
|
|
682
684
|
|
|
683
|
-
### Contribution
|
|
685
|
+
### Contribution Guide
|
|
684
686
|
|
|
685
687
|
The health of the ErisPulse project still needs your contribution! We welcome all forms of contributions:
|
|
686
688
|
|
|
687
689
|
1. **Report Issues** — Submit bug reports on [GitHub Issues](https://github.com/ErisPulse/ErisPulse/issues)
|
|
688
690
|
2. **Feature Requests** — Propose new ideas via [Community Discussions](https://github.com/ErisPulse/ErisPulse/discussions)
|
|
689
|
-
3. **Code Contributions** —
|
|
691
|
+
3. **Code Contributions** — Read [Code Style](docs/en/styleguide/) and [Contribution Guide](CONTRIBUTING.md) before submitting PRs
|
|
690
692
|
4. **Documentation Improvements** — Help improve documentation and example code
|
|
691
693
|
|
|
692
694
|
[Join Community Discussions](https://github.com/ErisPulse/ErisPulse/discussions)
|
|
693
695
|
|
|
694
696
|
---
|
|
695
697
|
|
|
696
|
-
## Star History
|
|
697
|
-
|
|
698
|
-
[](https://star-history.com/#ErisPulse/ErisPulse&Date)
|
|
699
|
-
|
|
700
|
-
---
|
|
701
|
-
|
|
702
698
|
<div align="center">
|
|
703
699
|
|
|
704
700
|
### Acknowledgments
|
|
705
701
|
|
|
706
702
|
<img src=".github/assets/thanks.png" width="200" alt="Thanks" />
|
|
707
703
|
|
|
708
|
-
|
|
704
|
+
Some code in this project is based on [sdkFrame](https://github.com/runoneall/sdkFrame).
|
|
709
705
|
|
|
710
|
-
The core adapter standardization layer
|
|
706
|
+
The core adapter standardization layer refers to and benefits from the [OneBot12 specification](https://12.onebot.dev/).
|
|
711
707
|
|
|
712
708
|
Special thanks to the Yunhu ecosystem and community.
|
|
713
709
|
|
|
714
|
-
|
|
710
|
+
ErisPulse's early exploration and growth would not have been possible without the support of the Yunhu developer community. Many ideas, adapters, and practical experiences originated here.
|
|
715
711
|
|
|
716
|
-
We also thank all developers and project authors who have contributed to ErisPulse, OneBot
|
|
712
|
+
We also thank all developers and project authors who have contributed to ErisPulse, OneBot, and the open-source community.
|
|
717
713
|
|
|
718
|
-
</div>
|
|
714
|
+
</div>
|