stubber.publish.candidates

In order to generate stups for all ports and boars and versions of micropython we need to know what versions are available. This module provides functions to :

  • get a list of all ports for a given version of micropython ( list micropython ports)

  • get a list of all ports and board for a given version of micropython (list micropython ports boards)

    • get a list of versions for micropython ( version candidates)

  • get the frozen stubs for a given version of micropython ( frozen candidates)

  • get a list of all the docstubs (docstub candidates)

  • get a list of the firmware/board stubs (firmware candidates)

Module Contents

Functions

subfolder_names(path)

returns a list of names of the subfolders of the given path

version_candidates(→ Generator[str, None, None])

get a list of versions for the given family and suffix

list_frozen_ports([family, version, path])

get list of ports with frozen stubs for a given family and version

list_micropython_ports([family, mpy_path])

get list of micropython ports for a given family and version

list_micropython_port_boards(port[, family, mpy_path])

get list of micropython boards for a given family version and board

frozen_candidates(→ Generator[Dict[str, Any], None, None])

generate a list of possible firmware stubs for the given family (, version port and board) ?

is_auto(thing)

Is this version/port/board specified as 'auto' ?

docstub_candidates([family, versions, path])

Generate a list of possible documentation stub candidates for the given family and version.

board_candidates([family, versions, mpy_path, pt])

generate a list of possible board stub candidates for the given family and version.

filter_list(worklist[, ports, boards])

filter a list of candidates down to the ones we want, based on the ports and boards specified (case insensitive)

stubber.publish.candidates.subfolder_names(path: pathlib.Path)

returns a list of names of the subfolders of the given path

Parameters:

path (pathlib.Path) –

stubber.publish.candidates.version_candidates(suffix: str, prefix: str = '.*', *, path: pathlib.Path = CONFIG.stub_path, oldest: str = OLDEST_VERSION) Generator[str, None, None]

get a list of versions for the given family and suffix

Parameters:
Return type:

Generator[str, None, None]

stubber.publish.candidates.list_frozen_ports(family: str = 'micropython', version: str = V_PREVIEW, path: pathlib.Path = CONFIG.stub_path)

get list of ports with frozen stubs for a given family and version

Parameters:
stubber.publish.candidates.list_micropython_ports(family: str = 'micropython', mpy_path: pathlib.Path = CONFIG.mpy_path)

get list of micropython ports for a given family and version

Parameters:
stubber.publish.candidates.list_micropython_port_boards(port: str, family: str = 'micropython', mpy_path: pathlib.Path = CONFIG.mpy_path)

get list of micropython boards for a given family version and board

Parameters:
stubber.publish.candidates.frozen_candidates(family: str = 'micropython', versions: str | List[str] = V_PREVIEW, ports: str | List[str] = 'all', boards: str | List[str] = 'all', *, path: pathlib.Path = CONFIG.stub_path) Generator[Dict[str, Any], None, None]

generate a list of possible firmware stubs for the given family (, version port and board) ? - family = micropython

board and port are ignored, they are looked up from the available frozen stubs

  • versions = ‘latest’ , ‘auto’ or a list of versions

  • port = ‘auto’ or a specific port

  • board = ‘auto’ or a specific board, ‘generic’ must be specified in lowercare

Parameters:
Return type:

Generator[Dict[str, Any], None, None]

stubber.publish.candidates.is_auto(thing: None | str | List[str])

Is this version/port/board specified as ‘auto’ ?

Parameters:

thing (Union[None, str, List[str]]) –

stubber.publish.candidates.docstub_candidates(family: str = 'micropython', versions: str | List[str] = V_PREVIEW, path: pathlib.Path = CONFIG.stub_path)

Generate a list of possible documentation stub candidates for the given family and version.

Note that the folders do not need to exist, with the exception of auto which will scan the stubs folder for versions of docstubs

Parameters:
stubber.publish.candidates.board_candidates(family: str = 'micropython', versions: str | List[str] = V_PREVIEW, *, mpy_path: pathlib.Path = CONFIG.mpy_path, pt: str = FIRMWARE_STUBS)

generate a list of possible board stub candidates for the given family and version. list is based on the micropython repo: /ports/<list of ports>/boards/<list of boards>

Parameters:
stubber.publish.candidates.filter_list(worklist: List[Dict[str, str]], ports: List[str] | str | None = None, boards: List[str] | str | None = None)

filter a list of candidates down to the ones we want, based on the ports and boards specified (case insensitive) for board also match using a ‘GENERIC_’ prefix, so board ‘s3’ will match candidate ‘GENERIC_S3’

Parameters:
  • worklist (List[Dict[str, str]]) –

  • ports (Optional[Union[List[str], str]]) –

  • boards (Optional[Union[List[str], str]]) –