Label ModelΒΆ

class Label(*, name: str, type: str | None = None, expectedTeamID: str | None = None, installomatorLabel: str, downloadURL: str | None = None)[source]ΒΆ

Represents an Installomator label.

Installomator labels define metadata required for software installation via the Installomator tool: a download URL, the expected Team ID for code-signature verification, the installer package type, and the label name used by the upstream catalog.

Field names are Pythonic snake_case; upstream camelCase keys (as found in the raw .sh fragments) are accepted via Pydantic aliases. For detailed reference on Installomator labels, see Installomator in the project docs, or visit the Labels reference in the Installomator wiki.

Variables:
  • name – The name of the application the label is tied to (e.g., "Google Chrome").

  • type –

    The installer package type. Allowed values:

    • dmg

    • pkg

    • zip

    • tbz

    • pkgInDmg

    • pkgInZip

    • appInDmgInZip

    • appindmg

    • bz2

  • expected_team_id – The expected Team ID of the software publisher (must be a 10-character string). Upstream alias: expectedTeamID.

  • installomator_label – The label name of the software title (e.g., "googlechromepkg"). Upstream alias: installomatorLabel.

  • download_url – The URL from which the installer can be downloaded. Upstream alias: downloadURL.

Parameters:
  • name (str)

  • type (str)

  • expectedTeamID (str | None)

  • installomatorLabel (str)

  • downloadURL (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.

classmethod from_dict(data: dict[str, Any], **kwargs) Label[source]ΒΆ

Creates a Label instance from a dict whose keys are either the upstream camelCase names (expectedTeamID, downloadURL, installomatorLabel, …) or the snake_case Python field names.

Both forms are accepted thanks to populate_by_name=True on UpstreamModel. Only keys that match a known field name or alias are forwarded to the constructor; unknown keys are silently dropped.

Parameters:

data (dict[str, Any]) – Raw fragment data to parse for object creation.

Returns:

The configured Label object.

Return type:

Label