def METHOD_NAME(cls, app: "Application", config: dict[str, Any]) -> None:
    shape_type = config["type"]
    try:
        shape_type = ShapeType(shape_type)
        coords = config["iconcoords"]
        data = AnnotationData(
            config["label"],
            config["fontfamily"],
            config["fontsize"],
            config["labelcolor"],
            config["color"],
            config["border"],
            config["width"],
            config["bold"],
            config["italic"],
            config["underline"],
        )
        canvas_id = config.get("canvas", 1)
        canvas = app.manager.get(canvas_id)
        shape = Shape(app, canvas, shape_type, *coords, data=data)
        canvas.shapes[shape.id] = shape
    except ValueError:
        logger.exception("unknown shape: %s", shape_type)