Flask启动器

pyflask-microservice-base — Flask 启动器模板

作者 pritam001

基于 Flask 的微服务启动模板,提供可选的目录结构与 Make 命令集,用于快速创建带 Swagger 文档、代码检查与测试配置的新项目。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

1 个预览视图
作者提供的预览
作者提供的预览

来自项目 README 的原始预览。

目前有 1 张原始预览,可打开完整图片查看设计细节。

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-03查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

以 GitHub 模板仓库方式创建新项目,并通过 make init 完成初始化与个性化

02

Makefile 封装 setup、upgrade、pre-commit、format、lint 等常用开发命令

03

集成 black、isort、autoflake、flake8、radon、mypy、bandit 与 pre-commit 代码质量工具

04

使用 pytest 与 pytest-cov 运行测试并收集覆盖率

05

通过 Flasgger 提供 Swagger UI 与 Swagger 规格,默认端口 8420

06

使用 tbump 处理版本号

模板详细介绍

pyflask-microservice-base 是一个托管在 GitHub 上的 Flask 微服务样板项目,定位为“可选地有主见且结构化”的启动器。它本身不是可直接运行的业务服务,而是通过 GitHub 模板仓库的方式复制出新的项目仓库,再执行初始化与依赖安装命令来生成个人化项目。

模板围绕 Makefile 组织开发流程:make init 用于初始化并个性化项目,make setup 借助 pip-tools 与 pip-compile 安装 Python 依赖,make upgrade 升级依赖,make pre-commit 依次执行格式化、静态检查、测试与覆盖率收集。代码质量工具链包括 black、isort、autoflake、flake8、radon、mypy、bandit 与 pre-commit;测试使用 pytest 与 pytest-cov;版本管理使用 tbump。API 文档基于 Flasgger,默认在本地 8420 端口提供 Swagger UI 与 Swagger 规格,Flasgger UI 版本为 v2,OpenAPI 版本为 2。

项目要求 Python 3.7 及以上、GNU Make 4.3 及以上。README 的路线图显示 Swagger 支持、测试工具、代码覆盖率与 tbump 版本管理已完成,而个性化脚本、Docker 支持、uwsgi 服务器、行为准则与贡献指南、PR 与 issue 模板、lint 与测试工具文档仍标记为未完成。因此该模板适合作为内部微服务项目的起点,但不应假定其已具备容器化或生产服务器配置。

Flask启动器

适合你的项目吗?

适用场景

  • 在 GitHub 上从该模板创建新的 Flask 微服务仓库并开始开发
  • 为团队微服务项目建立统一的格式化、静态检查与测试命令入口
  • 在开发阶段通过 Flasgger 查看和调试 API 文档
  • 使用 pytest 与 pytest-cov 为服务接口编写并运行测试

适合人群

  • 需要 Flask 微服务起步结构的 Python 开发者
  • 希望用 Make 命令统一格式化、lint 与测试流程的团队
  • 需要 Swagger/OpenAPI 文档能力的 Flask 项目
  • 接受 Python 3.7+ 与 GNU Make 4.3+ 环境约束的使用者

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    在 GitHub 上以该仓库为模板创建新仓库,再克隆到本地

  2. 2

    依次执行 make init、make setup、make upgrade 完成初始化与依赖安装

  3. 3

    提交前运行 make pre-commit 执行格式化、静态检查、测试与覆盖率收集

  4. 4

    本地 API 文档默认位于 http://0.0.0.0:8420/api/v1/pyflask-microservice/swagger

  5. 5

    README 路线图中的个性化脚本、Docker 支持与 uwsgi 服务器尚未完成,需自行评估

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 该项目是 GitHub 模板仓库,需通过 GitHub 的模板功能创建新仓库后使用,而非直接克隆运行。
  • 使用前必须在 GitHub 上以该仓库为模板创建新仓库,不能直接作为独立项目运行。
  • 需执行 make init 完成初始化与个性化,模板本身不是可直接运行的业务服务。
  • 要求 Python 3.7 及以上版本环境。
  • 要求 GNU Make 4.3 及以上版本,开发流程依赖 Makefile 命令。
  • 路线图中 Docker 支持尚未完成,不应假定模板已具备容器化配置。
  • 路线图中 uwsgi 服务器尚未完成,不应假定已具备生产服务器配置。
  • 路线图中个性化脚本尚未完成,初始化个性化流程可能不完整。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

This is a template project hosted on GitHub which can be used to create new repositories.

README 原文

1. Create a new repository named "my-pyflask-project" using this template repository *+

README 原文

1. `make init` : Initialize and personalize project

README 原文

