StrEnum Objects

class StrEnum(str, Enum)
Backport of StrEnum for Python < 3.11

ColoredFormatter Objects

class ColoredFormatter(logging.Formatter)
Custom colored formatter for the logger using ANSI escape codes.

add_coloured_handler

def add_coloured_handler(logger)
Add a coloured handler to the logger.

setup_custom_logger

def setup_custom_logger(name)
Setup a custom logger.

Parameter Objects

class Parameter(BaseModel)
Parameter for a function. Arguments:
  • name (str): The name of the parameter.
  • description (str | None): The description of the parameter.
  • type (str): The type of the parameter.
  • default (Any): The default value of the parameter.
  • required (bool): Whether the parameter is required.

to_dict

def to_dict() -> dict[str, Any]
Convert the parameter to a dictionary for an standard dictionary-based function schema. This is the most common format used by LLM providers, including OpenAI, Ollama, and others. Returns: dict[str, Any]: The parameter in dictionary format.

FunctionSchema Objects

class FunctionSchema(BaseModel)
Class that consumes a function and can return a schema required by different LLMs for function calling.

from_callable

@classmethod
def from_callable(cls, function: Callable) -> "FunctionSchema"
Initialize the FunctionSchema. Arguments:
  • function (Callable): The function to consume.

from_pydantic

@classmethod
def from_pydantic(cls, model: type[BaseModel]) -> "FunctionSchema"
Create a FunctionSchema from a Pydantic model class. Arguments:
  • model (type[BaseModel]): The Pydantic model class to convert
Returns: FunctionSchema: FunctionSchema instance

to_openai

def to_openai(api: OpenAIAPI = OpenAIAPI.COMPLETIONS) -> dict[str, Any]
Convert the function schema into OpenAI-compatible formats. Supports both completions and responses APIs. Arguments:
  • api (OpenAIAPI): The API to convert to.
Returns: dict: The function schema in OpenAI-compatible format.