Tagsistant features a stack of autotagging plugins based on libextractor. Thanks to libextractor ability to extract metadata from a long list of file formats, Tagsistant is able to integrate the user tagging with some automatically provided information. Autotagging plugins are located in the src/plugins/ directory. Each plugin basically declares the mime-type it supports and sets a regular expression acting as a filter: if a key extracted by libextractor does not match it, that value is discarded and no tag is created. For example, a basic regular expression for the JPEG format could be "^(size|orientation)$" (which is actually the default one). The user can declare its preferred regular expressions in the repository.ini file, like in:
[mime:text/html]
filter=^(author|date|language)$
[mime:image/jpeg]
filter=^(size|orientation)$
[mime:application/ogg]
filter=^(year|album|artist)$
Version 0.5, 0.6 and 1.x of libextractor are supported. The list of plugins available so far includes application/xml, image/gif, text/html, image/jpeg, image/png, application/ogg and audio/mpeg. Information about plugin writing is provided here.