SYMBOL INDEX (766 symbols across 74 files) FILE: docs/conf.py function setup (line 87) | def setup(app): FILE: micropy/app/main.py function main_callback (line 24) | def main_callback(ctx: typer.Context): function main_version (line 54) | def main_version(): function template_callback (line 66) | def template_callback( function path_callback (line 86) | def path_callback(ctx: typer.Context, value: Optional[Path]) -> Optional... function name_callback (line 92) | def name_callback(ctx: typer.Context, value: Optional[str]) -> Optional[... function stubs_callback (line 105) | def stubs_callback(ctx: typer.Context, value: Optional[List[str]]) -> Op... function main_init (line 134) | def main_init( function ensure_project (line 197) | def ensure_project(ctx: typer.Context) -> Project: function install_local_callback (line 207) | def install_local_callback(ctx: typer.Context, value: Optional[Path]) ->... function install_project_callback (line 222) | def install_project_callback(ctx: typer.Context, value: Optional[List[st... function main_install (line 245) | def main_install( FILE: micropy/app/stubs.py function stubs_callback (line 32) | def stubs_callback(): class CreateBackend (line 54) | class CreateBackend(str, Enum): method __new__ (line 58) | def __new__(cls, value: str, backend: Type[MetaPyDeviceBackend]): function create_changeset (line 65) | def create_changeset( function stubs_create (line 74) | def stubs_create( function stubs_add (line 206) | def stubs_add(ctx: typer.Context, stub_name: str, force: bool = False): function stubs_search (line 248) | def stubs_search(ctx: typer.Context, query: str, show_outdated: bool = F... function stubs_list (line 273) | def stubs_list(ctx: typer.Context): FILE: micropy/config/config.py class Config (line 14) | class Config: method __init__ (line 29) | def __init__( method source (line 46) | def source(self) -> ConfigSource: method source (line 50) | def source(self, value: Any) -> ConfigSource: method config (line 55) | def config(self) -> dict: method raw (line 58) | def raw(self) -> dict: method sync (line 61) | def sync(self) -> dict: method parse_key (line 72) | def parse_key(self, key: str) -> Tuple[Sequence[str], str]: method get (line 94) | def get(self, key: str, default: Any = None) -> Any: method set (line 114) | def set(self, key: str, value: Any) -> Any: method add (line 129) | def add(self, key: str, value: Any) -> Any: method pop (line 144) | def pop(self, key: str) -> Any: method extend (line 163) | def extend(self, key: str, value: List[Any], unique: bool = False) -> ... method upsert (line 182) | def upsert(self, key: str, value: Union[List[Any], dict]) -> dict: method search (line 198) | def search(self, key): FILE: micropy/config/config_dict.py class DictConfigSource (line 6) | class DictConfigSource(ConfigSource): method __init__ (line 7) | def __init__(self, config: Optional[dict] = None): method exists (line 18) | def exists(self) -> bool: method process (line 21) | def process(self) -> dict: method prepare (line 24) | def prepare(self): method save (line 27) | def save(self, content: dict) -> dict: FILE: micropy/config/config_json.py class JSONConfigSource (line 9) | class JSONConfigSource(ConfigSource): method __init__ (line 17) | def __init__(self, path: Path): method file_path (line 22) | def file_path(self) -> Path: method file_path (line 27) | def file_path(self, value: Path) -> Path: method exists (line 41) | def exists(self) -> bool: method process (line 44) | def process(self) -> dict: method prepare (line 57) | def prepare(self): method save (line 63) | def save(self, content: dict) -> Path: FILE: micropy/config/config_source.py class ConfigSource (line 10) | class ConfigSource(contextlib.AbstractContextManager, metaclass=abc.ABCM... method __init__ (line 19) | def __init__(self, initial_config: Optional[dict] = None): method config (line 24) | def config(self) -> dict: method config (line 29) | def config(self, value: dict) -> dict: method exists (line 43) | def exists(self) -> bool: method save (line 47) | def save(self, content: Any) -> Any: method process (line 51) | def process(self) -> dict: method prepare (line 60) | def prepare(self) -> Any: method __enter__ (line 63) | def __enter__(self) -> dict: method __exit__ (line 68) | def __exit__(self, *args): FILE: micropy/exceptions.py class MicropyException (line 5) | class MicropyException(Exception): class StubError (line 9) | class StubError(MicropyException): method __init__ (line 12) | def __init__(self, message=None, stub=None): class StubValidationError (line 20) | class StubValidationError(StubError): method __init__ (line 23) | def __init__(self, path, errors, *args, **kwargs): method __str__ (line 27) | def __str__(self): class StubNotFound (line 31) | class StubNotFound(StubError): method __init__ (line 34) | def __init__(self, stub_name=None): class RequirementException (line 40) | class RequirementException(MicropyException): method __init__ (line 43) | def __init__(self, *args, **kwargs): class RequirementNotFound (line 48) | class RequirementNotFound(RequirementException): class PyDeviceError (line 52) | class PyDeviceError(MicropyException): method __init__ (line 55) | def __init__(self, message: str = None): class PyDeviceConnectionError (line 60) | class PyDeviceConnectionError(PyDeviceError): method __init__ (line 63) | def __init__(self, location: str): class PyDeviceFileIntegrityError (line 67) | class PyDeviceFileIntegrityError(PyDeviceError): method __init__ (line 72) | def __init__(self, device_path: str, device_sum: str, digest: str): FILE: micropy/logger.py class Log (line 16) | class Log: method __init__ (line 21) | def __init__(self): method add_logger (line 27) | def add_logger(cls, service_name, base_color="white", **kwargs): method get_logger (line 36) | def get_logger(cls, service_name): class ServiceLog (line 43) | class ServiceLog: method __init__ (line 55) | def __init__(self, service_name="MicroPy", base_color="bright_green", ... method silent (line 68) | def silent(self): method load_handler (line 73) | def load_handler(self): method parse_msg (line 92) | def parse_msg(self, msg, accent_color=None): method get_parents (line 118) | def get_parents(self, names=None): method get_service (line 128) | def get_service(self, **kwargs): method iter_formatted (line 145) | def iter_formatted(self, message, **kwargs): method echo (line 159) | def echo(self, msg, **kwargs): method info (line 193) | def info(self, msg, **kwargs): method title (line 204) | def title(self, msg, **kwargs): method error (line 213) | def error(self, msg, exception=None, **kwargs): method warn (line 236) | def warn(self, msg, **kwargs): method exception (line 247) | def exception(self, error, **kwargs): method success (line 260) | def success(self, msg, **kwargs): method debug (line 274) | def debug(self, msg, **kwargs): FILE: micropy/main.py class MicroPyOptions (line 17) | class MicroPyOptions: class MicroPy (line 22) | class MicroPy: method __init__ (line 30) | def __init__(self, *, options: Optional[MicroPyOptions] = None): method setup (line 42) | def setup(self): method stubs (line 49) | def stubs(self) -> StubManager: method project (line 61) | def project(self): method resolve_project (line 71) | def resolve_project(self, path, verbose=True): FILE: micropy/packages/__init__.py function create_dependency_source (line 18) | def create_dependency_source( FILE: micropy/packages/package.py class Package (line 8) | class Package: method __init__ (line 9) | def __init__( method name (line 38) | def name(self) -> str: method path (line 42) | def path(self) -> Optional[Path]: method full_name (line 48) | def full_name(self) -> str: method uri (line 58) | def uri(self) -> Optional[str]: method vcs (line 65) | def vcs(self) -> Optional[str]: method revision (line 69) | def revision(self) -> Optional[str]: method line (line 73) | def line(self) -> Optional[str]: method specs (line 77) | def specs(self) -> List[Tuple[str, str]]: method pretty_specs (line 81) | def pretty_specs(self) -> str: method from_text (line 92) | def from_text(cls, name: str, specs: str) -> "Package": method __str__ (line 115) | def __str__(self) -> str: FILE: micropy/packages/source.py class DependencySource (line 12) | class DependencySource(AbstractContextManager): method __init__ (line 22) | def __init__(self, package: Package): method package (line 28) | def package(self) -> Package: method handle_cleanup (line 32) | def handle_cleanup(self): method get_root (line 39) | def get_root(self, path: Path) -> Optional[Path]: method generate_stubs (line 54) | def generate_stubs(self, path: Path) -> List[Tuple[Path, Path]]: method __enter__ (line 69) | def __enter__(self): method __exit__ (line 72) | def __exit__(self, *args): method __repr__ (line 75) | def __repr__(self): FILE: micropy/packages/source_package.py class PackageDependencySource (line 14) | class PackageDependencySource(DependencySource): method __init__ (line 26) | def __init__(self, package: Package, format_desc: Optional[Callable[..... method repo_url (line 39) | def repo_url(self) -> str: method source_url (line 44) | def source_url(self) -> str: method file_name (line 48) | def file_name(self) -> str: method fetch (line 51) | def fetch(self) -> bytes: method __enter__ (line 63) | def __enter__(self) -> Union[Path, List[Tuple[Path, Path]]]: method __exit__ (line 86) | def __exit__(self, *args): class VCSDependencySource (line 91) | class VCSDependencySource(DependencySource): method __init__ (line 94) | def __init__(self, package: Package, format_desc: Optional[Callable[..... method repo_url (line 110) | def repo_url(self) -> str: method source_url (line 114) | def source_url(self) -> str: method file_name (line 118) | def file_name(self) -> str: method fetch (line 121) | def fetch(self, dest_path: Path) -> Path: method __enter__ (line 136) | def __enter__(self) -> Union[Path, List[Tuple[Path, Path]]]: method __exit__ (line 152) | def __exit__(self, *args): FILE: micropy/packages/source_path.py class LocalDependencySource (line 8) | class LocalDependencySource(DependencySource): method __init__ (line 17) | def __init__(self, package: Package, path: Path): method path (line 23) | def path(self) -> Path: method __enter__ (line 26) | def __enter__(self) -> Union[Path, List[Tuple[Path, Optional[Path]]]]: FILE: micropy/project/checks.py function iter_vscode_ext (line 14) | def iter_vscode_ext(name=None): function vscode_ext_min_version (line 32) | def vscode_ext_min_version(ext, min_version=VSCODE_MS_PY_MINVER, info=No... FILE: micropy/project/modules/modules.py class ProjectModule (line 19) | class ProjectModule(metaclass=abc.ABCMeta): method __init__ (line 25) | def __init__(self, parent: Optional[ProjectModule] = None, log: Option... method parent (line 30) | def parent(self): method parent (line 35) | def parent(self, parent: Type[ProjectModule]) -> Type[ProjectModule]: method config (line 46) | def config(self) -> Union[dict, Config]: method load (line 50) | def load(self): method create (line 54) | def create(self, *args: Any, **kwargs: Any) -> Any: method update (line 58) | def update(self): method add (line 62) | def add(self, component: Type[ProjectModule], *args: Any, **kwargs: An... method remove (line 71) | def remove(self, component: Type[ProjectModule]) -> Any: # noqa: B027 method hook (line 80) | def hook(cls, *args: Any, **kwargs: Any) -> Callable[..., Any]: method resolve_hook (line 107) | def resolve_hook(self, name: str) -> Union[Optional[HookProxy], T]: class HookProxy (line 128) | class HookProxy: method __init__ (line 144) | def __init__(self, name: str): method __call__ (line 150) | def __call__(self, *args, **kwargs): method __str__ (line 156) | def __str__(self): method __repr__ (line 160) | def __repr__(self): method resolve_proxy (line 164) | def resolve_proxy(self, **kwargs: Any) -> (Type[ProjectModule], str): method _get_instance (line 191) | def _get_instance(self, attr: Callable[..., Any]) -> Optional[Type[Pro... method is_descriptor (line 206) | def is_descriptor(self) -> bool: method get (line 215) | def get(self) -> T: method add_method (line 221) | def add_method(self, func: Callable[..., Any], **kwargs: Any) -> Proxy... method add_instance (line 247) | def add_instance(self, inst: Any) -> Any: method get_name (line 256) | def get_name(self, func: Callable[..., Any], params: Optional[dict] = ... FILE: micropy/project/modules/packages.py class PackagesModule (line 19) | class PackagesModule(ProjectModule): method __init__ (line 32) | def __init__(self, path, **kwargs): method packages (line 37) | def packages(self): method path (line 42) | def path(self): method pkg_path (line 53) | def pkg_path(self): method config (line 63) | def config(self) -> Config: method context (line 73) | def context(self) -> Config: method cache (line 83) | def cache(self) -> Config: method install_package (line 92) | def install_package(self, source: Union[LocalDependencySource, Package... method add_from_file (line 109) | def add_from_file(self, path: Optional[Path] = None, dev: bool = False... method add_package (line 130) | def add_package(self, package, dev=False, **kwargs): method load (line 166) | def load(self, fetch=True, **kwargs): method create (line 198) | def create(self): method update (line 205) | def update(self): class DevPackagesModule (line 224) | class DevPackagesModule(PackagesModule): method __init__ (line 229) | def __init__(self, path, **kwargs): method create (line 233) | def create(self): method load (line 238) | def load(self, *args, **kwargs): method add_package (line 243) | def add_package(self, package, **kwargs): method add_from_file (line 248) | def add_from_file(self, path=None, **kwargs): FILE: micropy/project/modules/stubs.py class StubsModule (line 13) | class StubsModule(ProjectModule): method __init__ (line 24) | def __init__( method context (line 32) | def context(self): method config (line 37) | def config(self) -> dict: method stubs (line 48) | def stubs(self) -> Union[StubManager, Sequence[DeviceStub]]: method get_stub_tree (line 58) | def get_stub_tree(self, stubs) -> Sequence[Path]: method _resolve_subresource (line 75) | def _resolve_subresource( method _load_stub_data (line 97) | def _load_stub_data(self, stub_data=None, **kwargs): method load (line 110) | def load(self, **kwargs): method create (line 125) | def create(self): method update (line 130) | def update(self): method add_stub (line 136) | def add_stub(self, stub, **kwargs): FILE: micropy/project/modules/templates.py class TemplatesModule (line 8) | class TemplatesModule(ProjectModule): method __init__ (line 25) | def __init__(self, templates=None, run_checks=True, **kwargs): method config (line 31) | def config(self): method get_provider (line 40) | def get_provider(self, templates): method load (line 43) | def load(self, **kwargs): method create (line 51) | def create(self): method update (line 69) | def update(self): FILE: micropy/project/project.py class Project (line 12) | class Project(ProjectModule): method __init__ (line 22) | def __init__(self, path: str, name: Optional[str] = None, **kwargs: Any): method __getattr__ (line 37) | def __getattr__(self, name: str) -> Any: method exists (line 46) | def exists(self) -> bool: method config (line 56) | def config(self) -> Config: method context (line 66) | def context(self) -> Config: method cache (line 76) | def cache(self) -> Config: method iter_children_by_priority (line 85) | def iter_children_by_priority(self) -> Iterator[Type[ProjectModule]]: method add (line 100) | def add(self, component, *args, **kwargs): method remove (line 111) | def remove(self, component): method load (line 121) | def load(self, **kwargs: Any) -> "Project": method create (line 134) | def create(self): method update (line 153) | def update(self): FILE: micropy/project/template.py class Template (line 13) | class Template: method __init__ (line 27) | def __init__(self, template, **kwargs): method context (line 35) | def context(self): method iter_clean (line 39) | def iter_clean(self, data=None): method run_checks (line 53) | def run_checks(self): method update (line 65) | def update(self, root): method update_as_json (line 85) | def update_as_json(self, path): method update_as_text (line 98) | def update_as_text(self, path, by_contains=None): method render_stream (line 122) | def render_stream(self): method iter_relative_paths (line 127) | def iter_relative_paths(self, paths: List[Path], strict: bool = False)... method __str__ (line 151) | def __str__(self): class GenericTemplate (line 156) | class GenericTemplate(Template): method __init__ (line 159) | def __init__(self, *args, **kwargs): method context (line 164) | def context(self): class CodeTemplate (line 169) | class CodeTemplate(Template): method __init__ (line 177) | def __init__(self, *args, **kwargs): method context (line 184) | def context(self): class PylintTemplate (line 201) | class PylintTemplate(Template): method __init__ (line 206) | def __init__(self, *args, **kwargs): method context (line 212) | def context(self): class TemplateProvider (line 223) | class TemplateProvider: method __init__ (line 248) | def __init__(self, templates, log=None, **kwargs): method get (line 271) | def get(self, name, *args, **kwargs): method render_to (line 290) | def render_to(self, name, parent_dir, *args, **kwargs): method update (line 317) | def update(self, name, root_dir, **kwargs): method templates (line 339) | def templates(self): FILE: micropy/pyd/abc.py class StartHandler (line 12) | class StartHandler(Protocol): method __call__ (line 13) | def __call__(self, *, name: str = None, size: int | None = None) -> Any: class UpdateHandler (line 17) | class UpdateHandler(Protocol): method __call__ (line 18) | def __call__(self, *, size: int | None = None) -> Any: class EndHandler (line 22) | class EndHandler(Protocol): method __call__ (line 23) | def __call__(self) -> Any: class MessageHandler (line 27) | class MessageHandler(Protocol): method __call__ (line 28) | def __call__(self, data: AnyStr) -> Any: class StreamConsumer (line 32) | class StreamConsumer(Protocol): method on_start (line 35) | def on_start(self) -> StartHandler: method on_update (line 40) | def on_update(self) -> UpdateHandler: method on_end (line 45) | def on_end(self) -> EndHandler: class MessageConsumer (line 49) | class MessageConsumer(Protocol): method on_message (line 52) | def on_message(self) -> MessageHandler: class PyDeviceConsumer (line 56) | class PyDeviceConsumer(MessageConsumer, StreamConsumer, Protocol): class MetaPyDeviceBackend (line 60) | class MetaPyDeviceBackend(abc.ABC): method establish (line 64) | def establish(self, target: str) -> MetaPyDeviceBackend: method connect (line 68) | def connect(self) -> None: method disconnect (line 72) | def disconnect(self) -> None: method reset (line 76) | def reset(self) -> None: method resolve_path (line 80) | def resolve_path(self, target_path: DevicePath | str | Path) -> Device... method connected (line 85) | def connected(self) -> bool: method push_file (line 89) | def push_file( method pull_file (line 100) | def pull_file( method list_dir (line 111) | def list_dir(self, path: DevicePath) -> list[DevicePath]: method remove (line 115) | def remove(self, path: DevicePath) -> None: method copy_dir (line 119) | def copy_dir( method eval (line 130) | def eval(self, command: str, *, consumer: MessageConsumer | None = None): method eval_script (line 134) | def eval_script( class MetaPyDevice (line 147) | class MetaPyDevice(abc.ABC, Generic[AnyBackend]): method connect (line 153) | def connect(self) -> None: method disconnect (line 157) | def disconnect(self) -> None: method copy_to (line 161) | def copy_to(self, source_path: HostPath, target_path: DevicePath) -> N... method copy_from (line 165) | def copy_from( method remove (line 171) | def remove(self, target_path: DevicePath) -> None: method run_script (line 175) | def run_script( FILE: micropy/pyd/backend_rshell.py class RShell (line 21) | class RShell: method connect (line 25) | def connect(self, port: str): class RShellConsumer (line 43) | class RShellConsumer: method __init__ (line 46) | def __init__(self, child_consumer: MessageHandler): method _output (line 50) | def _output(self, data: str): method on_message (line 63) | def on_message(self, char: bytes): class RShellPyDeviceBackend (line 84) | class RShellPyDeviceBackend(MetaPyDeviceBackend): method _pyb_root (line 94) | def _pyb_root(self) -> str: method connected (line 102) | def connected(self) -> bool: method resolve_path (line 105) | def resolve_path(self, path: str | DevicePath | Path) -> DevicePath: method establish (line 112) | def establish(self, target: str) -> RShellPyDeviceBackend: method connect (line 119) | def connect(self) -> None: method disconnect (line 130) | def disconnect(self) -> None: method reset (line 133) | def reset(self) -> None: method push_file (line 136) | def push_file(self, source_path: HostPath, target_path: DevicePath = N... method pull_file (line 153) | def pull_file(self, source_path: DevicePath, target_path: HostPath, **... method list_dir (line 158) | def list_dir(self, path: DevicePath) -> list[DevicePath]: method copy_dir (line 169) | def copy_dir( method repl (line 195) | def repl(self): method eval (line 208) | def eval(self, command: str, *, consumer: MessageConsumer = None): method eval_script (line 216) | def eval_script( method remove (line 234) | def remove(self, path: DevicePath) -> None: FILE: micropy/pyd/backend_upydevice.py class UOS (line 32) | class UOS(UPY_UOS): method stat (line 34) | def stat(self, path): function retry (line 38) | def retry(fn: Callable[P, T]) -> Callable[P, T | None]: class UPyDeviceBackend (line 69) | class UPyDeviceBackend(MetaPyDeviceBackend): method _ensure_connected (line 75) | def _ensure_connected(self): method _rand_device_path (line 79) | def _rand_device_path(self) -> DevicePath: method uos (line 84) | def uos(self) -> UOS: method _pyb_root (line 90) | def _pyb_root(self) -> DevicePath: method resolve_path (line 96) | def resolve_path(self, path: DevicePath | str | Path) -> DevicePath: method establish (line 105) | def establish(self, target: str) -> UPyDeviceBackend: method connect (line 110) | def connect(self): method disconnect (line 116) | def disconnect(self): method reset (line 120) | def reset(self): method connected (line 127) | def connected(self) -> bool: method list_dir (line 130) | def list_dir(self, path: DevicePath) -> list[DevicePath]: method iter_files (line 133) | def iter_files(self, path: DevicePath) -> Generator[DevicePath, None, ... method copy_dir (line 147) | def copy_dir( method push_file (line 172) | def push_file( method pull_file (line 179) | def pull_file(self, source_path: DevicePath, target_path: HostPath, **... method _iter_hex_chunks (line 188) | def _iter_hex_chunks(self, content: str): method write_file (line 195) | def write_file( method _compute_chunk_size (line 229) | def _compute_chunk_size(self) -> int: method _compute_device_file_digest (line 235) | def _compute_device_file_digest( method read_file (line 260) | def read_file( method eval (line 314) | def eval(self, command: str, *, consumer: MessageConsumer = NoOpConsum... method eval_script (line 319) | def eval_script( method remove (line 333) | def remove(self, path: DevicePath) -> None: FILE: micropy/pyd/consumers.py class ProgressStreamConsumer (line 17) | class ProgressStreamConsumer: method __init__ (line 20) | def __init__( method on_start (line 29) | def on_start(self, *, name: str = None, size: int | None = None): method on_update (line 41) | def on_update(self, *, size: int | None = None): method on_end (line 44) | def on_end(self): class ConsumerDelegate (line 48) | class ConsumerDelegate: method __init__ (line 51) | def __init__(self, *consumers: StreamConsumer | MessageConsumer | None): method consumer_for (line 54) | def consumer_for(self, action: str, *args, **kwargs): class StreamHandlers (line 67) | class StreamHandlers(NamedTuple): class MessageHandlers (line 73) | class MessageHandlers(NamedTuple): function _no_op (line 77) | def _no_op(*args, **kwargs): FILE: micropy/pyd/pydevice.py class PyDevice (line 20) | class PyDevice(MetaPyDevice[AnyBackend], Generic[AnyBackend]): method __init__ (line 24) | def __init__( method copy_from (line 39) | def copy_from( method copy_to (line 64) | def copy_to(self, source_path: HostPath, target_path: DevicePath, **kw... method remove (line 71) | def remove(self, target_path: DevicePath) -> None: method connect (line 74) | def connect(self): method disconnect (line 77) | def disconnect(self): method run_script (line 80) | def run_script( method run (line 96) | def run(self, content: str) -> str | None: FILE: micropy/stubs/manifest.py class StubsManifest (line 11) | class StubsManifest(GenericModel, Generic[AnyStubPackage], abc.ABC): class Config (line 12) | class Config: method resolve_package_url (line 19) | def resolve_package_url(self, package: StubPackage) -> str: method resolve_package_absolute_name (line 22) | def resolve_package_absolute_name(self, package: StubPackage) -> str: method resolve_package_versioned_name (line 26) | def resolve_package_versioned_name(self, package: StubPackage) -> str: method resolve_package_absolute_versioned_name (line 30) | def resolve_package_absolute_versioned_name(self, package: StubPackage... FILE: micropy/stubs/package.py class StubPackage (line 8) | class StubPackage(BaseModel): class Config (line 9) | class Config: method package_name (line 17) | def package_name(self) -> str: FILE: micropy/stubs/repo.py class StubRepository (line 19) | class StubRepository: method __attrs_post_init__ (line 31) | def __attrs_post_init__(self) -> None: method packages (line 41) | def packages(self) -> Iterator[StubRepositoryPackage]: method build_indexes (line 45) | def build_indexes(self) -> None: method add_repository (line 61) | def add_repository(self, info: RepositoryInfo) -> StubRepository: method search (line 90) | def search( method latest_for_package (line 111) | def latest_for_package( method resolve_package (line 119) | def resolve_package(self, name: str) -> StubRepositoryPackage: FILE: micropy/stubs/repo_package.py class StubRepositoryPackage (line 10) | class StubRepositoryPackage: method url (line 15) | def url(self) -> str: method repo_name (line 19) | def repo_name(self) -> str: method name (line 23) | def name(self) -> str: method version (line 27) | def version(self) -> str: method absolute_name (line 31) | def absolute_name(self) -> str: method versioned_name (line 35) | def versioned_name(self) -> str: method absolute_versioned_name (line 39) | def absolute_versioned_name(self) -> str: method exact_matchers (line 43) | def exact_matchers(self) -> Iterator[str]: method partial_matchers (line 49) | def partial_matchers(self) -> Iterator[str]: method match_exact (line 54) | def match_exact(self, in_name: str) -> bool: FILE: micropy/stubs/repositories/micropy.py class MicropyStubPackage (line 13) | class MicropyStubPackage(StubPackage): class MicropyStubsManifest (line 18) | class MicropyStubsManifest(StubsManifest[MicropyStubPackage]): method check (line 23) | def check(cls, values: dict): method resolve_package_url (line 31) | def resolve_package_url(self, package: StubPackage) -> str: FILE: micropy/stubs/repositories/micropython.py class MicropythonStubsPackage (line 19) | class MicropythonStubsPackage(StubPackage): method package_version (line 24) | def package_version(self) -> NormalizedVersion: method __lt__ (line 27) | def __lt__(self, other: MicropythonStubsPackage) -> bool: method __eq__ (line 30) | def __eq__(self, other: MicropythonStubsPackage) -> bool: class MicropythonStubsManifest (line 34) | class MicropythonStubsManifest(StubsManifest[MicropythonStubsPackage]): method _get_packages (line 36) | def _get_packages(cls, v: dict[str, dict]): method resolve_package_url (line 40) | def resolve_package_url(self, package: StubPackage) -> str: FILE: micropy/stubs/repository_info.py class RepositoryInfo (line 11) | class RepositoryInfo(BaseModel): class Config (line 16) | class Config: method fetch_source (line 20) | def fetch_source(self) -> dict[str, Any]: FILE: micropy/stubs/source.py class LocateStrategy (line 29) | class LocateStrategy(Protocol): method prepare (line 31) | def prepare(self, location: PathStr) -> Union[PathStr, tuple[PathStr, ... class StubSource (line 39) | class StubSource: method _default_locators (line 46) | def _default_locators(self: StubSource) -> list[LocateStrategy]: method _do_locate (line 49) | def _do_locate(self, stack: ExitStack, path: PathStr, locator: LocateS... method ready (line 62) | def ready(self, location: Optional[PathStr] = None) -> ContextManager[... class StubInfoSpecLocator (line 81) | class StubInfoSpecLocator(LocateStrategy): method prepare (line 82) | def prepare(self, location: PathStr) -> PathStr: class RemoteStubLocator (line 88) | class RemoteStubLocator(LocateStrategy): method _unpack_archive (line 91) | def _unpack_archive(self, file_bytes: bytes, path: PathStr) -> PathStr: method prepare (line 107) | def prepare(self, location: PathStr) -> tuple[PathStr, Optional[Callab... class RepoStubLocator (line 129) | class RepoStubLocator(LocateStrategy): method prepare (line 132) | def prepare(self, location: PathStr) -> Union[PathStr, tuple[PathStr, ... function get_source (line 144) | def get_source(location, **kwargs): FILE: micropy/stubs/stubs.py class StubManager (line 19) | class StubManager: method __init__ (line 40) | def __init__(self, resource=None, repos=None): method __iter__ (line 49) | def __iter__(self): method __len__ (line 52) | def __len__(self): method iter_by_firmware (line 55) | def iter_by_firmware(self, stubs=None): method verbose_log (line 70) | def verbose_log(self, state): method _load (line 83) | def _load(self, stub_source, strict=True, **kwargs): method resolve_firmware (line 127) | def resolve_firmware(self, stub): method validate (line 155) | def validate(self, path, schema=None): method _get_stubtype (line 182) | def _get_stubtype(self, path): method is_valid (line 206) | def is_valid(self, path): method _check_existing (line 223) | def _check_existing(self, location): method load_from (line 253) | def load_from(self, directory, *args, **kwargs): method _should_recurse (line 276) | def _should_recurse(self, location): method add (line 299) | def add(self, location, dest=None, force=False): method from_stubber (line 338) | def from_stubber(self, path, dest): method from_metadata (line 373) | def from_metadata(self, package_name: str, path: Path) -> dict[str, str]: method resolve_subresource (line 422) | def resolve_subresource(self, stubs, subresource): class Stub (line 444) | class Stub: method __init__ (line 458) | def __init__(self, path, copy_to=None, **kwargs): method find_root (line 465) | def find_root(self, path: Path) -> Path: method copy_to (line 472) | def copy_to(self, dest, name=None): method resolve_link (line 481) | def resolve_link(cls, stub, link_path): method name (line 499) | def name(self): method __eq__ (line 503) | def __eq__(self, other): method __hash__ (line 506) | def __hash__(self): method __str__ (line 509) | def __str__(self): class DeviceStub (line 513) | class DeviceStub(Stub): method __init__ (line 525) | def __init__(self, path, copy_to=None, **kwargs): method firmware_name (line 545) | def firmware_name(self): method name (line 561) | def name(self): method __repr__ (line 568) | def __repr__(self): class FirmwareStub (line 576) | class FirmwareStub(Stub): method __init__ (line 588) | def __init__(self, path, copy_to=None, **kwargs): method name (line 597) | def name(self): method __repr__ (line 600) | def __repr__(self): FILE: micropy/utils/decorators.py function lazy_property (line 12) | def lazy_property(fn): FILE: micropy/utils/helpers.py function is_url (line 54) | def is_url(url): function ensure_valid_url (line 72) | def ensure_valid_url(url): function ensure_existing_dir (line 94) | def ensure_existing_dir(path: PathStr) -> Path: function is_existing_dir (line 123) | def is_existing_dir(path): function is_downloadable (line 141) | def is_downloadable(url): function get_url_filename (line 170) | def get_url_filename(url): function stream_download (line 185) | def stream_download(url, **kwargs): function search_xml (line 215) | def search_xml(url, node): function iter_requirements (line 236) | def iter_requirements(path): function get_package_meta (line 248) | def get_package_meta(name, url): function is_within_directory (line 283) | def is_within_directory( function safe_extract (line 294) | def safe_extract( function extract_tarbytes (line 309) | def extract_tarbytes(file_bytes: bytes, path: str) -> str: function create_dir_link (line 326) | def create_dir_link(source, target): function is_dir_link (line 367) | def is_dir_link(path): function is_update_available (line 389) | def is_update_available(): function get_cached_data (line 408) | def get_cached_data(url): function get_class_that_defined_method (line 414) | def get_class_that_defined_method(meth): FILE: micropy/utils/stub.py function locate_create_stubs (line 19) | def locate_create_stubs() -> Path: function import_source_code (line 24) | def import_source_code(module_name: str, path: Path) -> ModuleType: function import_stubber (line 42) | def import_stubber() -> ModuleType: function generate_stub (line 57) | def generate_stub(path, log_func=None): function prepare_create_stubs (line 85) | def prepare_create_stubs( FILE: micropy/utils/types.py class SupportsLessThan (line 15) | class SupportsLessThan(Protocol): method __lt__ (line 16) | def __lt__(self, other: Any) -> bool: FILE: micropy/utils/validate.py class Validator (line 15) | class Validator: method __init__ (line 23) | def __init__(self, schema_path): method _load_json (line 27) | def _load_json(self, path): method validate (line 41) | def validate(self, path): FILE: tests/app/conftest.py function runner (line 13) | def runner(): class MicroPyScenario (line 19) | class MicroPyScenario(NamedTuple): function mock_repo (line 26) | def mock_repo(mocker: MockFixture) -> StubRepository: function micropy_obj (line 33) | def micropy_obj( function context_mock (line 52) | def context_mock(request: pytest.FixtureRequest, mocker: MockFixture, mi... FILE: tests/app/test_main.py function project_path (line 18) | def project_path(tmp_path): class TemplateParamCase (line 22) | class TemplateParamCase(NamedTuple): function template_param (line 36) | def template_param(request: pytest.FixtureRequest, mocker: MockFixture): function test_template_callback (line 58) | def test_template_callback(mocker: MockFixture, micropy_obj, context_moc... function test_path_callback (line 73) | def test_path_callback(mocker: MockFixture, micropy_obj, context_mock, i... function test_name_callback (line 89) | def test_name_callback(mocker: MockFixture, micropy_obj, context_mock, i... function test_main_callback (line 111) | def test_main_callback(mocker: MockFixture, context_mock, micropy_obj, e... function test_stubs_callback (line 134) | def test_stubs_callback(mocker: MockFixture, context_mock, input, prompt... function test_main_init (line 153) | def test_main_init(mocker, micropy_obj, project_path, runner): function test_ensure_project (line 177) | def test_ensure_project(mocker: MockFixture, micropy_obj, expect, tmp_pa... function test_install_local_callback (line 192) | def test_install_local_callback(micropy_obj, context_mock, input, expect... function test_install_project_callback (line 209) | def test_install_project_callback(mocker, context_mock, micropy_obj, pac... function test_main_install (line 234) | def test_main_install(mocker, micropy_obj, runner, dev_flag): function test_main_version (line 250) | def test_main_version(runner): FILE: tests/app/test_stubs.py function test_create_changeset (line 19) | def test_create_changeset(input, expected): function pydevice_mock (line 29) | def pydevice_mock(mocker: MockerFixture): function pyb_mock (line 40) | def pyb_mock(request: pytest.FixtureRequest, mocker: MockerFixture): function stubs_locator_mock (line 48) | def stubs_locator_mock(mocker: MockerFixture): function stub_search_data (line 55) | def stub_search_data(mocker: MockerFixture): function test_stubs_create (line 72) | def test_stubs_create(mocker: MockerFixture, pyb_mock, micropy_obj, runn... function test_stubs_create__connect_error (line 79) | def test_stubs_create__connect_error(pydevice_mock, micropy_obj, runner): function test_stubs_create__script_error (line 85) | def test_stubs_create__script_error(pyb_mock, micropy_obj, runner): function test_stubs_add_success (line 96) | def test_stubs_add_success(micropy_obj, runner, stubs_locator_mock, mock... function test_stubs_add__not_found (line 110) | def test_stubs_add__not_found(micropy_obj, runner, stubs_locator_mock, m... function test_stubs_add__invalid (line 119) | def test_stubs_add__invalid(micropy_obj, runner, stubs_locator_mock, moc... function test_stubs_list (line 130) | def test_stubs_list(micropy_obj, runner): function test_stubs_search (line 142) | def test_stubs_search(stub_search_data, micropy_obj, runner, outdated): function test_stubs_search_no_results (line 160) | def test_stubs_search_no_results(mocker: MockerFixture, micropy_obj, run... FILE: tests/conftest.py function pytest_collection_modifyitems (line 21) | def pytest_collection_modifyitems(items): function cleanup_data (line 26) | def cleanup_data(mocker): function mock_prompt (line 35) | def mock_prompt(monkeypatch): function mock_micropy_path (line 50) | def mock_micropy_path(mocker, tmp_path): function mock_micropy (line 61) | def mock_micropy(mock_micropy_path): function mock_cwd (line 68) | def mock_cwd(request, tmp_path, mocker): function test_urls (line 78) | def test_urls(): function get_stub_paths (line 97) | def get_stub_paths(shared_datadir, tmp_path): function mock_mp_stubs (line 120) | def mock_mp_stubs(mock_micropy, mocker, shared_datadir): function get_stubs (line 128) | def get_stubs(get_stub_paths, mocker, tmp_path): function micropy_stubs (line 149) | def micropy_stubs(mocker, get_stubs): function test_archive (line 165) | def test_archive(shared_datadir): function mock_manifests (line 188) | def mock_manifests(mocker, requests_mock): function mock_checks (line 246) | def mock_checks(mocker): function mock_pkg (line 254) | def mock_pkg(mocker, tmp_path): function pytest_runtest_makereport (line 273) | def pytest_runtest_makereport(item, call): function pytest_runtest_setup (line 280) | def pytest_runtest_setup(item): class AssertUtils (line 287) | class AssertUtils: method dict_match_mocks (line 290) | def dict_match_mocks(self, d1): method dict_equal (line 299) | def dict_equal(self, d1, d2): method list_equal (line 309) | def list_equal(self, l1, l2): method load_json (line 314) | def load_json(self, path): method json_equal_dict (line 319) | def json_equal_dict(self, path, d2): method str_path (line 323) | def str_path(self, path, absolute=False): method get_rand_str (line 330) | def get_rand_str(self, length=10): function utils (line 339) | def utils(): FILE: tests/data/esp32_test_stub/frozen/ntptime.py function time (line 16) | def time(): function settime (line 31) | def settime(): FILE: tests/data/esp32_test_stub/frozen/ntptime.pyi function time (line 7) | def time() -> Any: ... function settime (line 11) | def settime() -> None: ... FILE: tests/data/esp32_test_stub/stubs/machine.py class ADC (line 8) | class ADC: method read (line 11) | def read(): class I2C (line 20) | class I2C: FILE: tests/data/esp8266_test_stub/frozen/ntptime.py function time (line 16) | def time(): function settime (line 31) | def settime(): FILE: tests/data/esp8266_test_stub/frozen/ntptime.pyi function time (line 7) | def time() -> Any: ... function settime (line 11) | def settime() -> None: ... FILE: tests/data/esp8266_test_stub/stubs/machine.py class ADC (line 8) | class ADC: method read (line 11) | def read(): class I2C (line 20) | class I2C: FILE: tests/data/fware_test_stub/frozen/utarfile.py function roundup (line 13) | def roundup(val, align): class FileSection (line 17) | class FileSection: method __init__ (line 18) | def __init__(self, f, content_len, aligned_len): method read (line 23) | def read(self, sz=65536): method readinto (line 33) | def readinto(self, buf): method skip (line 42) | def skip(self): class TarInfo (line 46) | class TarInfo: method __str__ (line 47) | def __str__(self): class TarFile (line 51) | class TarFile: method __init__ (line 52) | def __init__(self, name=None, fileobj=None): method next (line 59) | def next(self): method __iter__ (line 79) | def __iter__(self): method __next__ (line 82) | def __next__(self): method extractfile (line 88) | def extractfile(self, tarinfo): FILE: tests/data/fware_test_stub/frozen/utarfile.pyi function roundup (line 7) | def roundup(val: Any, align: Any) -> Any: ... class FileSection (line 11) | class FileSection: method __init__ (line 12) | def __init__(self, f: Any, content_len: smallint, aligned_len: smallin... method read (line 13) | def read(self, sz: Any = 65536) -> Union[Any, bytes]: ... method readinto (line 18) | def readinto(self, buf: Any) -> Union[Any, number]: ... method skip (line 23) | def skip(self) -> None: ... class TarInfo (line 25) | class TarInfo: method __str__ (line 26) | def __str__(self) -> str: ... class TarFile (line 28) | class TarFile: method __init__ (line 29) | def __init__(self, name: str = None, fileobj: Any = None) -> None: ... method next (line 30) | def next(self) -> Optional[Any]: ... method __iter__ (line 37) | def __iter__(self) -> Any: ... method __next__ (line 40) | def __next__(self) -> Any: ... method extractfile (line 43) | def extractfile(self, tarinfo: Any) -> Any: ... FILE: tests/data/fware_test_stub/frozen/utokenize.py class TokenInfo (line 12) | class TokenInfo(namedtuple("TokenInfo", ("type", "string", "start", "end... method __str__ (line 13) | def __str__(self): function get_indent (line 22) | def get_indent(l): function tokenize (line 28) | def tokenize(readline): FILE: tests/data/fware_test_stub/frozen/utokenize.pyi class TokenInfo (line 7) | class TokenInfo(namedtuple(str, Tuple[str, str, str, str, str])): method __str__ (line 8) | def __str__(self) -> str: ... function get_indent (line 10) | def get_indent(l: Any) -> Tuple[int, Any]: ... function tokenize (line 11) | def tokenize(readline: Any) -> None: ... FILE: tests/data/stubber_test_stub/micropython.py function alloc_emergency_exception_buf (line 8) | def alloc_emergency_exception_buf(): function const (line 12) | def const(): function heap_lock (line 16) | def heap_lock(): function heap_unlock (line 20) | def heap_unlock(): function kbd_intr (line 24) | def kbd_intr(): function mem_info (line 28) | def mem_info(): function opt_level (line 32) | def opt_level(): function qstr_info (line 36) | def qstr_info(): function schedule (line 40) | def schedule(): function stack_use (line 44) | def stack_use(): FILE: tests/test_checks.py function test_vscode_ext_min_version (line 6) | def test_vscode_ext_min_version(mock_checks, mocker): FILE: tests/test_config.py class TestConfig (line 7) | class TestConfig: method test_config (line 11) | def test_config(self, tmp_path): method get_file_data (line 16) | def get_file_data(self, conf): method test_default (line 20) | def test_default(self, tmp_path): method test_load_from_file (line 30) | def test_load_from_file(self, tmp_path, utils): method test_override (line 39) | def test_override(self, test_config, tmp_path): method test_get (line 49) | def test_get(self, test_config): method test_set (line 56) | def test_set(self, test_config): method test_update_from_file (line 63) | def test_update_from_file(self, test_config): method test_extend (line 75) | def test_extend(self, test_config): method test_upsert (line 83) | def test_upsert(self, test_config): method test_dict (line 90) | def test_dict(self): FILE: tests/test_highlevel.py function mock_requests (line 11) | def mock_requests(mocker, requests_mock, test_archive): class TestCreateProject (line 37) | class TestCreateProject: method build_project (line 59) | def build_project(self, mpy, path): method check_mp_data (line 71) | def check_mp_data(self, path, utils, name="esp32", expect=None): method check_vscode (line 78) | def check_vscode(self, path, name="esp32", expect=None): method test_setup_stubs (line 88) | def test_setup_stubs(self, mock_micropy, get_stub_paths, shared_datadir): method test_create_project (line 93) | def test_create_project(self, micropy_stubs, tmp_path, utils): method test_add_package (line 99) | def test_add_package(self, mock_pkg, micropy_stubs, tmp_path, utils): method test_add_local_package (line 108) | def test_add_local_package(self, tmp_path, local_pkg, micropy_stubs, u... FILE: tests/test_main.py function test_setup (line 6) | def test_setup(mock_micropy_path): function test_add_stub (line 19) | def test_add_stub(mock_micropy, shared_datadir): function test_stub_error (line 32) | def test_stub_error(): function test_resolve_project (line 37) | def test_resolve_project(mocker, mock_micropy): FILE: tests/test_packages.py class TestPackages (line 10) | class TestPackages: class MockSource (line 11) | class MockSource: method __init__ (line 12) | def __init__(self, pkg, has_init): method mock_source (line 17) | def mock_source(self, request, mock_pkg): method mock_source_path (line 24) | def mock_source_path(self, request, tmp_path): method test_factory (line 45) | def test_factory(self, package, expect): method test_package (line 70) | def test_package(self, mock_pkg, requirement, expect): method test_package_source (line 77) | def test_package_source(self, mock_source): method test_package_path (line 94) | def test_package_path(self, mock_source_path): method test_package_from_text (line 116) | def test_package_from_text(self, pkg, expect, utils): FILE: tests/test_project.py function get_module (line 12) | def get_module(tmp_path): function get_config (line 36) | def get_config(): function get_context (line 62) | def get_context(): function test_project (line 95) | def test_project(micropy_stubs, tmp_path, get_module): function tmp_project (line 109) | def tmp_project(tmp_path, shared_datadir): function test_implementation (line 116) | def test_implementation(mocker): function test_project_queue (line 128) | def test_project_queue(tmp_path, mock_cwd, mocker): class TestProject (line 158) | class TestProject: method test_create (line 159) | def test_create(self, test_project, mock_checks, mods, utils): method test_config (line 169) | def test_config(self, test_project, get_config, mods, utils): method test_context (line 179) | def test_context(self, test_project, get_context, mods, tmp_path, utils): method test_load (line 191) | def test_load(self, mock_pkg, tmp_project, mock_checks, test_project, ... method test_update (line 195) | def test_update(self, mock_pkg, tmp_project, mock_checks, test_project... class TestStubsModule (line 200) | class TestStubsModule: method stub_module (line 202) | def stub_module(self, mocker, tmp_path, micropy_stubs): method test_load (line 212) | def test_load(self, tmp_project, stub_module, get_stub_paths): method test_add_stub (line 224) | def test_add_stub(self, test_project, get_stub_paths, mocker): class TestPackagesModule (line 238) | class TestPackagesModule: method test_package (line 240) | def test_package(self, mocker, tmp_path, mock_pkg, test_project): method test_add_package (line 247) | def test_add_package(self, test_project, mock_pkg, tmp_path): method test_add_local_package (line 256) | def test_add_local_package(self, test_project, tmp_path, utils): method test_package_error (line 263) | def test_package_error(self, test_project, mock_pkg, mocker, tmp_path,... method test_add_dev_package (line 273) | def test_add_dev_package(self, mocker, mock_pkg, test_project): FILE: tests/test_pyd.py function mock_upy (line 19) | def mock_upy(mocker: MockFixture): function mock_upy_uos (line 25) | def mock_upy_uos(mocker: MockFixture): function mock_upy_retry (line 31) | def mock_upy_retry(mocker: MockFixture): function mock_rsh (line 37) | def mock_rsh(mocker: MockFixture): class MockAdapter (line 45) | class MockAdapter: method __init__ (line 50) | def __init__(self, backend: Literal["upy", "rsh"], mock: MagicMock, mo... method is_rsh (line 57) | def is_rsh(self) -> bool: method is_upy (line 61) | def is_upy(self) -> bool: method connect (line 65) | def connect(self) -> MagicMock: method device (line 69) | def device(self): function with_consumer (line 79) | def with_consumer(request: pytest.FixtureRequest, mocker: MockFixture): class TestPyDeviceBackend (line 86) | class TestPyDeviceBackend: method pymock_setup (line 102) | def pymock_setup(self, request: pytest.FixtureRequest): method pymock (line 111) | def pymock(self, pymock_setup, request: pytest.FixtureRequest, mock_up... method test_init (line 117) | def test_init(self, pymock): method test_init__connect_fail (line 127) | def test_init__connect_fail(self, pymock): method test_connected__default (line 133) | def test_connected__default(self, pymock): method test_connected (line 141) | def test_connected(self, pymock): method test_disconnect (line 146) | def test_disconnect(self, pymock): method test_reset (line 153) | def test_reset(self, pymock, mocker: MockFixture): method test_eval (line 162) | def test_eval(self, pymock, mocker: MockFixture, with_consumer): method test_eval_script (line 177) | def test_eval_script(self, pymock, mocker: MockFixture, with_consumer): method read_file_effects (line 194) | def read_file_effects(self): method test_read_file (line 207) | def test_read_file(self, mock_upy_retry, pymock): method test_read_file__with_integrity (line 222) | def test_read_file__with_integrity(self, mock_upy_retry, pymock): method test_read_file__with_integrity_fail (line 241) | def test_read_file__with_integrity_fail(self, mock_upy_retry, pymock, ... method test_read_file__bad_chunk (line 258) | def test_read_file__bad_chunk(self, mock_upy_retry, pymock, mocker: Mo... method test_read_file__error_chunk (line 276) | def test_read_file__error_chunk(self, mock_upy_retry, pymock, mocker: ... method test_pull_file (line 293) | def test_pull_file(self, pymock, tmp_path, mock_upy_retry): method test_iter_files (line 312) | def test_iter_files(self, pymock): class TestPyDevice (line 335) | class TestPyDevice: method mock_backend (line 337) | def mock_backend(self, mocker: MockFixture): method path_type (line 350) | def path_type(self, request: pytest.FixtureRequest): method test_init (line 361) | def test_init(self, mock_backend, pyd_kwargs): method test_connect (line 373) | def test_connect(self, mock_backend): method test_disconnect (line 378) | def test_disconnect(self, mock_backend): method test_copy_from (line 383) | def test_copy_from(self, mock_backend, path_type, mocker): method test_copy_from__integrity (line 403) | def test_copy_from__integrity(self, mock_backend, path_type, mocker): method test_copy_to (line 423) | def test_copy_to(self, mock_backend, path_type, mocker): method test_remove (line 435) | def test_remove(self, mock_backend): class TestConsumers (line 441) | class TestConsumers: method test_progress_consumer (line 459) | def test_progress_consumer(self, mocker: MockFixture, on_desc, expecte... method test_delegate (line 469) | def test_delegate(self): method test_rsh_consumer (line 478) | def test_rsh_consumer(self): FILE: tests/test_stub_source.py function test_stub_info_spec_locator (line 6) | def test_stub_info_spec_locator(shared_datadir): function test_stub_info_spec_locator__returns_location_on_fail (line 11) | def test_stub_info_spec_locator__returns_location_on_fail(tmp_path): function test_source_ready (line 15) | def test_source_ready(shared_datadir, test_urls, tmp_path, mocker, test_... function test_stub_repo_locator (line 38) | def test_stub_repo_locator(stub_repo): # noqa FILE: tests/test_stubs.py function mock_fware (line 9) | def mock_fware(mocker, shared_datadir): function test_stub_validation (line 15) | def test_stub_validation(shared_datadir): function test_bad_stub_validation (line 24) | def test_bad_stub_validation(shared_datadir, mocker): function test_bad_stub (line 36) | def test_bad_stub(tmp_path): function test_valid_stub (line 42) | def test_valid_stub(shared_datadir): function test_valid_fware_stub (line 76) | def test_valid_fware_stub(shared_datadir): function test_resolve_stub (line 84) | def test_resolve_stub(shared_datadir): function test_resolve_firmware (line 100) | def test_resolve_firmware(tmp_path, shared_datadir): function test_add_single_stub (line 111) | def test_add_single_stub(shared_datadir, tmp_path): function test_add_stubs_from_dir (line 120) | def test_add_stubs_from_dir(datadir, tmp_path): function test_add_with_resource (line 133) | def test_add_with_resource(datadir, mock_fware, tmp_path, mocker): function test_add_no_resource_no_dest (line 151) | def test_add_no_resource_no_dest(datadir, mock_fware): function test_loads_from_resource (line 158) | def test_loads_from_resource(datadir, mock_fware): function test_name_property (line 164) | def test_name_property(shared_datadir): function test_stub_resolve_link (line 177) | def test_stub_resolve_link(mock_mp_stubs, tmp_path): function test_manager_resolve_subresource (line 188) | def test_manager_resolve_subresource(mock_mp_stubs, tmp_path): function test_load_firmware_first (line 199) | def test_load_firmware_first(mocker, tmp_path, shared_datadir): function test_iter_by_firm_stubs (line 220) | def test_iter_by_firm_stubs(mocker): FILE: tests/test_stubs/esp32_test_stub/frozen/ntptime.py function time (line 16) | def time(): function settime (line 31) | def settime(): FILE: tests/test_stubs/esp32_test_stub/frozen/ntptime.pyi function time (line 7) | def time() -> Any: ... function settime (line 11) | def settime() -> None: ... FILE: tests/test_stubs/esp32_test_stub/stubs/machine.py class ADC (line 8) | class ADC: method read (line 11) | def read(): class I2C (line 20) | class I2C: FILE: tests/test_stubs/esp8266_test_stub/frozen/ntptime.py function time (line 16) | def time(): function settime (line 31) | def settime(): FILE: tests/test_stubs/esp8266_test_stub/frozen/ntptime.pyi function time (line 7) | def time() -> Any: ... function settime (line 11) | def settime() -> None: ... FILE: tests/test_stubs/esp8266_test_stub/stubs/machine.py class ADC (line 8) | class ADC: method read (line 11) | def read(): class I2C (line 20) | class I2C: FILE: tests/test_stubs_repo.py class ManifestStub (line 5) | class ManifestStub(StubsManifest[StubPackage]): method resolve_package_url (line 6) | def resolve_package_url(self, package: StubPackage) -> str: function stub_repo (line 39) | def stub_repo(): function test_repo_inits (line 44) | def test_repo_inits(stub_repo): function test_repo_search (line 79) | def test_repo_search(stub_repo, query, expect_name, include_versions): FILE: tests/test_template.py function stub_context (line 10) | def stub_context(mock_mp_stubs): function test_vscode_template (line 19) | def test_vscode_template(stub_context, shared_datadir, tmp_path, mock_ch... function test_pylint_template (line 71) | def test_pylint_template(stub_context, tmp_path): function test_generic_template (line 103) | def test_generic_template(mock_mp_stubs, tmp_path): function test_no_context (line 116) | def test_no_context(): FILE: tests/test_utils.py function schema (line 12) | def schema(datadir): function test_validate (line 19) | def test_validate(schema): function test_fail_validate (line 26) | def test_fail_validate(schema): function test_is_url (line 34) | def test_is_url(test_urls): function test_ensure_valid_url (line 43) | def test_ensure_valid_url(mocker, test_urls): function test_ensure_existing_dir (line 60) | def test_ensure_existing_dir(tmp_path): function test_is_downloadable (line 75) | def test_is_downloadable(mocker, test_urls): function test_get_url_filename (line 89) | def test_get_url_filename(test_urls): function test_is_existing_dir (line 96) | def test_is_existing_dir(tmp_path): function test_search_xml (line 105) | def test_search_xml(mocker, shared_datadir, test_urls): function test_generate_stub__py37 (line 118) | def test_generate_stub__py37(tmp_path): function test_prepare_create_stubs__py37 (line 126) | def test_prepare_create_stubs__py37(): function test_prepare_create_stubs (line 132) | def test_prepare_create_stubs(): function test_generate_stub (line 138) | def test_generate_stub(shared_datadir, tmp_path, mocker): function test_get_package_meta (line 150) | def test_get_package_meta(mocker, requests_mock): function test_extract_tarbytes (line 170) | def test_extract_tarbytes(mocker): function test_iter_requirements (line 182) | def test_iter_requirements(mocker, tmp_path): function test_create_dir_link (line 192) | def test_create_dir_link(mocker, tmp_path): function test_is_dir_link (line 222) | def test_is_dir_link(mocker, tmp_path): function test_is_update_available (line 255) | def test_is_update_available(mocker, requests_mock, versions, expect): function test_stream_download (line 264) | def test_stream_download(mocker):