e2m2e.api.config#

运行配置:内核路径、精度阈值、日志级别。

只管**运行环境** (ADR 0014);物理常量归 data/templates/。构造注入 Facade (Facade(config=Config(...))),内部默认从环境变量读。SPICEManager 全局句柄、 r2s2 进程单例作为已知限制用 Config 显式管理。

实现状态:骨架。字段待定稿。

Classes#

Config

e2m2e 运行配置。

Module Contents#

class e2m2e.api.config.Config#

e2m2e 运行配置。

Attributes:

kernel_dir: SPICE 内核目录(默认 $SPICE_KERNEL_DIR 或仓库 kernels/)。 log_level: 日志级别。 tolerance: 默认数值容差(积分 rtol/atol)。 catalog_dir: 轨道库目录;默认 $E2M2E_CATALOG_DIR,未设为 None——

此时库操作报 CATALOG_NOT_CONFIGURED,不建目录(ADR 0047)。

catalog_enabled: 产物型方法成功后是否自动入库;默认 $E2M2E_CATALOG_ENABLED

或关(ADR 0047:入库是调用方的显式决定)。

kernel_dir: str#
log_level: str = 'WARNING'#
rtol: float = 1e-12#
atol: float = 1e-12#
catalog_dir: str | None#
catalog_enabled: bool#
to_payload() → dict[str, Any]#

序列化为可跨进程传递的字典(worker 子进程请求的 config 字段)。

字段集合自此是对外契约(#601):增删字段是协议变更,须同步 from_payload() 并在 ADR 记录。

classmethod from_payload(data: Any) → Config#

从 to_payload() 的字典还原。

非字典、未知字段均抛 ValueError——跨进程配置不静默降级: 调用方看到的配置必须是它给的那份(#601)。