All Projects → Josverl → micropython-stubs

Josverl / micropython-stubs

Licence: MIT license
Stubs of common micropython modules to aid in code completion, static typechecking and overall development

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to micropython-stubs

Tapl Scala
Code from the book "Types and Programming Languages" in Scala
Stars: ✭ 157 (+241.3%)
Mutual labels:  type-checking
pylint-pytest
A Pylint plugin to suppress pytest-related false positives.
Stars: ✭ 2 (-95.65%)
Mutual labels:  pylint
phantom-types
Phantom types for Python.
Stars: ✭ 120 (+160.87%)
Mutual labels:  static-typing
Ts Toolbelt
ts-toolbelt is the largest, and most tested type library available right now, featuring +200 utilities. Our type collection packages some of the most advanced mapped types, conditional types, and recursive types on the market.
Stars: ✭ 3,099 (+6636.96%)
Mutual labels:  type-checking
pylint runner
Python module that recursively runs pylint on python files in current directory and any sub-directories
Stars: ✭ 19 (-58.7%)
Mutual labels:  pylint
firebase-rxjs
Firebase with Observables, Type Checking of Schema, Zone.js aware and Angular ready.
Stars: ✭ 17 (-63.04%)
Mutual labels:  static-typing
Babel Plugin Runtyper
⚡️ Runtime type-checker for JavaScript
Stars: ✭ 117 (+154.35%)
Mutual labels:  type-checking
continuous-integration-with-python
How to test your python code. How to automatically run your tests for your Python code. How to get reports of the tests coverage
Stars: ✭ 25 (-45.65%)
Mutual labels:  pylint
vscode-linter
Extension for code linting, all in one package. New linters can be easily added through an extension framework.
Stars: ✭ 47 (+2.17%)
Mutual labels:  pylint
typeforce
Another biased type checking solution for Javascript
Stars: ✭ 22 (-52.17%)
Mutual labels:  type-checking
Thinc
🔮 A refreshing functional take on deep learning, compatible with your favorite libraries
Stars: ✭ 2,422 (+5165.22%)
Mutual labels:  type-checking
EffectiveSan
Runtime type and bounds-error checking for C/C++
Stars: ✭ 95 (+106.52%)
Mutual labels:  type-checking
py lsp.nvim
Lsp Plugin for working with Python virtual environments
Stars: ✭ 58 (+26.09%)
Mutual labels:  pyright
Hm Def
Runtime type checking for JS with Hindley Milner signatures
Stars: ✭ 171 (+271.74%)
Mutual labels:  type-checking
pyrser
A PEG Parsing Tool
Stars: ✭ 32 (-30.43%)
Mutual labels:  type-checking
Tajs
Type Analyzer for JavaScript
Stars: ✭ 150 (+226.09%)
Mutual labels:  type-checking
deprecated-coalton-prototype
Coalton is (supposed to be) a dialect of ML embedded in Common Lisp.
Stars: ✭ 209 (+354.35%)
Mutual labels:  static-typing
pyenv-pyright
Setup a pyenv virtualenv for microsoft pyright in the pyrightconfig.json config file
Stars: ✭ 51 (+10.87%)
Mutual labels:  pyright
typist-json
A simple runtime JSON type checker.
Stars: ✭ 25 (-45.65%)
Mutual labels:  type-checking
IntelliJ-Luanalysis
Type-safe Lua IDE Plugin for IntelliJ IDEA
Stars: ✭ 118 (+156.52%)
Mutual labels:  type-checking

micropython-stubs

pencil stubs

This repo stores stubs generated by the MicroPython-Stubber tool. Currently over 3.000 stubfiles of common MicroPython modules are available in this repo to help you :

  • write code quicker
  • with less errors,
  • get help from code completion,
  • use static type checking

and improve the overall development experience while writing MicroPython.

Demo using VSCode:
demo

Using the MicroPython stubs

in order to get the most out of the MicroPython stubs, you should follow these steps:

  • determine which Micropython version and port you are using.

To install the latest stubs:

pip install micropython-<port>-stubs

where port is the port of the MicroPython firmware. ( stm32, eps32,rp2...)

To install the stubs for an older version, such as MicroPython 1.17:

pip install micropython-stm32-stubs==1.17.*

Note that not all ports are published as I do not have access to hardware to run all ports. Please let me know if you would like to see a port added, and are willing to help. Discussions

port downloads
micropython-stm32-stubs micropython-stm32-stubs downloads
micropython-esp32-stubs micropython-esp32-stubs downloads
micropython-esp8266-stubs micropython-esp8266-stubs downloads
micropython-rp2-stubs micropython-rp2-stubs downloads

What do you get

  • micropython-<port>[-<board>]-stubs
    The stubs for a specific version port and board of the MicroPython firmware. These are built by combining:

    • The 'Firmware stubs' generated on a generic board for the port
    • The 'Frozen stubs' from the Micropython repository for that specific version and that port & board combination
    • The 'Core Stubs' to provide a common interface for the Micropython firmware and the CPython core.

    Note: board is omitted if it is GENERIC

    Examples:

    • micropython-stm32-stubs
    • micropython-esp32-stubs
    • micropython-rp2-stubs
    • micropython-esp8266-stubs

Then in VSCode press : F1 and select Python: Restart language server
(only needed once)

You can search for Micropython stub packages on PyPI

List of current firmwares and stubs

The list of the current included firmwares, ports and boards includes stubs from the following micropython families:

  • MicroPython

  • Pycopy

  • Loboris port (ESP32)

  • LVGL

  • EV3 / Lego

  • M5Stack

For a full overview of all stubs check out the documentation on read the docs, or in docs/firmware_grp.md

Using the stubs

To learn how to use the stubs please refer to the documentation on RTD

Branch Main

The name of the default branch has been changed to main. For more info see Renaming a branch

Contributors

Thanks to everyone that has submitted stubs or other relevant pieces of code and information, or published relevant stubs on pypi or github.


Jos Verlinde

💻 📝 🔧

MicroPython

🔣 📝

Boris Lovosevic

🔣 📝

Paul Sokolovsky

🔣 📝

pycopy

🔣 📝

Pycom

🚇

Braden Mars

📝 🔧 📦

Paul Sokolovsky

📝

Daryl Stultz

📝

Patrick

📝

Callum Jacob Hays

💡 🔬

Ronald Hiemstra

📝 🖋 📖

Chris Wood

📝 🔧

thingslu

📝

Matin Tat


Roberto Jose Etcheverry Romero


jdsmith


Mr Keuz

💻

Matt Trentini

📝

Andrew St Clair

📝

I invite everyone that has generated stubs for a board or port not on the current list, or has another contribution, to submit the stubs via a pull request or by just zipping up your stubs and creating an issue.

This project follows the all-contributors specification.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].