You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.9 KiB
1.9 KiB
iTi-Flask
iTi-Flask 是 FastAPI 后端框架基座。 名称保留历史包名,运行时已经不依赖 Flask/APIFlask。
它提供业务项目常用的通用能力:
- FastAPI 应用工厂。
- dataclass 配置和
.env加载。 - MySQL 默认数据库配置。
- SQLAlchemy 2 和 Alembic。
- JWT、权限依赖、错误处理、响应包装。
- 用户 token / 服务 token 的统一 Actor 依赖。
- 缓存、限流、事件总线。
- 模块注册、权限元数据、菜单 seed 元数据。
- 同步 HTTP 服务客户端。
- 运行日志和审计事件 sender。
- 单机轻量任务 runner。
/health和/ready健康检查。- Copier 业务项目模板。
系统业务不在框架内。
需要用户、角色、菜单、字典、文件、日志等能力时,业务项目额外注册 iti-system。
安装
框架本地开发:
uv sync --extra dev
业务项目依赖:
dependencies = [
"iti-flask @ git+ssh://git@your-git/iTi/iTi-Flask.git@v0.1.1",
]
应用工厂
from iti import create_app
from config import config
from my_app.modules.example import ExampleModule
app = create_app(
config_mapping=config,
modules=[ExampleModule()],
)
运行:
uv run uvicorn app:app --reload
业务项目生成
uvx copier copy ./copier-template ../my-business-app
cd ../my-business-app
uv sync --extra dev
uv run alembic upgrade head
uv run uvicorn app:app --reload