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_displayio_layout/widgets/control.py:57
- adafruit_displayio_layout/widgets/control.py:85
- adafruit_displayio_layout/widgets/easing.py:79
- adafruit_displayio_layout/widgets/easing.py:87
- adafruit_displayio_layout/widgets/easing.py:95
- adafruit_displayio_layout/widgets/easing.py:105
- adafruit_displayio_layout/widgets/easing.py:115
- adafruit_displayio_layout/widgets/easing.py:123
- adafruit_displayio_layout/widgets/easing.py:134
- adafruit_displayio_layout/widgets/easing.py:145
- adafruit_displayio_layout/widgets/easing.py:153
- adafruit_displayio_layout/widgets/easing.py:164
- adafruit_displayio_layout/widgets/easing.py:175
- adafruit_displayio_layout/widgets/easing.py:183
- adafruit_displayio_layout/widgets/easing.py:194
- adafruit_displayio_layout/widgets/easing.py:205
- adafruit_displayio_layout/widgets/easing.py:213
- adafruit_displayio_layout/widgets/easing.py:221
- adafruit_displayio_layout/widgets/easing.py:229
- adafruit_displayio_layout/widgets/easing.py:237
- adafruit_displayio_layout/widgets/easing.py:247
- adafruit_displayio_layout/widgets/easing.py:257
- adafruit_displayio_layout/widgets/easing.py:267
- adafruit_displayio_layout/widgets/easing.py:279
- adafruit_displayio_layout/widgets/easing.py:291
- adafruit_displayio_layout/widgets/easing.py:299
- adafruit_displayio_layout/widgets/easing.py:309
- adafruit_displayio_layout/widgets/easing.py:322
- adafruit_displayio_layout/widgets/easing.py:330
- adafruit_displayio_layout/widgets/easing.py:341
- adafruit_displayio_layout/widgets/easing.py:352
- adafruit_displayio_layout/widgets/easing.py:359
- adafruit_displayio_layout/widgets/easing.py:372
- adafruit_displayio_layout/widgets/widget.py:167
- adafruit_displayio_layout/widgets/widget.py:198
- adafruit_displayio_layout/widgets/widget.py:278
- adafruit_displayio_layout/widgets/widget.py:295
- adafruit_displayio_layout/layouts/grid_layout.py:51
- adafruit_displayio_layout/layouts/grid_layout.py:290
- adafruit_displayio_layout/layouts/grid_layout.py:308
- adafruit_displayio_layout/widgets/switch_round.py:420
- adafruit_displayio_layout/widgets/switch_round.py:664
- adafruit_displayio_layout/widgets/switch_round.py:686
- adafruit_displayio_layout/widgets/switch_round.py:783
- adafruit_displayio_layout/widgets/switch_round.py:803
- adafruit_displayio_layout/widgets/switch_round.py:827
- adafruit_displayio_layout/widgets/switch_round.py:837
- adafruit_displayio_layout/widgets/switch_round.py:849
- adafruit_displayio_layout/widgets/switch_round.py:854
- adafruit_displayio_layout/widgets/switch_round.py:887
- adafruit_displayio_layout/widgets/switch_round.py:904
- adafruit_displayio_layout/widgets/icon_widget.py:54
- adafruit_displayio_layout/widgets/icon_widget.py:87
- adafruit_displayio_layout/widgets/flip_input.py:84
- adafruit_displayio_layout/widgets/flip_input.py:329
- adafruit_displayio_layout/widgets/flip_input.py:431
- adafruit_displayio_layout/widgets/flip_input.py:447
- adafruit_displayio_layout/widgets/flip_input.py:506
- adafruit_displayio_layout/widgets/flip_input.py:525
- adafruit_displayio_layout/widgets/flip_input.py:580
- adafruit_displayio_layout/widgets/flip_input.py:622
- adafruit_displayio_layout/widgets/icon_animated.py:77
- adafruit_displayio_layout/widgets/icon_animated.py:131
- adafruit_displayio_layout/widgets/icon_animated.py:168
- adafruit_displayio_layout/widgets/icon_animated.py:263