fastapi-sqlmodel-starter
fastapi-sqlmodel-starter copied to clipboard
One of the best scaffolding in the PyWeb field.
特性
- ⚡ 开箱即用, 实现中间件的零依赖
- 默认使用Sqlite, 也可自由切换PostgreSQL、MySQL数据库
- 可选文件或Redis缓存
- 🚢 开启Python代码操作数据库表的新体验
- 🚀 简化ORM操作, 内置单表常见操作
- 🎨 丰富的插件机制
- Jwt安全认证
- 访问限流
- Ip黑名单
- 🐋 完备的容器化解决方案
- Docker
- Docker-compose
- Kubernetes
- ✅ 基于GitHub Actions的CI (持续集成) 和 CD (持续交付)
文档
- 在线文档: Read the docs
- 交互式API文档

设置一个conda的虚拟环境
这部分是可选的,但可能对新学 Python 的用户有用。
通常来说, 虚拟环境可以解决包冲突和多版本Python等问题, conda是管理包和环境的一种选择. 在Linux上,可以从这里下载Miniconda, 并按照说明进行安装。
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
设置镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
一旦你拥有了conda,你可以创建一个带有Python 3.11(大于等于3.9)的Fss环境
conda create -n fss_py311 python==3.11 -y
然后激活虚拟环境
conda activate fss_py311
快速开始
- 克隆代码
git clone https://github.com/tyvekzhang/fastapi-sqlmodel-starter
cd fastapi-sqlmodel-starter
- 安装 Poetry并下载依赖
- 通过虚拟环境安装
conda install poetry -y poetry install - 或者通过pip安装, 首先设置镜像源
mkdir -p ~/.pip cat > ~/.pip/pip.conf << EOF [global] trusted-host = mirrors.aliyun.com index-url = http://mirrors.aliyun.com/pypi/simple/ EOF pip install poetry poetry install
- 数据库迁移
cd fss && alembic upgrade head
- 启动
python apiserver.py
- 交互式文档地址: http://127.0.0.1:9010/docs
- 恭喜你, 启动成功. 接口访问前需要创建用户, 并进行认证
- 可以随时按CTRL+C停止运行
贡献
欢迎为 FastapiSqlmodelStarter 做出贡献!你可以通过以下方式参与:
- 提交 Bug 或功能需求到 Issue清单
- 提交代码改进的 Pull Request
- 编写和改进文档
- 分享你使用 FastapiSqlmodelStarter 的经验和想法
许可证
FastapiSqlmodelStarter 采用 MIT 许可证开源。