# Python 骨架架构概览 本文档说明当前 Python skeleton 的职责边界与目录组织。它描述的是“后续迁移承载体”,不是完整业务实现。 ## 当前目标 这一轮的目标是提供一个稳定、轻量、可持续扩展的基础工程,使后续可以逐步迁移: - TickTick integration - Home Assistant integration - poo records - location / life trajectory ## 目录设计 ### `app/` 应用核心代码目录。 - `main.py` - FastAPI app factory - lifespan - 基础路由注册 - `config.py` - 环境变量驱动的 settings - `db.py` - SQLAlchemy engine / session / Base - `dependencies.py` - 通用依赖注入 - `api/` - HTTP routes - `models/` - SQLAlchemy models - `schemas/` - Pydantic schemas - `services/` - 业务服务层 - `integrations/` - 外部系统适配层占位 - `templates/` - Jinja2 模板 - `static/` - 极简静态资源 ### `alembic/` 数据库 migration 基础设施。当前尚未迁入业务表,但迁移链路已就绪。 ### `tests/` pytest 测试目录。后续可以在这里自然扩展: - unit tests - mock tests - integration tests ### `scripts/` 辅助脚本目录。当前包含 OpenAPI 导出脚本。 ## 当前约束 - 当前只搭骨架,不迁业务逻辑 - 当前数据库继续使用 SQLite - 当前不引入前后端分离 - 当前不设计 Notion 模块 ## 关于 Notion Notion 在 Go 版本中仍是现状模块,但在 Python 重构中已经明确属于 removed scope。 因此当前 Python skeleton: - 不提供 Notion integration 模块 - 不提供 Notion schema - 不预留 Notion 相关业务流 如果未来需要回顾其历史作用,应继续参考 Go 版本和现有迁移盘点文档,而不是在 Python 骨架中保留它。