Kind: class.
HTTP client for NXP's public KEX storage API. This is the only place in the package that knows upstream URL shapes; everything else goes through it. See ADR-0007.
The client carries cache state (version list, portfolio map) and resolves versions lazily across many calls in one logical session. Using a class avoids re-fetching the version list on every operation and lets tests inject pre-populated caches.
A KexClient with no version argument behaves as
"give me the latest reasonable answer for any part you ask about." With an
explicit version, it behaves as "answer everything against this exact
tool version."
list_versions(refresh=False)latest_version()resolve_version(version=None)resolve_version_for_family(family)portfolio_latest_map(refresh=False)list_storage_entries(path, version=None)list_processor_families(version=None)discover_family_variants(family, variants=None, version=None)download_directory_zip(family, variant, output_zip, version=None)Kind: exception.
Raised whenever the KEX upstream cannot be fetched, parsed, or extracted safely. The package never silently swallows upstream failures: anything that prevents data acquisition surfaces as this exception.
Kind: function.
Stateless convenience wrapper for callers that do not want to manage a
KexClient instance. Equivalent to
KexClient().list_versions(refresh=refresh).
Kind: function.
Stateless convenience wrapper. Returns the highest published tool version name.
Kind: function.
Stateless convenience wrapper. Returns the processor families published for one tool version (or the latest by default).
Kind: function.
Stateless convenience wrapper. Returns the merged family-to-version map used by ADR-0007 to handle frozen families.