跳到主要内容

概览

WaveYo-API 是一个基于FastAPI的插件化、现代、跨平台、可扩展的后端服务框架(下称 WaveYo-API),采用核心-插件架构设计,它基于 Python 的类型注解和异步优先特性(兼容同步),能够为你的需求实现提供便捷灵活的支持。同时,WaveYo-API 拥有开放的插件生态系统,所有开发者都可以为其开发插件。用户无需编写复杂代码,仅需完成环境配置及插件安装,就可以快速构建高性能的API服务。

需要注意的是,WaveYo-API 建议您使用 Python 3.11 以上版本

特色

异步优先

WaveYo-API 基于 FastAPI 和 Python asyncio 构建,充分利用异步编程的优势,提供卓越的性能表现,并在异步机制的基础上进行了同步函数的兼容支持。

开箱即用

WaveYo-API 提供了使用便捷、功能强大的命令行工具--yoapi-cli,使得用户初次接触 WaveYo-API 时更容易上手。使用方法请阅读本文档指南以及 CLI 文档。

插件系统

插件系统是 WaveYo-API 的核心,通过它可以实现服务的模块化以及功能扩展,便于维护和管理。所有业务功能都以插件形式动态加载,支持热插拔和灵活的配置。

智能依赖管理

WaveYo-API 采用了一套先进的依赖管理系统,支持自动依赖安装、冲突检测和版本管理,让插件间的依赖关系更加清晰,减少配置复杂度。

统一环境管理

WaveYo-API 提供了强大的环境变量验证框架,支持类型检查、默认值设置、必需性验证等功能,确保配置的安全性和一致性。

依赖管理

通过uv包管理器,为你的插件提供必要依赖只能管理(即**『智能管理』**依赖性)

这在你有以下情形的需求时非常有用:

  • 多个插件共享相同的依赖包版本
  • 自动处理依赖冲突和版本兼容性问题
  • 支持uv包管理工具
  • 提供详细的依赖安装日志和错误报告
  • 确保插件间的服务发现和依赖注入

它在完成上述工作的同时,还能尽量减少配置的复杂性和维护成本。

核心架构优势

核心-插件分离

WaveYo-API 采用清晰的核心-插件架构设计,核心框架保持轻量稳定,所有业务功能通过插件实现,确保系统的可维护性和扩展性。

统一日志管理

提供自定义的日志格式和统一管理机制,所有插件共享相同的日志配置,确保日志输出的一致性和可读性。

跨插件服务共享

通过共享依赖注册表机制,插件可以将服务注册到共享注册表,其他插件可以通过依赖注入获取共享服务,实现插件间的无缝协作。