#NEWLINE# def cat( columns = None , cats = None , sort = True , ascending = True , **kwargs ) : #NEWLINE# #INDENT# ' Specifies detailed configuration for a chart attribute that uses categoricals.\n\n    Args:\n        columns (list or str): the columns used to generate the categorical variable\n        cats (list, optional): overrides the values derived from columns\n        sort (bool, optional): whether to sort the categorical values (default=True)\n        ascending (bool, optional): whether to sort the categorical values (default=True)\n        **kwargs: any keyword, arg supported by :class:`AttrSpec`\n\n    Returns:\n        a `CatAttr` object\n    ' #NEWLINE# if ( cats is not None ) : #NEWLINE# #INDENT# kwargs [ 'cats' ] = cats #NEWLINE# #UNINDENT# kwargs [ 'columns' ] = columns #NEWLINE# kwargs [ 'sort' ] = sort #NEWLINE# kwargs [ 'ascending' ] = ascending #NEWLINE# return CatAttr ( ** kwargs )