code: def demo_categorical() -> hip.Experiment:
      data: t.List[t.Dict[str, t.Any]] = []
      for _ in range(100):
          data.append(
              {
                  "cat_num_05": random.randint(0, 5),
                  "cat_num_15": random.randint(0, 10),
                  "cat_num_25": random.randint(0, 25),
                  "cat_str_05": f"s{random.randint(0, 5)}",
                  "cat_str_15": f"s{random.randint(0, 15)}",
                  "cat_str_25": f"s{random.randint(0, 25)}",
              }
          )
      xp = hip.Experiment.from_iterable(data)
      for param in ["cat_num_05", "cat_num_15", "cat_num_25"]:
          xp.parameters_definition[
              param
          ].type = hip.ValueType.CATEGORICAL
      xp.colorby = "cat_num_25"
      return xp
  
imports: import uuid
  import random
  import math
  import time
  import typing
  from .None import experiment
label_desc: Use image node_id 15 for calling a global function with example usage: demo_categorical() and returns: xp