Skip to main content

fastapp-cli

FastAPI 项目脚手架:一条命令生成完整、可直接运行的 FastAPI 工程。

fastapp create my-server

特性

  • 分层架构:api / schemas / crud / services / models 分层,内置泛型 CRUD / Service 基类
  • 开箱即用的工程能力:统一响应 / 异常体系、TraceID 中间件、loguru 日志、pydantic-settings 多环境配置
  • 分页 CRUD + 过滤:基于 fastapi-pagination 与 fastapi-filter 的完整示例(/api/v1/items)
  • Celery 可选:--celery 启用时生成完整任务骨架(默认 redis broker,本地无 redis 时启动自动降级 memory:// 并告警);默认不启用
  • Alembic 迁移:接入 SQLModel.metadata,含 autogenerate 过滤钩子
  • 优雅降级:MySQL 缺席不阻塞启动,/api/v1/health 返回 database: up/down
  • 工程化配套:Makefile、scripts/、pre-commit、ruff + mypy + pytest 配置全套
  • 可选部署文件:--pm2 / --docker 按需生成(pm2.config.js,celery 未启用时对应启动命令自动注释)
  • AI Agent 友好:生成项目自带 docs/agent_guide.md 开发参考文档(架构、核心方法清单、扩展流程)

安装

# uv tool(推荐)
uv tool install fastapp-cli

# 或 pipx
pipx install fastapp-cli

# 或一次性使用
uvx fastapp create demo

使用

fastapp create <project_name> [options]
参数 默认 说明
project_name 必填 项目名;小写字母/数字/连字符,如 my-server
--description 交互提问 项目描述
--pm2 / --no-pm2 交互提问 是否生成 pm2.config.js
--docker / --no-docker 交互提问 是否生成 Dockerfile
--celery / --no-celery 交互提问(默认不启用) 是否启用 Celery 异步任务
--python 3.12 目标 Python 版本(写入 .python-version)
--author git config user.name 作者署名
--force 关 目标目录已存在时覆盖重建
--no-git 关 跳过 git init

全部关键项通过 flag 提供时零交互:

fastapp create my-server --description "demo" --no-pm2 --no-docker --no-celery

生成完成后:

cd my-server && uv sync
make dev        # 访问 /api/v1/docs

生成项目依赖

fastapi、sqlmodel、alembic、fastapi-pagination、fastapi-filter、loguru、pydantic-settings 等,dev 组含 pytest / ruff / mypy / pre-commit;--celery 启用时额外引入 celery[redis] 与 flower。

开发 fastapp-cli 自身

uv sync --group dev
uv run pytest          # 单元 + 冒烟测试
uv run ruff check .

发布

uv build     # 构建 sdist + wheel(模板随包发布)
uv publish   # 发布到 PyPI

版本策略:v0.1.0 起,语义化版本。

Metadata

Release files for fastapp-cli 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastapp-cli 0.3.0
File Size Uploaded
fastapp_cli-0.3.0.tar.gz 91.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastapp-cli 0.3.0
File Interpreter ABI Platform
fastapp_cli-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 159.9 kB

Release files / fastapp_cli-0.3.0.tar.gz

Download URL fastapp_cli-0.3.0.tar.gz
Size 91.2 kB
Tags Source
SHA-256 checksum
How to use checksums
4d9ce578bae9d24d4f47c340761131706996e0cae8c5211e78f285a33acc1818
BLAKE2b-256 checksum
How to use checksums
3a8a3b53cdbbd0548f4e62e1a87f96a7789e59134406a6de12d7c950621c06db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / fastapp_cli-0.3.0-py3-none-any.whl

Download URL fastapp_cli-0.3.0-py3-none-any.whl
Size 68.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3005d94e06716b772f2e7381ef1f4f778cfd544907d2856109fa1d3cd8cdffc4
BLAKE2b-256 checksum
How to use checksums
d915ac88116bf00337aaafd0fa1e38a7fab828728ae612e41e3d2788c22f137a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.4.0

2 release files

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page