def recommend_attr_tool(self, name, value):
        """Recommends an attribute tool for an attribute with the given name
        and value.

        For example, a backend may recommend a tool as follows for a boolean
        value::

            {
                "type": "radio",
                "values": [False, True],
            }

        or a tool as follows for a generic value::

            {"type": "text"}

        Args:
            name: the name of the attribute
            value: the attribute value, which may be ``None``

        Returns:
            an attribute type dict
        """
        raise NotImplementedError(
            "subclass must implement recommend_attr_tool()"
        )
Recommends an attribute tool for an attribute with the given name
        and value.

        For example, a backend may recommend a tool as follows for a boolean
        value::

            {
                "type": "radio",
                "values": [False, True],
            }

        or a tool as follows for a generic value::

            {"type": "text"}

        Args:
            name: the name of the attribute
            value: the attribute value, which may be ``None``

        Returns:
            an attribute type dict
        
fiftyone/utils/annotations.py