Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ confidence=
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
# disable=import-error,print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call
disable=print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call,import-error,bad-continuation,pointless-string-statement
disable=print-statement,parameter-unpacking,unpacking-in-except,old-raise-syntax,backtick,long-suffix,old-ne-operator,old-octal-literal,import-star-module-level,raw-checker-failed,bad-inline-option,locally-disabled,locally-enabled,file-ignored,suppressed-message,useless-suppression,deprecated-pragma,apply-builtin,basestring-builtin,buffer-builtin,cmp-builtin,coerce-builtin,execfile-builtin,file-builtin,long-builtin,raw_input-builtin,reduce-builtin,standarderror-builtin,unicode-builtin,xrange-builtin,coerce-method,delslice-method,getslice-method,setslice-method,no-absolute-import,old-division,dict-iter-method,dict-view-method,next-method-called,metaclass-assignment,indexing-exception,raising-string,reload-builtin,oct-method,hex-method,nonzero-method,cmp-method,input-builtin,round-builtin,intern-builtin,unichr-builtin,map-builtin-not-iterating,zip-builtin-not-iterating,range-builtin-not-iterating,filter-builtin-not-iterating,using-cmp-argument,eq-without-hash,div-method,idiv-method,rdiv-method,exception-message-attribute,invalid-str-codec,sys-max-int,bad-python3-import,deprecated-string-function,deprecated-str-translate-call,import-error,bad-continuation,pointless-string-statement,unused-argument,no-self-use

# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
Expand Down
17 changes: 6 additions & 11 deletions circuitpython_typing/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,7 @@

import array
from typing import Union, Optional

# Protocol was introduced in Python 3.8.
try:
from typing import Protocol # pylint: disable=ungrouped-imports
except ImportError:
from typing_extensions import Protocol
from typing_extensions import Protocol, TypeAlias # Safety import for Python 3.7

# Lists below are alphabetized.

Expand All @@ -35,7 +30,7 @@
"WriteableBuffer",
]

ReadableBuffer = Union[
ReadableBuffer: TypeAlias = Union[
array.array,
bytearray,
bytes,
Expand All @@ -45,7 +40,7 @@
]
"""Classes that implement the readable buffer protocol."""

WriteableBuffer = Union[
WriteableBuffer: TypeAlias = Union[
array.array,
bytearray,
memoryview,
Expand Down Expand Up @@ -81,7 +76,7 @@ def write(self, buf: ReadableBuffer) -> Optional[int]:

# These types may not be in adafruit-blinka, so use the string form instead of a resolved name.

AudioSample = Union[
AudioSample: TypeAlias = Union[
"audiocore.WaveFile",
"audiocore.RawSample",
"audiomixer.Mixer",
Expand All @@ -92,10 +87,10 @@ def write(self, buf: ReadableBuffer) -> Optional[int]:
You can play these back with `audioio.AudioOut`, `audiobusio.I2SOut` or `audiopwmio.PWMAudioOut`.
"""

FrameBuffer = Union["rgbmatrix.RGBMatrix"]
FrameBuffer: TypeAlias = Union["rgbmatrix.RGBMatrix"]
"""Classes that implement the framebuffer protocol."""

Alarm = Union["alarm.pin.PinAlarm", "alarm.time.TimeAlarm"]
Alarm: TypeAlias = Union["alarm.pin.PinAlarm", "alarm.time.TimeAlarm"]
"""Classes that implement alarms for sleeping and asynchronous notification.
You can use these alarms to wake up from light or deep sleep.
"""
7 changes: 1 addition & 6 deletions circuitpython_typing/device_drivers.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,7 @@
"""

from adafruit_bus_device.i2c_device import I2CDevice

# # Protocol was introduced in Python 3.8.
try:
from typing import Protocol
except ImportError:
from typing_extensions import Protocol
from typing_extensions import Protocol # Safety import for Python 3.7


# pylint: disable=too-few-public-methods
Expand Down
5 changes: 1 addition & 4 deletions circuitpython_typing/io.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,7 @@
"""

# Protocol was introduced in Python 3.8.
try:
from typing import Protocol
except ImportError:
from typing_extensions import Protocol
from typing_extensions import Protocol


class ROValueIO(Protocol):
Expand Down
14 changes: 6 additions & 8 deletions circuitpython_typing/led.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,12 @@
* Author(s): Alec Delaney
"""

# # Protocol was introduced in Python 3.8.
try:
from typing import Union, Tuple, Protocol
except ImportError:
from typing_extensions import Protocol

ColorBasedColorUnion = Union[int, Tuple[int, int, int]]
FillBasedColorUnion = Union[ColorBasedColorUnion, Tuple[int, int, int, int]]
# Protocol was introduced in Python 3.8, TypeAlias in 3.10
from typing import Union, Tuple
from typing_extensions import Protocol, TypeAlias

ColorBasedColorUnion: TypeAlias = Union[int, Tuple[int, int, int]]
FillBasedColorUnion: TypeAlias = Union[ColorBasedColorUnion, Tuple[int, int, int, int]]


class ColorBasedLED(Protocol):
Expand Down
7 changes: 1 addition & 6 deletions circuitpython_typing/pil.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,7 @@
"""

from typing import Tuple

# Protocol was introduced in Python 3.8.
try:
from typing import Protocol
except ImportError:
from typing_extensions import Protocol
from typing_extensions import Protocol # Safety import for Python 3.7


class PixelAccess(Protocol):
Expand Down
5 changes: 1 addition & 4 deletions circuitpython_typing/pwmio.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,7 @@
"""

# # Protocol was introduced in Python 3.8.
try:
from typing import Protocol
except ImportError:
from typing_extensions import Protocol
from typing_extensions import Protocol


class PWMOut(Protocol):
Expand Down
11 changes: 4 additions & 7 deletions circuitpython_typing/socket.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,8 @@
from types import ModuleType
from typing import Any, Optional, Tuple, Union

# Protocol was introduced in Python 3.8.
try:
from typing import Protocol
except ImportError:
from typing_extensions import Protocol
# Protocol was introduced in Python 3.8, TypeAlias in 3.10
from typing_extensions import Protocol, TypeAlias


# Based on https://github.com/python/typeshed/blob/master/stdlib/_socket.pyi
Expand Down Expand Up @@ -120,7 +117,7 @@ def connect(self, address: Union[Tuple[Any, ...], str, bytes]) -> None:
...


SocketType = Union[
SocketType: TypeAlias = Union[
LegacyCircuitPythonSocketType,
CircuitPythonSocketType,
StandardPythonSocketType,
Expand All @@ -138,4 +135,4 @@ def TLS_MODE(self) -> int: # pylint: disable=invalid-name
...


SSLContextType = Union[SSLContext, "_FakeSSLContext"]
SSLContextType: TypeAlias = Union[SSLContext, "_FakeSSLContext"]
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
#
# SPDX-License-Identifier: MIT

typing_extensions; python_version <= '3.7'
typing_extensions~=4.0
adafruit-circuitpython-busdevice