MicroPython Stubs:提升您的开发体验
欢迎来到 MicroPython Stubs 仓库!
在这里,你将发现一个由 MicroPython-Stubber 工具生成的超过 3,000 个 stub 文件的宝库。无论你是初学者还是经验丰富的开发者,这些 stub 都旨在为你的 MicroPython 开发过程提供强大助力。
Stubs 就像你代码的速查表。它们提供提示、自动补全和静态类型检查,让你的开发生活更轻松、更高效。以下是你可以从这些 MicroPython stubs 中获得的:
- 更快的编码:有了 stubs,你将更快速、更自信地编写代码。再也不用猜测函数名或参数了!
- 更少的错误:Stubs 有助于尽早发现错误。如果你提供了错误的参数,你将立即获得反馈。
- 代码补全:告别无尽的 Bingling。Stubs 提供上下文感知的自动补全,甚至针对板级特定功能。
- 静态类型检查:通过添加类型信息,你可以在类型相关的 bug 导致运行时问题之前捕获它们。
在您的浏览器中一键测试
在 Stubs Playground 中使用您自己的代码在浏览器中试用存根
在您的机器上安装一次 CLI。
使用设置脚本,使用测试模板创建 pyproject.toml 并将存根安装到 typings:
uv run https://raw.githubusercontent.com/Josverl/micropython-stubs/refs/heads/main/setup_micropython_stubs.py
允许您选择:
- 您的项目文件夹
- 您项目的源代码布局(src/flat)
- 您使用的静态类型检查器(pyright, mypy, ty, none)
- 选择您想要使用的 stubs 包

这将创建或更新一个 pyproject.toml 文件,其中包含您首选的类型检查器或 IDE 的设置,并将存根安装到您项目文件夹中的 typings 文件夹中。
无需翻阅大量文档即可开始,只需运行脚本即可!
注意: 设置脚本目前处于早期测试阶段,因此可能存在一些不完善之处,请分享您的反馈和改进建议。uv 仍然是上述单行设置命令的推荐运行器。对于软件包安装,当 uv 不可用时,脚本现在会自动回退到 pipx run --spec pip pip install ... --target ...。
安装
有关安装说明和您首选 IDE 的配置,请参阅 documentation
与 IDE 和工具的集成
VSCode:
- https://github.com/paulober/MicroPico - 一个用于简化和加速 Raspberry Pi Pico 和 Pico W 板 MicroPython 项目开发的 VSCode 扩展。
PyCharm / IntelliJ:
- https://github.com/lukaskremla/micropython-tools-jetbrains - 适用于 PyCharm、CLion、IntelliJ 和其他 JetBrains IDE 的 MicroPython 工具插件
Thonny:
- https://github.com/thonny/thonny - Thonny IDE 5 内置了对 MicroPython 的支持,并使用 micropython-stubs。
Tooling:
- https://github.com/standsi/MicropythonStubsFetchTypescript - 一个用于获取和使用 MicroPython 存根以在 VSCode 等编辑器中进行代码补全和类型检查的 TypeScript 工具。
探索可用存根
想知道哪些版本、端口和开发板被覆盖,或者不同开发板之间的区别吗?
试试新版 Stubs Explorer 的测试版,这是一个使用 PyScript 编写的 MicroPython 应用程序,用于探索和比较各种开发板的 MicroPython 存根。
或者查看 在线查看器,或在 PyPI 上搜索 MicroPython 存根包。
如需全面了解所有存根,请深入阅读 read the docs 上的文档。
赞助
为了构建准确的存根,我需要访问一块开发板,将其刷入特定版本的 MicroPython,并在该开发板上运行部分存根生成软件(createsubs.py)。
你可以通过以下方式帮助我:
-
运行该软件并分享包含生成的 MCU 存根的 PR,
-
寄给我一块你可能有的备用开发板,
-
或者通过 Github 赞助我
贡献者
感谢所有提交存根或其他相关代码和信息,或在 pypi 或 github 上发布相关存根的人。
我邀请所有为当前列表之外的板卡或端口生成了存根,或有其他贡献的人,通过拉取请求提交存根,或者将存根打包成 zip 文件并创建一个 issue。
本项目遵循 all-contributors 规范。