Skip to content

AI

Classification labels with lifecycle management, deprecation, and alias resolution for AI/ML pipelines.

Modules:

  • labels

    AI classification label types with lifecycle management.

Classes:

  • Label

    Descriptor for LabelEnum members with lifecycle metadata.

  • LabelEnum

    Enum base class for LLM classification labels with lifecycle management.

Label

Label(value: str, *, description: str = '', note: str = '', deprecated: bool = False, retired: bool = False, successor: str | None = None, aliases: list[str] | None = None)

Descriptor for LabelEnum members with lifecycle metadata.

Source code in src/pydantypes/ai/labels.py
def __init__(
    self,
    value: str,
    *,
    description: str = "",
    note: str = "",
    deprecated: bool = False,
    retired: bool = False,
    successor: str | None = None,
    aliases: list[str] | None = None,
) -> None:
    self.value = value
    self.description = description
    self.note = note
    self.deprecated = deprecated
    self.retired = retired
    self.successor = successor
    self.aliases = aliases or []

LabelEnum

Bases: str, Enum

Enum base class for LLM classification labels with lifecycle management.

Produces clean JSON Schema compatible with OpenAI structured outputs, LangChain with_structured_output, and all Pydantic-based LLM frameworks.

Lifecycle stages: active -> deprecated -> retired -> removed.

Methods:

  • active_labels

    Return all non-deprecated, non-retired members.

  • alias_map

    Return mapping of alias strings to their target members.

  • deprecated_labels

    Return all deprecated (but not retired) members.

  • retired_labels

    Return all retired members.

  • schema_values

    Return values for JSON Schema enum array (excludes retired).

active_labels classmethod

active_labels() -> list[LabelEnum]

Return all non-deprecated, non-retired members.

Source code in src/pydantypes/ai/labels.py
@classmethod
def active_labels(cls) -> list[LabelEnum]:
    """Return all non-deprecated, non-retired members."""
    return [m for m in cls if not m.deprecated and not m.retired]

alias_map classmethod

alias_map() -> dict[str, LabelEnum]

Return mapping of alias strings to their target members.

Source code in src/pydantypes/ai/labels.py
@classmethod
def alias_map(cls) -> dict[str, LabelEnum]:
    """Return mapping of alias strings to their target members."""
    return {alias: m for m in cls for alias in m.aliases}

deprecated_labels classmethod

deprecated_labels() -> list[LabelEnum]

Return all deprecated (but not retired) members.

Source code in src/pydantypes/ai/labels.py
@classmethod
def deprecated_labels(cls) -> list[LabelEnum]:
    """Return all deprecated (but not retired) members."""
    return [m for m in cls if m.deprecated and not m.retired]

retired_labels classmethod

retired_labels() -> list[LabelEnum]

Return all retired members.

Source code in src/pydantypes/ai/labels.py
@classmethod
def retired_labels(cls) -> list[LabelEnum]:
    """Return all retired members."""
    return [m for m in cls if m.retired]

schema_values classmethod

schema_values() -> list[str]

Return values for JSON Schema enum array (excludes retired).

Source code in src/pydantypes/ai/labels.py
@classmethod
def schema_values(cls) -> list[str]:
    """Return values for JSON Schema enum array (excludes retired)."""
    return [m.value for m in cls if not m.retired]