Description
There are missing type annotations for some functions in this library.
The typing
module does not exist on CircuitPython devices so the import needs to be wrapped in try/except to catch the error for missing import. There is an example of how that is done here:
try:
from typing import List, Tuple
except ImportError:
pass
Once imported the typing annotations for the argument type(s), and return type(s) can be added to the function signature. Here is an example of a function that has had this done already:
def wrap_text_to_pixels(
string: str, max_width: int, font=None, indent0: str = "", indent1: str = ""
) -> List[str]:
If you are new to Git or Github we have a guide about contributing to our projects here: https://learn.adafruit.com/contribute-to-circuitpython-with-git-and-github
There is also a guide that covers our CI utilities and how to run them locally to ensure they will pass in Github Actions here: https://learn.adafruit.com/creating-and-sharing-a-circuitpython-library/check-your-code In particular the pages: Sharing docs on ReadTheDocs
and Check your code with pre-commit
contain the tools to install and commands to run locally to run the checks.
If you are attempting to resolve this issue and need help, you can post a comment on this issue and tag both @FoamyGuy and @kattni or reach out to us on Discord: https://adafru.it/discord in the #circuitpython-dev
channel.
The following locations are reported by mypy to be missing type annotations:
- adafruit_seesaw/samd09.py:16
- adafruit_seesaw/rotaryio.py:21
- adafruit_seesaw/rotaryio.py:34
- adafruit_seesaw/robohat.py:16
- adafruit_seesaw/pwmout.py:19
- adafruit_seesaw/pwmout.py:31
- adafruit_seesaw/pwmout.py:44
- adafruit_seesaw/pwmout.py:56
- adafruit_seesaw/crickit.py:16
- adafruit_seesaw/analoginput.py:24
- adafruit_seesaw/seesaw.py:42
- adafruit_seesaw/seesaw.py:136
- adafruit_seesaw/seesaw.py:189
- adafruit_seesaw/seesaw.py:196
- adafruit_seesaw/seesaw.py:203
- adafruit_seesaw/seesaw.py:209
- adafruit_seesaw/seesaw.py:217
- adafruit_seesaw/seesaw.py:224
- adafruit_seesaw/seesaw.py:232
- adafruit_seesaw/seesaw.py:238
- adafruit_seesaw/seesaw.py:253
- adafruit_seesaw/seesaw.py:288
- adafruit_seesaw/seesaw.py:310
- adafruit_seesaw/seesaw.py:314
- adafruit_seesaw/seesaw.py:318
- adafruit_seesaw/seesaw.py:326
- adafruit_seesaw/seesaw.py:335
- adafruit_seesaw/seesaw.py:362
- adafruit_seesaw/seesaw.py:372
- adafruit_seesaw/seesaw.py:378
- adafruit_seesaw/seesaw.py:383
- adafruit_seesaw/seesaw.py:389
- adafruit_seesaw/seesaw.py:393
- adafruit_seesaw/seesaw.py:413
- adafruit_seesaw/seesaw.py:424
- adafruit_seesaw/seesaw.py:428
- adafruit_seesaw/seesaw.py:432
- adafruit_seesaw/seesaw.py:436
- adafruit_seesaw/seesaw.py:441
- adafruit_seesaw/seesaw.py:445
- adafruit_seesaw/seesaw.py:451
- adafruit_seesaw/seesaw.py:462
- adafruit_seesaw/neopixel.py:20
- adafruit_seesaw/neopixel.py:59
- adafruit_seesaw/neopixel.py:91
- adafruit_seesaw/neopixel.py:111
- adafruit_seesaw/neopixel.py:154
- adafruit_seesaw/neopixel.py:157
- adafruit_seesaw/keypad.py:16
- adafruit_seesaw/keypad.py:42
- adafruit_seesaw/keypad.py:66
- adafruit_seesaw/keypad.py:76
- adafruit_seesaw/keypad.py:93
- adafruit_seesaw/keypad.py:98
- adafruit_seesaw/keypad.py:116
- adafruit_seesaw/digitalio.py:28
- adafruit_seesaw/digitalio.py:39
- adafruit_seesaw/digitalio.py:46
- adafruit_seesaw/digitalio.py:62
- adafruit_seesaw/digitalio.py:79
- adafruit_seesaw/digitalio.py:91
- adafruit_seesaw/digitalio.py:100
- adafruit_seesaw/tftshield18.py:19
- adafruit_seesaw/tftshield18.py:69
- adafruit_seesaw/tftshield18.py:79
- adafruit_seesaw/tftshield18.py:88
- adafruit_seesaw/tftshield18.py:97