-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Add paho-mqtt stubs #8853
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Add paho-mqtt stubs #8853
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
version = "1.6.*" | ||
|
||
[tool.stubtest] | ||
ignore_missing_stub = false |
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
class MQTTException(Exception): ... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,326 @@ | ||
import logging | ||
import socket as _socket | ||
import ssl as _ssl | ||
import time | ||
import types | ||
from collections.abc import Callable, Iterable | ||
from typing import Any, TypeVar | ||
from typing_extensions import TypeAlias | ||
|
||
from .matcher import MQTTMatcher as MQTTMatcher | ||
from .properties import Properties as Properties | ||
from .reasoncodes import ReasonCodes as ReasonCodes | ||
from .subscribeoptions import SubscribeOptions as SubscribeOptions | ||
|
||
ssl: types.ModuleType | None | ||
socks: types.ModuleType | None | ||
time_func = time.monotonic | ||
HAVE_DNS: bool | ||
EAGAIN: int | Any | ||
MQTTv31: int | ||
MQTTv311: int | ||
MQTTv5: int | ||
unicode = str | ||
basestring = str | ||
CONNECT: int | ||
CONNACK: int | ||
PUBLISH: int | ||
PUBACK: int | ||
PUBREC: int | ||
PUBREL: int | ||
PUBCOMP: int | ||
SUBSCRIBE: int | ||
SUBACK: int | ||
UNSUBSCRIBE: int | ||
UNSUBACK: int | ||
PINGREQ: int | ||
PINGRESP: int | ||
DISCONNECT: int | ||
AUTH: int | ||
MQTT_LOG_INFO: int | ||
MQTT_LOG_NOTICE: int | ||
MQTT_LOG_WARNING: int | ||
MQTT_LOG_ERR: int | ||
MQTT_LOG_DEBUG: int | ||
LOGGING_LEVEL: dict[int, int] | ||
CONNACK_ACCEPTED: int | ||
CONNACK_REFUSED_PROTOCOL_VERSION: int | ||
CONNACK_REFUSED_IDENTIFIER_REJECTED: int | ||
CONNACK_REFUSED_SERVER_UNAVAILABLE: int | ||
CONNACK_REFUSED_BAD_USERNAME_PASSWORD: int | ||
CONNACK_REFUSED_NOT_AUTHORIZED: int | ||
mqtt_cs_new: int | ||
mqtt_cs_connected: int | ||
mqtt_cs_disconnecting: int | ||
mqtt_cs_connect_async: int | ||
mqtt_ms_invalid: int | ||
mqtt_ms_publish: int | ||
mqtt_ms_wait_for_puback: int | ||
mqtt_ms_wait_for_pubrec: int | ||
mqtt_ms_resend_pubrel: int | ||
mqtt_ms_wait_for_pubrel: int | ||
mqtt_ms_resend_pubcomp: int | ||
mqtt_ms_wait_for_pubcomp: int | ||
mqtt_ms_send_pubrec: int | ||
mqtt_ms_queued: int | ||
MQTT_ERR_AGAIN: int | ||
MQTT_ERR_SUCCESS: int | ||
MQTT_ERR_NOMEM: int | ||
MQTT_ERR_PROTOCOL: int | ||
MQTT_ERR_INVAL: int | ||
MQTT_ERR_NO_CONN: int | ||
MQTT_ERR_CONN_REFUSED: int | ||
MQTT_ERR_NOT_FOUND: int | ||
MQTT_ERR_CONN_LOST: int | ||
MQTT_ERR_TLS: int | ||
MQTT_ERR_PAYLOAD_SIZE: int | ||
MQTT_ERR_NOT_SUPPORTED: int | ||
MQTT_ERR_AUTH: int | ||
MQTT_ERR_ACL_DENIED: int | ||
MQTT_ERR_UNKNOWN: int | ||
MQTT_ERR_ERRNO: int | ||
MQTT_ERR_QUEUE_SIZE: int | ||
MQTT_ERR_KEEPALIVE: int | ||
MQTT_CLIENT: int | ||
MQTT_BRIDGE: int | ||
MQTT_CLEAN_START_FIRST_ONLY: int | ||
sockpair_data: bytes | ||
_UserData: TypeAlias = Any | ||
_Socket: TypeAlias = _socket.socket | _ssl.SSLSocket | Any | ||
_Payload: TypeAlias = str | bytes | bytearray | float | ||
_ExtraHeader: TypeAlias = dict[str, str] | Callable[[dict[str, str]], dict[str, str]] | ||
_OnLog: TypeAlias = Callable[[Client, _UserData, int, str], object] | ||
_OnConnect = TypeVar( | ||
"_OnConnect", | ||
Callable[[Client, _UserData, dict[str, int], int], object], | ||
Callable[[Client, _UserData, dict[str, int], ReasonCodes, Properties | None], object], | ||
) | ||
_OnConnectFail: TypeAlias = Callable[[Client, _UserData], object] | ||
_OnSubscribe = TypeVar( | ||
"_OnSubscribe", | ||
Callable[[Client, _UserData, int, Iterable[int]], object], | ||
Callable[[Client, _UserData, Iterable[ReasonCodes], Iterable[Properties]], object], | ||
) | ||
_OnMessage: TypeAlias = Callable[[Client, _UserData, MQTTMessage], object] | ||
_OnPublish: TypeAlias = Callable[[Client, _UserData, int], object] | ||
_OnUnsubscribe = TypeVar( | ||
"_OnUnsubscribe", | ||
Callable[[Client, _UserData, int], object], | ||
Callable[[Client, _UserData, int, Iterable[Properties], Iterable[ReasonCodes]], object], | ||
) | ||
_OnDisconnect = TypeVar( | ||
"_OnDisconnect", | ||
Callable[[Client, _UserData, int], object], | ||
Callable[[Client, _UserData, int, ReasonCodes | None, Properties | None], object], | ||
) | ||
_OnSocket: TypeAlias = Callable[[Client, _UserData, _Socket | WebsocketWrapper | None], object] | ||
|
||
class WebsocketConnectionError(ValueError): ... | ||
|
||
def error_string(mqtt_errno: int) -> str: ... | ||
def connack_string(connack_code: int) -> str: ... | ||
def base62(num: int, base: str = ..., padding: int = ...) -> str: ... | ||
def topic_matches_sub(sub: str, topic: str) -> bool: ... | ||
|
||
class MQTTMessageInfo: | ||
mid: int | ||
rc: int | ||
def __init__(self, mid: int) -> None: ... | ||
def __iter__(self) -> MQTTMessageInfo: ... | ||
def __next__(self) -> int: ... | ||
def next(self) -> int: ... | ||
def __getitem__(self, index: int) -> int: ... | ||
def wait_for_publish(self, timeout: float | None = ...) -> None: ... | ||
def is_published(self) -> bool: ... | ||
|
||
class MQTTMessage: | ||
timestamp: int | ||
state: int | ||
dup: bool | ||
mid: int | ||
payload: bytes | bytearray | ||
qos: int | ||
retain: bool | ||
info: MQTTMessageInfo | ||
properties: Properties | None | ||
def __init__(self, mid: int = ..., topic: bytes | bytearray = ...) -> None: ... | ||
def __eq__(self, other: object) -> bool: ... | ||
def __ne__(self, other: object) -> bool: ... | ||
@property | ||
def topic(self) -> str: ... | ||
@topic.setter | ||
def topic(self, value: bytes | bytearray) -> None: ... | ||
|
||
class Client: | ||
suppress_exceptions: bool | ||
def __init__( | ||
self, | ||
client_id: str = ..., | ||
clean_session: bool | None = ..., | ||
userdata: _UserData | None = ..., | ||
protocol: int = ..., | ||
transport: str = ..., | ||
reconnect_on_failure: bool = ..., | ||
) -> None: ... | ||
def __del__(self) -> None: ... | ||
def reinitialise(self, client_id: str = ..., clean_session: bool = ..., userdata: _UserData | None = ...) -> None: ... | ||
def ws_set_options(self, path: str = ..., headers: _ExtraHeader | None = ...) -> None: ... | ||
def tls_set_context(self, context: _ssl.SSLContext | None = ...) -> None: ... | ||
def tls_set( | ||
self, | ||
ca_certs: str | None = ..., | ||
certfile: str | None = ..., | ||
keyfile: str | None = ..., | ||
cert_reqs: _ssl.VerifyMode | None = ..., | ||
tls_version: _ssl._SSLMethod | None = ..., | ||
ciphers: str | None = ..., | ||
keyfile_password: _ssl._PasswordType | None = ..., | ||
) -> None: ... | ||
def tls_insecure_set(self, value: bool) -> None: ... | ||
def proxy_set(self, **proxy_args: str | int) -> None: ... | ||
def enable_logger(self, logger: logging.Logger | None = ...) -> None: ... | ||
def disable_logger(self) -> None: ... | ||
def connect( | ||
self, | ||
host: str, | ||
port: int = ..., | ||
keepalive: int = ..., | ||
bind_address: str = ..., | ||
bind_port: int = ..., | ||
clean_start: int = ..., | ||
properties: Properties | None = ..., | ||
) -> int: ... | ||
def connect_srv( | ||
self, | ||
domain: str | None = ..., | ||
keepalive: int = ..., | ||
bind_address: str = ..., | ||
clean_start: int = ..., | ||
properties: Properties | None = ..., | ||
) -> int: ... | ||
def connect_async( | ||
self, | ||
host: str, | ||
port: int = ..., | ||
keepalive: int = ..., | ||
bind_address: str = ..., | ||
bind_port: int = ..., | ||
clean_start: int = ..., | ||
properties: Properties | None = ..., | ||
) -> None: ... | ||
def reconnect_delay_set(self, min_delay: int = ..., max_delay: int = ...) -> None: ... | ||
def reconnect(self) -> int: ... | ||
def loop(self, timeout: float = ..., max_packets: int = ...) -> int: ... | ||
def publish( | ||
self, topic: str, payload: _Payload | None = ..., qos: int = ..., retain: bool = ..., properties: Properties | None = ... | ||
) -> MQTTMessageInfo: ... | ||
def username_pw_set(self, username: str, password: str | bytes | bytearray | None = ...) -> None: ... | ||
def enable_bridge_mode(self) -> None: ... | ||
def is_connected(self) -> bool: ... | ||
def disconnect(self, reasoncode: ReasonCodes | None = ..., properties: Properties | None = ...) -> int: ... | ||
def subscribe( | ||
self, | ||
topic: str | tuple[str, SubscribeOptions] | list[tuple[str, SubscribeOptions]] | list[tuple[str, int]], | ||
qos: int = ..., | ||
options: SubscribeOptions | None = ..., | ||
properties: Properties | None = ..., | ||
) -> tuple[int, int]: ... | ||
def unsubscribe(self, topic: str | list[str], properties: Properties | None = ...) -> tuple[int, int]: ... | ||
def loop_read(self, max_packets: int = ...) -> int: ... | ||
def loop_write(self, max_packets: int = ...) -> int: ... | ||
def want_write(self) -> bool: ... | ||
def loop_misc(self) -> int: ... | ||
def max_inflight_messages_set(self, inflight: int) -> None: ... | ||
def max_queued_messages_set(self, queue_size: int) -> Client: ... | ||
def message_retry_set(self, retry: object) -> None: ... | ||
def user_data_set(self, userdata: _UserData) -> None: ... | ||
def will_set( | ||
self, topic: str, payload: _Payload | None = ..., qos: int = ..., retain: bool = ..., properties: Properties | None = ... | ||
) -> None: ... | ||
def will_clear(self) -> None: ... | ||
def socket(self) -> _Socket | WebsocketWrapper: ... | ||
def loop_forever(self, timeout: float = ..., max_packets: int = ..., retry_first_connection: bool = ...) -> int: ... | ||
def loop_start(self) -> int | None: ... | ||
def loop_stop(self, force: bool = ...) -> int | None: ... | ||
@property | ||
def on_log(self) -> _OnLog | None: ... | ||
@on_log.setter | ||
def on_log(self, func: _OnLog) -> None: ... | ||
def log_callback(self) -> Callable[[_OnLog], _OnLog]: ... | ||
@property | ||
def on_connect(self) -> _OnConnect | None: ... | ||
@on_connect.setter | ||
def on_connect(self, func: _OnConnect) -> None: ... | ||
def connect_callback(self) -> Callable[[_OnConnect], _OnConnect]: ... | ||
@property | ||
def on_connect_fail(self) -> _OnConnectFail | None: ... | ||
@on_connect_fail.setter | ||
def on_connect_fail(self, func: _OnConnectFail) -> None: ... | ||
def connect_fail_callback(self) -> Callable[[_OnConnectFail], _OnConnectFail]: ... | ||
@property | ||
def on_subscribe(self) -> _OnSubscribe | None: ... | ||
@on_subscribe.setter | ||
def on_subscribe(self, func: _OnSubscribe) -> None: ... | ||
def subscribe_callback(self) -> Callable[[_OnSubscribe], _OnSubscribe]: ... | ||
@property | ||
def on_message(self) -> _OnMessage | None: ... | ||
@on_message.setter | ||
def on_message(self, func: _OnMessage) -> None: ... | ||
def message_callback(self) -> Callable[[_OnMessage], _OnMessage]: ... | ||
@property | ||
def on_publish(self) -> _OnPublish | None: ... | ||
@on_publish.setter | ||
def on_publish(self, func: _OnPublish) -> None: ... | ||
def publish_callback(self) -> Callable[[_OnPublish], _OnPublish]: ... | ||
@property | ||
def on_unsubscribe(self) -> _OnUnsubscribe | None: ... | ||
@on_unsubscribe.setter | ||
def on_unsubscribe(self, func: _OnUnsubscribe) -> None: ... | ||
def unsubscribe_callback(self) -> Callable[[_OnUnsubscribe], _OnUnsubscribe]: ... | ||
@property | ||
def on_disconnect(self) -> _OnDisconnect: ... | ||
@on_disconnect.setter | ||
def on_disconnect(self, func: _OnDisconnect) -> None: ... | ||
def disconnect_callback(self) -> Callable[[_OnDisconnect], _OnDisconnect]: ... | ||
@property | ||
def on_socket_open(self) -> _OnSocket: ... | ||
@on_socket_open.setter | ||
def on_socket_open(self, func: _OnSocket) -> None: ... | ||
def socket_open_callback(self) -> Callable[[_OnSocket], _OnSocket]: ... | ||
@property | ||
def on_socket_close(self) -> _OnSocket: ... | ||
@on_socket_close.setter | ||
def on_socket_close(self, func: _OnSocket) -> None: ... | ||
def socket_close_callback(self) -> Callable[[_OnSocket], _OnSocket]: ... | ||
@property | ||
def on_socket_register_write(self) -> _OnSocket: ... | ||
@on_socket_register_write.setter | ||
def on_socket_register_write(self, func: _OnSocket) -> None: ... | ||
def socket_register_write_callback(self) -> Callable[[_OnSocket], _OnSocket]: ... | ||
@property | ||
def on_socket_unregister_write(self) -> _OnSocket: ... | ||
@on_socket_unregister_write.setter | ||
def on_socket_unregister_write(self, func: _OnSocket) -> None: ... | ||
def socket_unregister_write_callback(self) -> Callable[[_OnSocket], _OnSocket]: ... | ||
def message_callback_add(self, sub: str, callback: _OnMessage) -> None: ... | ||
def topic_callback(self, sub: str) -> Callable[[_OnMessage], _OnMessage]: ... | ||
def message_callback_remove(self, sub: str) -> None: ... | ||
|
||
class WebsocketWrapper: | ||
OPCODE_CONTINUATION: int | ||
OPCODE_TEXT: int | ||
OPCODE_BINARY: int | ||
OPCODE_CONNCLOSE: int | ||
OPCODE_PING: int | ||
OPCODE_PONG: int | ||
connected: bool | ||
def __init__(self, socket: _Socket, host: str, port: int, is_ssl: bool, path: str, extra_headers: _ExtraHeader) -> None: ... | ||
def __del__(self) -> None: ... | ||
def recv(self, length: int) -> bytes | bytearray | None: ... | ||
def read(self, length: int) -> bytes | bytearray | None: ... | ||
def send(self, data: bytes | bytearray) -> int: ... | ||
def write(self, data: bytes | bytearray) -> int: ... | ||
def close(self) -> None: ... | ||
def fileno(self) -> int: ... | ||
def pending(self) -> int: ... | ||
def setblocking(self, flag: bool) -> None: ... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
from collections.abc import Generator | ||
from typing import Any | ||
|
||
class MQTTMatcher: | ||
class Node: ... | ||
|
||
def __init__(self) -> None: ... | ||
def __setitem__(self, key: str, value: Any) -> None: ... | ||
def __getitem__(self, key: str) -> Any: ... | ||
def __delitem__(self, key: str) -> None: ... | ||
def iter_match(self, topic: str) -> Generator[Any, None, None]: ... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
class PacketTypes: | ||
indexes: range | ||
CONNECT: int | ||
CONNACK: int | ||
PUBLISH: int | ||
PUBACK: int | ||
PUBREC: int | ||
PUBREL: int | ||
PUBCOMP: int | ||
SUBSCRIBE: int | ||
SUBACK: int | ||
UNSUBSCRIBE: int | ||
UNSUBACK: int | ||
PINGREQ: int | ||
PINGRESP: int | ||
DISCONNECT: int | ||
AUTH: int | ||
WILLMESSAGE: int | ||
Names: list[str] |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.