From: Alec Delaney Date: Wed, 19 Jan 2022 16:07:43 +0000 (-0500) Subject: Add circuitpython_typing and legacy _typing libraries to Blinka X-Git-Tag: 6.20.0^2~16 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/333dd893733b4fe83dfba3be0a76ab82f79d4065 Add circuitpython_typing and legacy _typing libraries to Blinka --- diff --git a/setup.py b/setup.py index 7d0264a..3a30af0 100755 --- a/setup.py +++ b/setup.py @@ -52,10 +52,12 @@ setup( # py_modules lists top-level single file packages to include. # find_packages only finds packages in directories with __init__.py files. py_modules=[ + "_typing", "analogio", "bitbangio", "board", "busio", + "circuitpython_typing", "digitalio", "keypad", "micropython", diff --git a/src/_typing.py b/src/_typing.py new file mode 100644 index 0000000..473b234 --- /dev/null +++ b/src/_typing.py @@ -0,0 +1,31 @@ +# The MIT License (MIT) +# +# Copyright (c) 2017 cefn for adafruit industries +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +""" +`_typing` - Define (legacy) subset of types for C-level protocols +====================================================== + +See `CircuitPython:board` in CircuitPython for more details. + +* Author(s): Alec Delaney +""" + +from circuitpython_typing import * diff --git a/src/circuitpython_typing.py b/src/circuitpython_typing.py new file mode 100644 index 0000000..93c3a3d --- /dev/null +++ b/src/circuitpython_typing.py @@ -0,0 +1,54 @@ +# The MIT License (MIT) +# +# Copyright (c) 2017 cefn for adafruit industries +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +""" +`circuitpython_typing` - Define subset of types for C-level protocols +====================================================== + +See `CircuitPython:board` in CircuitPython for more details. + +* Author(s): Alec Delaney +""" + +from typing import Union +from array import array +from numpy import ndarray + +ReadableBuffer = Union[ + bytes, bytearray, memoryview, array, ndarray +] +"""Classes that implement the readable buffer protocol + - `bytes` + - `bytearray` + - `memoryview` + - `array.array` + - `numpy.ndarray` +""" + +WriteableBuffer = Union[ + bytearray, memoryview, array, ndarray +] +"""Classes that implement the writeable buffer protocol + - `bytearray` + - `memoryview` + - `array.array` + - `numpy.ndarray` +"""