Skip to main content

FastAPI 项目模板初始化工具

Project description

MsPro - FastAPI 异步项目通用脚手架

MsPro 是一个基于 FastAPI 异步框架 的通用项目脚手架,旨在帮助开发者快速构建具备健壮架构和可扩展性的后端服务。它内置标准开发模块(CRUD、数据模型、路由、数据结构)与企业级最佳实践,让你从繁杂的基础构建中解放出来,专注于业务逻辑。


✨ 项目亮点

  • 🚀 异步架构:基于 FastAPI 异步框架,支持高并发处理。
  • 🧱 模块化结构:标准化目录,包含 crud/models/routes/schemas/ 等核心模块。
  • 🔒 JWT 鉴权体系:内置安全的 Token 授权与用户认证机制。
  • 🧬 SQLModel 数据建模:采用 SQLModel 统一 ORM 模型与 Pydantic Schema。
  • 📦 Pydantic V2.0 支持:新一代数据校验体系,更快更强。
  • 📊 日志跟踪系统:基于 Python logging 优化配置,便于调试和生产环境日志分析。
  • ⚙️ 代码生成器:基于模型定义,可一键生成整套 CRUD + Routes + Schemas。
  • 🛠️ 管理工具脚本:集成本地测试、开发部署、数据库初始化等一键管理命令。

📂 项目结构总览

MsPro/
├── alembic/                # 数据库升级/迁移
├── app/
│   ├── crud/               # CURD 操作
│   ├── models/             # SQLModel 模型定义
│   ├── routes/             # 路由入口
│   ├── schemas/            # Pydantic 数据结构
│   ├── tasks/              # 异步任务调度
│   ├── utils/              # 工具函数
│   └── main.py             # FastAPI 应用入口
├── logs/                   # 日志目录
├── module_generator.py     # 模型生成脚本
├── manage.sh               # 本地/部署环境一键控制脚本
├── .env                    # 环境变量配置
├── requirements.txt        # 依赖列表
└── README.md

📦 安装方式

方式一:通过 pip 安装并初始化项目

pip install mspro-python
mspro-init my_project

这将会在当前目录下生成名为 my_project/ 的完整项目脚手架。


🔧 使用指南

  1. 安装依赖:
cd my_project
python -m venv venv
./manage.sh setup
  1. 启动开发环境:
python app/main.py
# 或使用 manage.sh 提供的一键启动脚本
./manage.sh test
  1. 使用 module_generator.py 自动生成模块:
python module_generator.py User
  1. 生产环境部署/运维:
# 在生产环境项目目录下
# 部署
./manage.sh build
# 运维
./manage.sh start/stop/restart/upgrade

📚 未来规划(TODO)

  • 增加部署 Dockerfile 和 CI/CD 支持
  • 提供 PostgreSQL、SQLite 切换配置

🧑‍💻 作者

由 [JENA] 设计与维护。欢迎提交 issue 与 PR 一起共建开源生态。


📄 License

本项目遵循 MIT License,详见 LICENSE 文件。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mspro_python-0.1.1.tar.gz (68.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mspro_python-0.1.1-py3-none-any.whl (88.1 kB view details)

Uploaded Python 3

File details

Details for the file mspro_python-0.1.1.tar.gz.

File metadata

  • Download URL: mspro_python-0.1.1.tar.gz
  • Upload date:
  • Size: 68.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for mspro_python-0.1.1.tar.gz
Algorithm Hash digest
SHA256 574d776121fe3a5bbfe3bf2483582215a5b6f16e031233e36511a1dc4ef15b13
MD5 fa5b865efd7b5e429ce93460a53e87d4
BLAKE2b-256 9331e17a62c945b1cca3c8d9f23ff2240a92ba18f34e19ef57ca4cd19c95c309

See more details on using hashes here.

File details

Details for the file mspro_python-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: mspro_python-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 88.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for mspro_python-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d30d2de24d62748fbfca1d45474c7ea4b643bb7160eadec9704ffc0133d85f8
MD5 f42ce9e9ffef0e6d565ed118e492a921
BLAKE2b-256 307085f13edb8a74ee4243c64cdb1e12094dd1e968bed06d63d47baa55cd9dfd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page