把 Flask 搬进 ESP32,高中生自研嵌入式 Web 框架 MicroFlask !

uPyPi 仓库近日上架了一款由国内高中生独立开发的轻量级 Web 框架 ------MicroFlask 及其异步版本​MicroFlask_Async​。

这位高中生开发者在自学 Python Web 开发时,被 Flask 框架的简洁高效深深吸引。但当他尝试将自己的 Flask 小项目迁移到 ESP32 等 MicroPython 嵌入式设备时,却遇到了核心困境:

  • 现有 MicroPython Web 框架 API 与 Flask 完全脱节,原有代码需大幅重构,迁移成本极高;
  • 部分框架资源占用大,不适合 ESP32 这类内存仅数百 KB 的资源受限设备;
  • 缺乏灵活的扩展能力,无法满足嵌入式场景的个性化需求。

抱着 "让更多人能在单片机上跑 Flask 代码" 的初衷,他利用课余时间,从零搭建了这套​类 Flask 风格的 MicroPython Web 框架​,并最终将其开源至 uPyPi 仓库。

✨ 什么是 MicroFlask?

MicroFlask(含同步版 microflask.py 和异步版 MicroFlask_Async/microflask_async.py)是一套​类 Flask 风格的轻量级 Web 框架​,核心目标是提升 Flask 项目迁移效率和 Web 界面开发速度,以开放、可扩展为设计宗旨,​优先适配 MicroPython(如 ESP32 等嵌入式设备)​,同时兼容 CPython 环境。

简单说,它是一个​给 MicroPython(比如 ESP32 这种单片机)量身定做的类 Flask Web 框架​。核心只有一个目标:让你之前写的 Flask 代码,几乎不用改,就能直接跑在嵌入式设备上!

核心特性 :

  • 低迁移成本:API 设计、项目结构完全对齐 Flask,无需大幅修改原有 Flask 代码即可迁移;
  • 双环境兼容:同时支持 MicroPython(资源受限嵌入式场景)和 CPython(常规 Python 环境);
  • 轻量高效:专为资源受限环境设计,无冗余中间件(开发者认为嵌入式场景无需中间件);
  • 灵活扩展 :模块化架构,支持自定义路由转换器、自定义模板引擎(提供 TemplateEngine 基类);
  • 双处理模式:同步 / 异步版本分离,满足不同场景的并发需求。
功能模块 关键能力
路由系统 基本路由、动态路由(支持 int/ 自定义类型)、HTTP 方法指定、自定义路由转换器(正则 / 参数 / 验证函数式);
请求处理 表单 / JSON 数据获取、简易文件上传(需自定义解析 multipart/form-data,限制 8KB 以内);
响应处理 自动 JSON 序列化(list/dict)、自定义状态码 / 响应头、重定向、Response/make_response 灵活操作;
模板渲染 支持 utemplate 库、自定义模板引擎,可设置默认引擎;
项目结构 沿用 Flask 的 static/templates 目录结构,支持自定义静态文件路径;

🚀 上手有多简单?给你看个例子

怎么安装:

库的地址就在upypi上:https://upypi.net/

搜索:microflask

点击详情页 ,进入 复制 下载 指令即可:

相关推荐
国科安芯7 小时前
断电也隔离、听得真:ASL3159S 单通道 SPDT 模拟开关的“断电保护 + 音频保真“账
单片机·嵌入式硬件·安全·商业航天·抗辐射
jianqiang.xue8 小时前
【CStackGUI 实战】深色主题终端:app.dark 默认深色 + 顶层命名样式表 + 运行时切换
单片机·嵌入式·cstackgui·c语言gui·可视化拖拽
李航19838 小时前
给自己的图形引擎,配上了AI渲染,做设计真是太方便了
人工智能·python·计算机视觉·ai·ai编程
L@ncor8 小时前
第六章 框架开发实践 · 学习笔记(AutoGen / AgentScope / CAMEL / LangGraph)
python·框架·autogen·langgraph·agentscope
新晨单片机设计8 小时前
S008C-基于STM32单片机无线抢答器【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·无线抢答器
Zhou1411368 小时前
SpringSecurity_02_授权与高级功能
开发语言·python
小诗懂技术9 小时前
【裸机lcd】framebuffer的配置与小型图像库的移植
arm开发·单片机·嵌入式硬件·裸机
摇滚侠9 小时前
《On Java 中文版 基础卷》阅读笔记 对象无处不在 03
java·笔记·python
小小小小钰儿10 小时前
1.5-Python网络编程
开发语言·网络·python·web安全·计算机·网络安全