The types plugin lets you declare types for attributes you use in your library. For example, you can declare that a rating field is numeric so that you can query it with ranges—which isn’t possible when the field is considered a string (the default).
Here’s an example:
types: rating: int
Now you can assign numeric ratings to tracks and albums and use range queries to filter them.:
beet modify "My favorite track" rating=5 beet ls rating:4..5 beet modify --album "My favorite album" rating=5 beet modify --album rating:4..5