SuperAPI AI 工具集

supabase-python

编程与开发

查看项目

更新于 10-15 19:54

技能介绍

用途:提供 FastAPI + Supabase + SQLAlchemy/SQLModel 的开发范式,用于在 Python 项目中实现类型安全的数据库访问,并借助 Supabase 处理认证、存储与实时功能。

主要能力:资料给出了完整的分层项目结构(api/routes、core、db、services、main.py,以及 supabase 与 alembic 目录),并涵盖配置、数据模型、认证依赖、CRUD 路由、数据库迁移、文件存储、Postgres 变更订阅与测试写法。

使用方式:安装依赖使用 pip install fastapi uvicorn supabase python-dotenv sqlmodel asyncpg alembic。环境变量包含 SUPABASE_URL、SUPABASE_ANON_KEY、SUPABASE_SERVICE_ROLE_KEY 与 DATABASE_URL(postgresql+asyncpg 形式)。数据库会话由 create_async_engine 与 sessionmaker 提供异步 Session;模型继承 SQLModel;认证通过 FastAPI 的 HTTPBearer 与 supabase.auth.get_user 校验 JWT;数据库迁移使用 alembic init alembic、alembic revision --autogenerate 与 alembic upgrade head;开发运行命令为 uvicorn src.main:app --reload --port 8000,生产为 uvicorn src.main:app --host 0.0.0.0 --port 8000 --workers 4。

适用场景:需要 FastAPI API 层、Supabase 认证与存储、并通过 SQLAlchemy/SQLModel 进行异步数据库查询的 Python 后端项目。

限制与注意事项:资料强调避免用 Supabase 客户端做数据库查询、避免同步数据库调用、避免硬编码凭据、始终校验 JWT、使用上下文管理器关闭会话、不在异步环境做阻塞 I/O。存储上传与实时订阅的示例以资料所列写法为准。价格、收费、平台支持范围等事实资料未提供。