ITADN
Josverl/micropython-stubs
Josverl/micropython-stubs · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

MicroPython Stubs:提升您的开发体验

Documentation Status Star on GitHub All Contributors Black Ruff Checked with pyright

欢迎来到 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 包

Screenshot of the setup script

这将创建或更新一个 pyproject.toml 文件,其中包含您首选的类型检查器或 IDE 的设置,并将存根安装到您项目文件夹中的 typings 文件夹中。

无需翻阅大量文档即可开始,只需运行脚本即可!

注意: 设置脚本目前处于早期测试阶段,因此可能存在一些不完善之处,请分享您的反馈和改进建议。uv 仍然是上述单行设置命令的推荐运行器。对于软件包安装,当 uv 不可用时,脚本现在会自动回退到 pipx run --spec pip pip install ... --target ...

安装

有关安装说明和您首选 IDE 的配置,请参阅 documentation

与 IDE 和工具的集成

VSCode:

PyCharm / IntelliJ:

Thonny:

Tooling:

探索可用存根

想知道哪些版本、端口和开发板被覆盖,或者不同开发板之间的区别吗?

试试新版 Stubs Explorer 的测试版,这是一个使用 PyScript 编写的 MicroPython 应用程序,用于探索和比较各种开发板的 MicroPython 存根。

或者查看 在线查看器,或在 PyPI 上搜索 MicroPython 存根包

如需全面了解所有存根,请深入阅读 read the docs 上的文档

赞助

为了构建准确的存根,我需要访问一块开发板,将其刷入特定版本的 MicroPython,并在该开发板上运行部分存根生成软件(createsubs.py)。

你可以通过以下方式帮助我:

  • 运行该软件并分享包含生成的 MCU 存根的 PR,

  • 寄给我一块你可能有的备用开发板,

  • 或者通过 Github 赞助我

贡献者

感谢所有提交存根或其他相关代码和信息,或在 pypi 或 github 上发布相关存根的人。

Jos Verlinde
Jos Verlinde

💻 📝 🔧 🔬 💡 🔣 📦
MicroPython
MicroPython

🔣 📝
Boris Lovosevic
Boris Lovosevic

🔣 📝
Paul Sokolovsky
Paul Sokolovsky

🔣 📝
pycopy
pycopy

🔣 📝
Pycom
Pycom

🚇
Howard Lovatt
Howard Lovatt

🔬 🤔 📝 💡
Paul Sokolovsky
Paul Sokolovsky

📝
Chris Wood
Chris Wood

📝 🔧
Daryl Stultz
Daryl Stultz

📝
Braden Mars
Braden Mars

📝 🔧 📦
Patrick
Patrick

📝
Callum Jacob Hays
Callum Jacob Hays

💡 🔬
Ronald Hiemstra
Ronald Hiemstra

📖
thingslu
thingslu

📝
Matin Tat
Matin Tat

Roberto Jose Etcheverry Romero
Roberto Jose Etcheverry Romero

jdsmith
jdsmith

Mr Keuz
Mr Keuz

Matt Trentini
Matt Trentini

📝
Andrew St Clair
Andrew St Clair

📝
Michal Moravec
Michal Moravec

🐛
Paul
Paul

📦 🔧 📝 🐛
Sam Duke
Sam Duke

🐛
Jim Mussared
Jim Mussared

📝 📦
stinos
stinos

📝
Andrew Leech
Andrew Leech

🐛 📝
Maxi
Maxi

🐛
DeflateAwning
DeflateAwning

🐛
bixb922
bixb922

🐛
Sylvain BROCAS
Sylvain BROCAS

🐛
victorallume
victorallume

🐛
Omid Ataollahi
Omid Ataollahi

🐛
Dave Dribin
Dave Dribin

🐛
Peter Hinch
Peter Hinch

💡
morcilab
morcilab

🐛
Tinyu
Tinyu

🐛
Marc Vilella
Marc Vilella

📝
Mark A. Ziesemer
Mark A. Ziesemer

📝

我邀请所有为当前列表之外的板卡或端口生成了存根,或有其他贡献的人,通过拉取请求提交存根,或者将存根打包成 zip 文件并创建一个 issue。

本项目遵循 all-contributors 规范。