A collection of over 3,000 stub files for MicroPython ports and boards to enable code completion, static type checking, and faster development.
MicroPython Stubs is a collection of stub files that provide type hints and function signatures for MicroPython's various ports and boards. It solves the problem of limited IDE support in MicroPython development by enabling features like auto-completion, static type checking, and early error detection, making embedded programming faster and more reliable.
MicroPython developers working on embedded systems who use IDEs like VSCode, PyCharm, or Thonny and want improved coding assistance and type safety.
Developers choose MicroPython Stubs because it brings modern Python development tooling to the MicroPython ecosystem, significantly reducing development time and errors through comprehensive stub coverage and seamless IDE integration.
Stubs of most MicroPython ports, boards and versions to make writing code that much simpler.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
With over 3,000 stub files for most MicroPython ports, boards, and versions, it reduces manual lookups and supports a wide range of hardware, as highlighted in the broad coverage feature.
Works with VSCode, PyCharm, IntelliJ, and Thonny through dedicated plugins like MicroPico, enabling code completion and error checking directly in popular editors.
Provides context-aware auto-completion and immediate feedback on incorrect arguments, cutting down on documentation searches and debugging time, as shown in the demo GIF.
Adds typing information compatible with tools like Pyright, allowing early detection of type-related bugs, which is a core part of the project's philosophy to improve reliability.
Requires installation of IDE plugins and configuration, and stubs must be updated to match MicroPython firmware versions, relying on community contributions or manual effort as indicated in the sponsorship section.
Stubs are generated from specific board versions; if a new release or niche board isn't covered, users may need to generate stubs themselves, creating gaps in support.
Stubs only provide static hints and don't offer runtime debugging or real-time validation on the embedded device, so errors might still surface during execution, unlike on-device tools.