Skip to content

Missing Type Annotations #72

Closed
Closed
@FoamyGuy

Description

@FoamyGuy

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_featherwing/led_segments.py:29
  • adafruit_featherwing/led_segments.py:44
  • adafruit_featherwing/led_segments.py:56
  • adafruit_featherwing/led_segments.py:78
  • adafruit_featherwing/led_segments.py:90
  • adafruit_featherwing/auto_writeable.py:30
  • adafruit_featherwing/pixelmatrix.py:33
  • adafruit_featherwing/pixelmatrix.py:48
  • adafruit_featherwing/pixelmatrix.py:57
  • adafruit_featherwing/pixelmatrix.py:83
  • adafruit_featherwing/pixelmatrix.py:100
  • adafruit_featherwing/pixelmatrix.py:115
  • adafruit_featherwing/pixelmatrix.py:130
  • adafruit_featherwing/pixelmatrix.py:147
  • adafruit_featherwing/pixelmatrix.py:170
  • adafruit_featherwing/tft_featherwing.py:34
  • adafruit_featherwing/tempmotion_featherwing.py:29
  • adafruit_featherwing/tempmotion_featherwing.py:51
  • adafruit_featherwing/tempmotion_featherwing.py:64
  • adafruit_featherwing/tempmotion_featherwing.py:72
  • adafruit_featherwing/tempmotion_featherwing.py:80
  • adafruit_featherwing/tempmotion_featherwing.py:94
  • adafruit_featherwing/tempmotion_featherwing.py:103
  • adafruit_featherwing/sevensegment_featherwing.py:28
  • adafruit_featherwing/rtc_featherwing.py:30
  • adafruit_featherwing/rtc_featherwing.py:35
  • adafruit_featherwing/rtc_featherwing.py:41
  • adafruit_featherwing/rtc_featherwing.py:47
  • adafruit_featherwing/rtc_featherwing.py:59
  • adafruit_featherwing/rtc_featherwing.py:83
  • adafruit_featherwing/rtc_featherwing.py:102
  • adafruit_featherwing/rtc_featherwing.py:112
  • adafruit_featherwing/rtc_featherwing.py:125
  • adafruit_featherwing/rtc_featherwing.py:148
  • adafruit_featherwing/rtc_featherwing.py:182
  • adafruit_featherwing/rtc_featherwing.py:193
  • adafruit_featherwing/rtc_featherwing.py:207
  • adafruit_featherwing/rtc_featherwing.py:221
  • adafruit_featherwing/rtc_featherwing.py:238
  • adafruit_featherwing/rtc_featherwing.py:252
  • adafruit_featherwing/rtc_featherwing.py:266
  • adafruit_featherwing/rtc_featherwing.py:280
  • adafruit_featherwing/rtc_featherwing.py:306
  • adafruit_featherwing/neopixel_featherwing.py:28
  • adafruit_featherwing/neopixel_featherwing.py:44
  • adafruit_featherwing/neopixel_featherwing.py:77
  • adafruit_featherwing/minitft_featherwing.py:53
  • adafruit_featherwing/minitft_featherwing.py:84
  • adafruit_featherwing/matrix_featherwing.py:30
  • adafruit_featherwing/matrix_featherwing.py:40
  • adafruit_featherwing/matrix_featherwing.py:47
  • adafruit_featherwing/matrix_featherwing.py:62
  • adafruit_featherwing/matrix_featherwing.py:82
  • adafruit_featherwing/matrix_featherwing.py:95
  • adafruit_featherwing/matrix_featherwing.py:104
  • adafruit_featherwing/matrix_featherwing.py:113
  • adafruit_featherwing/matrix_featherwing.py:122
  • adafruit_featherwing/matrix_featherwing.py:141
  • adafruit_featherwing/matrix_featherwing.py:153
  • adafruit_featherwing/joy_featherwing.py:33
  • adafruit_featherwing/joy_featherwing.py:160
  • adafruit_featherwing/joy_featherwing.py:203
  • adafruit_featherwing/ina219_featherwing.py:27
  • adafruit_featherwing/gps_featherwing.py:28
  • adafruit_featherwing/gps_featherwing.py:60
  • adafruit_featherwing/gps_featherwing.py:72
  • adafruit_featherwing/dotstar_featherwing.py:28
  • adafruit_featherwing/alphanum_featherwing.py:28
  • adafruit_featherwing/tft_featherwing_35.py:33
  • adafruit_featherwing/tft_featherwing_24.py:33
  • adafruit_featherwing/keyboard_featherwing.py:39

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions