Merge branch 'dev'

完成 0.5.1 版本更新
This commit is contained in:
2026-05-17 00:22:13 +08:00
5 changed files with 15 additions and 12 deletions
+4 -4
View File
@@ -3,7 +3,7 @@
## 概述 ## 概述
"潜进" (HeurAMS: Heuristic Auxiliary Memorizing Scheduler, 启发式记忆辅助调度器) 是一种基于启发式算法与认知科学理论的辅助记忆调度器, 旨在帮助用户更高效地进行记忆工作与学习规划, "潜进" (HeurAMS: Heuristic Auxiliary Memorizing Scheduler, 启发式记忆辅助调度器) 是一种基于启发式算法与认知科学理论的辅助记忆调度器, 旨在帮助用户更高效地进行记忆工作与学习规划,
也是一种开放, 优雅, 易于扩展的间隔重复调度器实验平台, 旨在帮助研究者更高效地进行前沿记忆算法的研究. 也是一种开放, 优雅, 易于扩展的间隔重复调度器实验平台, 旨在帮助研究者更高效地进行前沿记忆算法的调查实验与研究.
[详细介绍](INTRODUCTION.md) [屏幕截图](SCREENSHOTS.md) [详细介绍](INTRODUCTION.md) [屏幕截图](SCREENSHOTS.md)
@@ -18,7 +18,7 @@
### 从包管理器安装 ### 从包管理器安装
潜进 (包名是 `heurams`) 处于早期开发考虑, 尚未上架 PyPI, 但您可以用 pip 支持的 git 协议安装稳定版和开发版本, 这要求您的电脑上安装了 python 环境 (建议版本 3.12.13 及之后). 潜进 (包名是 `heurams`) 处于早期开发考虑, 尚未上架 PyPI, 但您可以用 pip 支持的 git 协议安装稳定版和开发版本, 这要求您的电脑上安装了 python 环境 (建议 3.12.13 及之后版本).
#### 面向用户的安装 #### 面向用户的安装
@@ -31,7 +31,7 @@ pip install --upgrade 'heurams[basic] @ https://git.pluv27.top/pluv/HeurAMS/arch
从较前沿, 大致稳定的 `dev` 分支安装, 并安装适用于用户体验的可选依赖(如果您追求较前沿的改进): 从较前沿, 大致稳定的 `dev` 分支安装, 并安装适用于用户体验的可选依赖(如果您追求较前沿的改进):
``` ```
pip install --upgrade 'heurams[basic] @ https://git.pluv27.top/pluv/HeurAMS/archive/dev.zip' pip install --force-reinstall --no-deps 'heurams[basic] @ https://git.pluv27.top/pluv/HeurAMS/archive/dev.zip'
``` ```
安装适用于一般计算机的通用音频模块(基于 playsound3):\ 安装适用于一般计算机的通用音频模块(基于 playsound3):\
@@ -52,7 +52,7 @@ pip install --upgrade 'heurams[audio-playsound] @ https://git.pluv27.top/pluv/He
`dev` 分支进行基于 git 的可编辑安装, 并安装全部可选依赖(推荐): `dev` 分支进行基于 git 的可编辑安装, 并安装全部可选依赖(推荐):
``` ```
pip install --upgrade 'heurams[all] @ https://git.pluv27.top/pluv/HeurAMS/archive/dev.zip' pip install --force-reinstall --no-deps 'heurams[all] @ https://git.pluv27.top/pluv/HeurAMS/archive/dev.zip'
``` ```
> 您也可以从 `refactor/...` 等特定分支安装 > 您也可以从 `refactor/...` 等特定分支安装
+6 -2
View File
@@ -1,19 +1,23 @@
import platform
import click import click
from heurams.services.version import ver, stage, codename, codename_cn from heurams.services.version import ver, stage, codename, codename_cn
@click.group( @click.group(
invoke_without_command=True, invoke_without_command=True,
help=(
f"HeurAMS {ver} - 启发式辅助记忆调度器"
),
context_settings={"help_option_names": ["-h", "--help"]}, context_settings={"help_option_names": ["-h", "--help"]},
) )
@click.version_option( @click.version_option(
ver, "-v", "--version", ver, "-v", "--version",
prog_name="HeurAMS", prog_name="HeurAMS",
message=f"%(prog)s %(version)s ({codename}/{codename_cn}), 阶段: {stage}", message=f"%(prog)s %(version)s {stage} ({codename}/{codename_cn}), {platform.system()}",
) )
@click.pass_context @click.pass_context
def cli(ctx): def cli(ctx):
"""HeurAMS - 启发式辅助记忆调度器"""
if ctx.invoked_subcommand is None: if ctx.invoked_subcommand is None:
click.echo(cli.get_help(ctx)) click.echo(cli.get_help(ctx))
ctx.exit(0) ctx.exit(0)
+3 -3
View File
@@ -72,9 +72,8 @@ class HeurAMSApp(App):
) -> None: # 用来给没使用/禁用的快捷键占位, 因为 Binding 删除不了 ) -> None: # 用来给没使用/禁用的快捷键占位, 因为 Binding 删除不了
pass pass
# 移除烦人的 "rich traceback" '''
# Textual 官方不会管这破事, 写 Rich 写入脑了导致的 # 移除烦人的 "rich traceback", 但可能导致未定义行为出现, 所以注释掉
# 不知道哪来的自信改标准库的 traceback
# https://github.com/Textualize/textual/discussions/6255 # https://github.com/Textualize/textual/discussions/6255
# NOTE: 进行 textual 版本升级时, 确保查看过上游代码, 尤其是 App 的 _exception # NOTE: 进行 textual 版本升级时, 确保查看过上游代码, 尤其是 App 的 _exception
# 如果行为变了就把下面的删了 (虽然有 fallback) # 如果行为变了就把下面的删了 (虽然有 fallback)
@@ -89,3 +88,4 @@ class HeurAMSApp(App):
self._close_messages_no_wait() self._close_messages_no_wait()
raise self._exception raise self._exception
super().panic(*args) # ditto super().panic(*args) # ditto
'''
+1 -1
View File
@@ -2,13 +2,13 @@ from heurams.interface import *
from heurams.context import config_var from heurams.context import config_var
from heurams.services.logger import get_logger from heurams.services.logger import get_logger
import threading import threading
import zmq
import pickle import pickle
logger = get_logger(__name__) logger = get_logger(__name__)
def start_debug_server(app): def start_debug_server(app):
import zmq
logger = get_logger("zmq_debug") logger = get_logger("zmq_debug")
context = zmq.Context() context = zmq.Context()
socket = context.socket(zmq.REP) socket = context.socket(zmq.REP)
@@ -5,8 +5,6 @@
import pathlib import pathlib
import playsound3
from heurams.services.logger import get_logger from heurams.services.logger import get_logger
logger = get_logger(__name__) logger = get_logger(__name__)
@@ -15,6 +13,7 @@ logger = get_logger(__name__)
def play_by_path(path: pathlib.Path): def play_by_path(path: pathlib.Path):
logger.debug("playsound_audio.play_by_path: 开始播放 %s", path) logger.debug("playsound_audio.play_by_path: 开始播放 %s", path)
try: try:
import playsound3
playsound3.playsound(str(path)) playsound3.playsound(str(path))
logger.debug("播放完成: %s", path) logger.debug("播放完成: %s", path)
except Exception as e: except Exception as e: