abschlussarbeit/lib/python3.11/site-packages/circuitpython_typing/io.py

43 lines
1.1 KiB
Python

# SPDX-FileCopyrightText: Copyright (c) 2022 Alec Delaney
#
# SPDX-License-Identifier: MIT
"""
`circuitpython_typing.io`
================================================================================
Type annotation definitions for IO-related objects
* Author(s): Alec Delaney
"""
# Protocol was introduced in Python 3.8.
from typing_extensions import Protocol
class ROValueIO(Protocol):
"""Hardware objects, like `analogio.AnalogIn`, that have read-only
``value`` properties/attributes.
"""
@property
def value(self) -> float:
"""Value property, that may return an `int` or `float` depending
on the specifics of the class.
"""
class ValueIO(Protocol):
"""Hardware objects, like `analogio.AnalogOut`, that have read and
write ``value`` properties/attributes.
"""
@property
def value(self) -> float:
"""Value property, that may return an `int` or `float` depending
on the specifics of the class.
"""
# pylint: disable=no-self-use,unused-argument
@value.setter
def value(self, input_value: float, /): ...