[![Min Python Version 3.7](https://img.shields.io/badge/python-3.7+-3776AB.svg?style=flat)](https://www.python.org/download/releases/3.8.0/)

README 原文

[![Min GNU Make Version 4.3](https://img.shields.io/badge/make-4.3+-222222.svg?style=flat)](https://www.gnu.org/software/make/manual/make.html)

README 原文

- [ ] Docker support

README 原文

- [ ] uwsgi server

README 原文

- [ ] Personalization script

README 原文
https://github.com/pritam001/pyflask-microservice-base/blob/master/LICENSEhttps://github.com/pritam001/pyflask-microservice-base/blob/master/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料一般 · 56 / 100
技术栈
Flask
网站类型
启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2022-07-29
截图检查日期
2026-10-04

目前没有记录演示链接。请依据仓库说明在本地评估;仅凭截图无法确认交互行为。

目录记录的主要技术栈是 Flask。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-05

查看当时使用的来源资料

SHA-256: 12877dca8e43543bde72eb624ff18d0228fcd88a72c3044e7dc9bcad2cd7bb5a

2026-10-04T23:05:24.762Z

来源文件 / 仓库
[//]: <> (pyflask_config: service_name)
pyflask-microservice-base
------------------------------------------------------------------------------
An "optionally opinionated and structured" flask boilerplate microservice for jump-starting development

![Built with](https://img.shields.io/badge/-Built%20with-073551?style=flat-square)
![Python](https://img.shields.io/badge/-Python-3776AB?style=flat-square&logo=Python&logoColor=white)
![Flask](https://img.shields.io/badge/-Flask-000000?style=flat-square&logo=flask&logoColor=white)
![License](https://img.shields.io/github/license/pritam001/pyflask-microservice-base?style=flat-square&label=License)


Project status
------------------------------------------------------------------------------
![Version](https://img.shields.io/github/v/tag/pritam001/pyflask-microservice-base?logo=codesandbox)
[![Maintainability](https://api.codeclimate.com/v1/badges/cc34f11b1a2b9bb8e216/maintainability)](https://codeclimate.com/github/pritam001/pyflask-microservice-base/maintainability)
[![codecov](https://codecov.io/gh/pritam001/pyflask-microservice-base/branch/master/graph/badge.svg)](https://codecov.io/gh/pritam001/pyflask-microservice-base)


Tools
------------------------------------------------------------------------------
[![Min Python Version 3.7](https://img.shields.io/badge/python-3.7+-3776AB.svg?style=flat)](https://www.python.org/download/releases/3.8.0/)
[![Min GNU Make Version 4.3](https://img.shields.io/badge/make-4.3+-222222.svg?style=flat)](https://www.gnu.org/software/make/manual/make.html)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat)](https://github.com/psf/black)
[![Static Analysis: flake8](https://img.shields.io/badge/static%20analysis-flake8-cccccc.svg?style=flat)](https://github.com/PyCQA/flake8/)
[![Cyclomatic Complexity: radon](https://img.shields.io/badge/cyclomatic%20complexity-radon-ff5252.svg?style=flat)](https://github.com/rubik/radon)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://timothycrosley.github.io/isort/)
[![Static Typing: mypy](https://img.shields.io/badge/static%20typing-mypy-blue.svg?style=flat)](https://github.com/python/mypy/)
[![Security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg?style=flat)](https://github.com/PyCQA/bandit)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?style=flat&logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![API Specs](https://img.shields.io/badge/specs-flasgger-6D9A00?style=flat&logo=swagger&logoColor=white)](https://github.com/flasgger/flasgger)
[![Tests: pytest](https://img.shields.io/badge/%20tests-pytest-%23009BDB?style=flat)](https://docs.pytest.org/en/latest/contents.html)
[![Coverage: pytest-cov](https://img.shields.io/badge/%20coverage-pytest--cov-%23009BDB?style=flat)](https://docs.pytest.org/en/latest/contents.html)
[![Version Handling: tbump](https://img.shields.io/badge/%20version%20handling-tbump-%23009BDB?style=flat)](https://docs.pytest.org/en/latest/contents.html)


Usage Guide
------------------------------------------------------------------------------
This is a template project hosted on GitHub which can be used to create new repositories.


### Steps for creating boilerplate project in GitHub
1. Create a new repository named "my-pyflask-project" using this template repository *+
1. `git clone https://www.github.com/username/my-pyflask-project.git`
1. `cd my-pyflask-project`
1. `make init` : Initialize and personalize project
1. `make setup` : Use pip-tools, pip-compile, pip install to set up python packages
1. `make upgrade` : Upgrade dependencies to latest version
1. `make pre-commit` : Run format, lint, test and cover
1. Run `git add .` and `git commit -m "Personalize service"`

*+ [GitHub Guide: Creating a repository from a template](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template)
<br>
*^ [Guide to Conda environment](https://github.com/pritam001/pyflask-microservice-base/blob/master/documentation/wiki/conda.md)


### Make Guide
Type `make help` for available commands

<p align="center"><img src="documentation/assets/make-help.gif" /></p>

Type `make pre-commit` before committing your changes to run formatters, linters, tests and code coverage collectors

<p align="center"><img src="documentation/assets/make-pre-commit.gif" /></p>


### Linting Guide
`make format` : Format and fix python code with black, isort, autoflake and pre-commit hooks

<p align="center"><img src="documentation/assets/make-format.gif" /></p>

`make lint` : Run static analysis with flake8, radon, mypy and bandit

<p align="center"><img src="documentation/assets/make-lint.gif" /></p>


### Documentation
[//]: <> (pyflask_config: service_name)
Flasgger docs can be found at http://0.0.0.0:8420/api/v1/pyflask-microservice/swagger

[//]: <> (pyflask_config: service_name)
API specs can be found at http://0.0.0.0:8420/api/v1/pyflask-microservice/swagger_spec

Flasgger UI version: v2 | OpenAPI version: 2

<p align="center"><img src="documentation/assets/flasgger_intro.png" /></p>


Contributing
------------------------------------------------------------------------------
1. Stargaze this repository
1. Fork this repository
1. Add this project as `upstream`
1. Commit your changes
1. Create pull request to `upstream/development` branch

Roadmap
-----------------------------------------------------------------------------
- [x] Swagger support
- [x] Introduction of testing tools
- [x] Code coverage
- [x] Version handling by tbump
- [ ] Personalization script
- [ ] Docker support
- [ ] uwsgi server
- [ ] Add CoC, Contribution guidelines, PR and issue templates
- [ ] Update linting documentation
- [ ] Testing tools documentation

反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。