Cask Match Model¶

class CaskMatch(*, name: str, token: str, version: str | None = None, download_url: str | None = None)[source]¶

A name-only Homebrew Cask coverage stub.

Records that a patch title matched a Homebrew Cask-sourced entry in the Patcher API catalog. This is the Homebrew analogue of the Installomator Label stub: it marks coverage from a second matching dimension without claiming an Installomator label exists.

Cask-only catalog records carry no Installomator label, so a match here cannot be represented as a Label (whose installomator_label field is required). Keeping Cask coverage in its own model preserves the Installomator-only meaning of install_label.

Variables:
  • name – The patch title this match is attached to (e.g. "Google Chrome").

  • token – The Homebrew Cask token (also the catalog slug) the title matched against (e.g. "google-chrome").

  • version – The Cask’s current version, when the catalog resolved one.

  • download_url – The Cask’s download URL, when present in the catalog.

Parameters:
  • name (str)

  • token (str)

  • version (str | None)

  • download_url (str | None)

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.