From 9d2a2917db3045a122e21b3b8e44c1f25f5856de Mon Sep 17 00:00:00 2001 From: Alec Delaney <89490472+tekktrik@users.noreply.github.com> Date: Tue, 3 May 2022 13:05:24 -0400 Subject: [PATCH 1/5] Add circuitpython_typing to requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 802d985..3dbcf44 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,4 +3,5 @@ # SPDX-License-Identifier: Unlicense Adafruit-Blinka +adafruit-circuitpython-typing pyserial From ad0c13563052001081c9d83df7fca0f5a8a50d4c Mon Sep 17 00:00:00 2001 From: Alec Delaney <89490472+tekktrik@users.noreply.github.com> Date: Tue, 3 May 2022 13:06:52 -0400 Subject: [PATCH 2/5] Specify typing library minimum version --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3dbcf44..b727f85 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,5 +3,5 @@ # SPDX-License-Identifier: Unlicense Adafruit-Blinka -adafruit-circuitpython-typing +adafruit-circuitpython-typing>=1.4.0 pyserial From 69d163f442bf18b4f7898821246f3bfe12181781 Mon Sep 17 00:00:00 2001 From: Alec Delaney <89490472+tekktrik@users.noreply.github.com> Date: Tue, 3 May 2022 13:07:43 -0400 Subject: [PATCH 3/5] Add circuitpython_typing to setup.py --- setup.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 2f30643..8ecc048 100644 --- a/setup.py +++ b/setup.py @@ -34,7 +34,11 @@ # Author details author="Adafruit Industries", author_email="circuitpython@adafruit.com", - install_requires=["Adafruit-Blinka", "pyserial"], + install_requires=[ + "Adafruit-Blinka", + "adafruit-circuitpython-typing>=1.4.0", + "pyserial", + ], # Choose your license license="MIT", # See https://pypi.python.org/pypi?%3Aaction=list_classifiers From c1ac19fe60916ae67e7260b977decfd575d6b3aa Mon Sep 17 00:00:00 2001 From: Alec Delaney <89490472+tekktrik@users.noreply.github.com> Date: Tue, 3 May 2022 13:10:34 -0400 Subject: [PATCH 4/5] Use type from circuitpython_typing for LED --- .../adafruit_espatcontrol_wifimanager.py | 24 ++----------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py b/adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py index f57b5fe..60b5cf1 100755 --- a/adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py +++ b/adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py @@ -18,27 +18,7 @@ try: from typing import Dict, Any, Optional, Union, Tuple - - try: - from typing import Protocol - except ImportError: - from typing_extensions import Protocol - from adafruit_espatcontrol.adafruit_espatcontrol import ESP_ATcontrol - - class Pixel(Protocol): - """ - A class for providing type hints for parameters - requiring a pixel device (NeoPixel/DotStar) - """ - - def fill( # pylint: disable=unused-argument, no-self-use - self, value: Union[int, Tuple[int, int, int]] - ) -> Any: - """ - Duck types out the fill method for pixel devices - """ - ... - + from circuitpython_typing.led import FillBasedLED except ImportError: pass @@ -52,7 +32,7 @@ def __init__( self, esp: ESP_ATcontrol, secrets: Dict[str, Union[str, int]], - status_pixel: Optional[Pixel] = None, + status_pixel: Optional[FillBasedLED] = None, attempts: int = 2, ): """ From bc1385082a8e6593e83761f048976ee8f712d115 Mon Sep 17 00:00:00 2001 From: Alec Delaney <89490472+tekktrik@users.noreply.github.com> Date: Tue, 3 May 2022 13:45:46 -0400 Subject: [PATCH 5/5] Add missing ESP_ATcontrol import --- adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py b/adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py index 60b5cf1..a07b371 100755 --- a/adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py +++ b/adafruit_espatcontrol/adafruit_espatcontrol_wifimanager.py @@ -19,6 +19,7 @@ try: from typing import Dict, Any, Optional, Union, Tuple from circuitpython_typing.led import FillBasedLED + from adafruit_espatcontrol.adafruit_espatcontrol import ESP_ATcontrol except ImportError: pass