Skip to content

Field

fastagency.studio.models.base.Field #

Field(
    default: Any = ...,
    *,
    description: Optional[str] = None,
    tooltip_message: Optional[str] = None,
    immutable_after_creation: bool = False,
    **kwargs: Any
) -> Any
Source code in fastagency/studio/models/base.py
def Field(  # noqa: N802
    default: Any = ...,
    *,
    description: Optional[str] = None,
    tooltip_message: Optional[str] = None,
    immutable_after_creation: bool = False,
    **kwargs: Any,
) -> Any:
    metadata: dict[str, Union[str, bool]] = {}

    if tooltip_message is not None:
        metadata["tooltip_message"] = tooltip_message
    if immutable_after_creation:
        metadata["immutable_after_creation"] = immutable_after_creation

    # Create json_schema_extra only if we have metadata
    if metadata:
        kwargs["json_schema_extra"] = {"metadata": metadata}

    return PydanticField(  # type: ignore[pydantic-field]
        default, description=description, **kwargs
    )