DevTrends开发者趋势
主题色

hotcocoacanary /

canary-framework

一个 Python 小框架:把每个服务看成有自己生命的单元,会 init、会 start、最后 stop,服务之间用 dep() 声明依赖。启动一个服务时,框架递归地先启动它的依赖,并处理好启动顺序、循环依赖、并发和失败后的资源回收。适合用 FastAPI 等写后端时,给业务层的服务一个清晰的依赖关系和生命周期,不需要预先设计一套初始化顺序。 亮点 只要知道 init() / start() / stop() 三个 API,就能管理一个…

语言PythonDT数据与运维DT软件开发DT库 / SDK原始asyncio原始dependency-injection原始framework原始ioc原始lifecycle原始typed原始zero-dependency

关于

一个 Python 小框架:把每个服务看成有自己生命的单元,会 init、会 start、最后 stop,服务之间用 dep() 声明依赖。启动一个服务时,框架递归地先启动它的依赖,并处理好启动顺序、循环依赖、并发和失败后的资源回收。适合用 FastAPI 等写后端时,给业务层的服务一个清晰的依赖关系和生命周期,不需要预先设计一套初始化顺序。 亮点 只要知道 init() / start() / stop() 三个 API,就能管理一个服务和它依赖的一切 dep() 声明依赖即类型:self.database 对类型检查器就是 Database,IDE 可以直接补全 启动时建一张依赖子图:循环依赖在任何代码运行前报错,按拓扑顺序启动,互不依赖的服务并发启动;被共享的依赖没人用了才停 用简单的「阶段」代替状态机,每个阶段只运行一次;阶段 API 开放,可以定义自己的阶段 启动失败时自动回收已获取的资源,回收不会被取消打断,错误如实抛出不重复报告;零第三方依赖 中英文文档,已有 FastAPI 服务与常驻守护进程两个完整示例

收录记录

  1. HelloGitHub·用户投稿

    2026年9月24日 · 1 次收录

讨论这个产品