Kind: frozen dataclass.
One tool-version row as published by NXP's KEX npidb
endpoint. The name field is the canonical version string
(for example "25.12.10"). The stable property
is True when the row carries a non-empty version
field.
| Name | Type | Description |
|---|---|---|
| api_id | int | Internal NXP numeric id. |
| name | str | Version name (e.g. "25.12.10"). |
| version | str | Published version string; empty for unpublished. |
Frozen dataclass keeps the row equality- and hash-comparable so callers can dedupe and store version lists in sets. Immutable shape avoids accidental mutation while passing rows around.
Kind: frozen dataclass.
One entry returned by the KEX storage directory listing.
Includes both files and directories; directory=True for
subdirectories.
| Name | Type | Description |
|---|---|---|
| file_id | str | NXP internal id. |
| full_path | str | Full upstream path of the entry. |
| directory | bool | True if this is a directory. |
| time | int | None | Upstream mtime, if available. |
| size | int | None | Byte size, if available. |
| compression | str | Compression label, often empty. |
Kind: frozen dataclass.
What the index records about a single part: canonical identifier, family
root, last-seen tool version, and the SDK variants observed for that
family. Returned by get_part().
| Name | Type | Description |
|---|---|---|
| part | str | Canonical part identifier. |
| family | str | Family root. |
| version | str | Last-seen tool version publishing this part. |
| variants | tuple[str, ...] | SDK variants available for the part. |
Kind: frozen dataclass.
One ranked search result. score is in [0.0, 1.0];
higher is better. Exact scoring rules are documented in
cli/search; treat individual scores as
opaque beyond their ordering.
| Name | Type | Description |
|---|---|---|
| part | str | Matched part. |
| family | str | Matched part's family root. |
| score | float | Match score in [0.0, 1.0]. |
| matched_field | str | "part" or "family". |
Kind: frozen dataclass.
Top-level processor header parsed from <PART>.xml
(swtools.freescale.net/XSD/processor/2.0). Carries the
basic_facts attributes plus the enabled-tools list.
| Name | Type | Description |
|---|---|---|
| part | str | Processor id. |
| producer | str | Vendor (typically "NXP"). |
| family | str | Family root (e.g. "MCX"). |
| series | str | Series label (e.g. "MCX MCXA"). |
| default_part | str | Variant id NXP marks as default SKU. |
| target_products | tuple[str, ...] | Product programs (e.g. ("MCUX",)). |
| enabled_tools | tuple[str, ...] | Enabled Config Tools modules. |
Kind: frozen dataclass.
One row of the per-variant manifest in <PART_VARIANT>.xml
(swtools.freescale.net/XSD/part_number/4.0). Captures
NXP's typed pointer to one of the variant's data files.
| Name | Type | Description |
|---|---|---|
| type | str | Logical kind (e.g. "package", "registers", "pins_model"). |
| link | str | Relative path or sentinel (e.g. "$COMMON"). |
| format_version | str | Schema version reported by upstream. |
| description | str | Free-text description; may be empty. |
Kind: frozen dataclass.
One CPU core entry from common/cores_info.xml.
| Name | Type | Description |
|---|---|---|
| name | str | Human core name (e.g. "Cortex-M33"). |
| core_id | str | Stable identifier (e.g. "cm33_core0"). |
| description | str | Free-text description; may be empty. |
Kind: frozen dataclass.
One per-package SKU of a processor. Parsed from
<PART_VARIANT>.xml. The db_links tuple
is the verbatim manifest; package is a convenience copy
of the type="package" link target.
| Name | Type | Description |
|---|---|---|
| variant | str | Variant id (e.g. "MCXA132VFM"). |
| package | str | Relative package XML link (e.g. "packages/QFN32.xml"). |
| db_links | tuple[DbLink, ...] | All manifest links in document order. |
| root | pathlib.Path | Absolute path to the variant subdirectory. |
link_by_type(t) returns the first matching
DbLink or None.
Kind: frozen dataclass.
Structured view of a part's KEX data tree. Returned by
details(). Combines the small spine readers
(processor header, per-variant manifests, cores) with the cache
root path so callers reach heavier payloads lazily.
| Name | Type | Description |
|---|---|---|
| part | str | Processor id described by this view. |
| variant_id | str | SDK variant loaded (e.g. "ksdk2_0"). |
| version | str | Tool version data was sourced from. |
| header | Processor | Parsed top-level processor file. |
| cores | tuple[CpuCore, ...] | CPU cores. |
| variants | tuple[PackageVariant, ...] | Per-package SKUs. |
| properties | dict[str, str] | Key/value pairs from processor.properties. |
| root | pathlib.Path | Absolute cache path for <part>/<variant>/. |
| is_application_processor | bool | True for i.MX-8-class parts (no clocks/ tree). |
Kind: frozen dataclass.
Metadata describing the current state of the local index. Returned by
index_meta() and written alongside the SQLite database as a
JSON sidecar.
| Name | Type | Description |
|---|---|---|
| built_at | str | ISO-8601 UTC timestamp of last build. |
| source_version | str | Source tool version (or "portfolio-latest"). |
| part_count | int | Number of indexed parts. |
| family_count | int | Number of indexed families. |