A way to get different sets from a query.
        All parameters are optional, but you should probably use some (so that you get results)

        :param str query: The thing you're searching for.
        :param str theme: The theme of the set.
        :param str subtheme: The subtheme of the set.
        :param str setNumber: The LEGO set number.
        :param str year: The year in which the set came out.
        :param int owned: Whether or not you own the set. Only works when logged in with :meth:`login`. Set to `1` to make true.
        :param int wanted: Whether or not you want the set. Only works when logged in with :meth:`login`. Set to `1` to make true.
        :param str orderBy: How you want the set ordered. Accepts 'Number', 'YearFrom', 'Pieces', 'Minifigs', 'Rating', 'UKRetailPrice', 'USRetailPrice', 'CARetailPrice', 'EURetailPrice', 'Theme', 'Subtheme', 'Name', 'Random'. Add 'DESC' to the end to sort descending, e.g. NameDESC. Case insensitive. Defaults to 'Number'.
        :param int pageSize: How many results are on a page. Defaults to 20.
        :param int pageNumber: The number of the page you're looking at. Defaults to 1.
        :param str userName: The name of a user whose sets you want to search.
        :returns: A list of :class:`brickfront.build.Build` objects.
        :rtype: list

def getSets(self, **kwargs):
        '''
        A way to get different sets from a query.
        All parameters are optional, but you should probably use some (so that you get results)

        :param str query: The thing you're searching for.
        :param str theme: The theme of the set.
        :param str subtheme: The subtheme of the set.
        :param str setNumber: The LEGO set number.
        :param str year: The year in which the set came out.
        :param int owned: Whether or not you own the set. Only works when logged in with :meth:`login`. Set to `1` to make true.
        :param int wanted: Whether or not you want the set. Only works when logged in with :meth:`login`. Set to `1` to make true.
        :param str orderBy: How you want the set ordered. Accepts 'Number', 'YearFrom', 'Pieces', 'Minifigs', 'Rating', 'UKRetailPrice', 'USRetailPrice', 'CARetailPrice', 'EURetailPrice', 'Theme', 'Subtheme', 'Name', 'Random'. Add 'DESC' to the end to sort descending, e.g. NameDESC. Case insensitive. Defaults to 'Number'.
        :param int pageSize: How many results are on a page. Defaults to 20.
        :param int pageNumber: The number of the page you're looking at. Defaults to 1.
        :param str userName: The name of a user whose sets you want to search.
        :returns: A list of :class:`brickfront.build.Build` objects.
        :rtype: list
        '''

        # Generate a dictionary to send as parameters
        params = {
            'apiKey':     self.apiKey,
            'userHash':   self.userHash,
            'query':      kwargs.get('query', ''),
            'theme':      kwargs.get('theme', ''),
            'subtheme':   kwargs.get('subtheme', ''),
            'setNumber':  kwargs.get('setNumber', ''),
            'year':       kwargs.get('year', ''),
            'owned':      kwargs.get('owned', ''),
            'wanted':     kwargs.get('wanted', ''),
            'orderBy':    kwargs.get('orderBy', 'Number'),
            'pageSize':   kwargs.get('pageSize', '20'),
            'pageNumber': kwargs.get('pageNumber', '1'),
            'userName':   kwargs.get('userName', '')
        }
        url = Client.ENDPOINT.format('getSets')
        returned = get(url, params=params)
        self.checkResponse(returned)

        # Construct the build objects and return them graciously
        root = ET.fromstring(returned.text)
        return [Build(i, self) for i in root]