fix(python): improve type checking

pull/2839/head
matejcik 1 year ago committed by matejcik
parent 00304471ca
commit c4bf4fa884

@ -0,0 +1 @@
Improve typing information when `TrezorClient` has a more intelligent UI object.

@ -17,7 +17,7 @@
import logging
import os
import warnings
from typing import TYPE_CHECKING, Any, Optional
from typing import TYPE_CHECKING, Any, Generic, Optional, TypeVar
from mnemonic import Mnemonic
@ -31,6 +31,8 @@ if TYPE_CHECKING:
from .ui import TrezorClientUI
from .transport import Transport
UI = TypeVar("UI", bound="TrezorClientUI")
LOG = logging.getLogger(__name__)
MAX_PASSPHRASE_LENGTH = 50
@ -70,7 +72,7 @@ def get_default_client(
return TrezorClient(transport, ui, **kwargs)
class TrezorClient:
class TrezorClient(Generic[UI]):
"""Trezor client, a connection to a Trezor device.
This class allows you to manage connection state, send and receive protobuf
@ -81,7 +83,7 @@ class TrezorClient:
def __init__(
self,
transport: "Transport",
ui: "TrezorClientUI",
ui: UI,
session_id: Optional[bytes] = None,
derive_cardano: Optional[bool] = None,
model: Optional[models.TrezorModel] = None,

@ -109,7 +109,7 @@ class BridgeTransport(Transport):
"""
PATH_PREFIX = "bridge"
ENABLED = True
ENABLED: bool = True
def __init__(
self, device: Dict[str, Any], legacy: bool, debug: bool = False

@ -36,7 +36,7 @@ class UdpTransport(ProtocolBasedTransport):
DEFAULT_HOST = "127.0.0.1"
DEFAULT_PORT = 21324
PATH_PREFIX = "udp"
ENABLED = True
ENABLED: bool = True
def __init__(self, device: Optional[str] = None) -> None:
if not device:

Loading…
Cancel
Save