nodes: 0, module; 1, function_definition; 2, function_name:search_users; 3, parameters; 4, block; 5, identifier:self; 6, identifier:query; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, default_parameter; 12, default_parameter; 13, expression_statement; 14, expression_statement; 15, expression_statement; 16, if_statement; 17, if_statement; 18, if_statement; 19, expression_statement; 20, return_statement; 21, identifier:sort; 22, None; 23, identifier:order; 24, None; 25, identifier:per_page; 26, None; 27, identifier:text_match; 28, False; 29, identifier:number; 30, unary_operator; 31, identifier:etag; 32, None; 33, comment:"""Find users via the Search API.
  
          The query can contain any combination of the following supported
          qualifers:
  
  
          - ``type`` With this qualifier you can restrict the search to just
            personal accounts or just organization accounts.
          - ``in`` Qualifies which fields are searched. With this qualifier you
            can restrict the search to just the username, public email, full
            name, or any combination of these.
          - ``repos`` Filters users based on the number of repositories they
            have.
          - ``location`` Filter users by the location indicated in their
            profile.
          - ``language`` Search for users that have repositories that match a
            certain language.
          - ``created`` Filter users based on when they joined.
          - ``followers`` Filter users based on the number of followers they
            have.
  
          For more information about these qualifiers see: http://git.io/wjVYJw
  
          :param str query: (required), a valid query as described above, e.g.,
              ``tom repos:>42 followers:>1000``
          :param str sort: (optional), how the results should be sorted;
              options: ``followers``, ``repositories``, or ``joined``; default:
              best match
          :param str order: (optional), the direction of the sorted results,
              options: ``asc``, ``desc``; default: ``desc``
          :param int per_page: (optional)
          :param bool text_match: (optional), if True, return matching search
              terms. See http://git.io/_V1zRwa for more information
          :param int number: (optional), number of search results to return;
              Default: -1 returns all available
          :param str etag: (optional), ETag header value of the last request.
          :return: generator of :class:`UserSearchResult
              <github3.search.UserSearchResult>`
          """; 34, assignment; 35, assignment; 36, comparison_operator:sort in ('followers', 'repositories', 'joined'); 37, block; 38, comparison_operator:order in ('asc', 'desc'); 39, block; 40, identifier:text_match; 41, block; 42, assignment; 43, call; 44, integer:1; 45, identifier:params; 46, dictionary; 47, identifier:headers; 48, dictionary; 49, identifier:sort; 50, tuple; 51, expression_statement; 52, identifier:order; 53, tuple; 54, expression_statement; 55, expression_statement; 56, identifier:url; 57, call; 58, identifier:SearchIterator; 59, argument_list; 60, pair; 61, string; 62, string; 63, string; 64, assignment; 65, string; 66, string; 67, assignment; 68, assignment; 69, attribute; 70, argument_list; 71, identifier:number; 72, identifier:url; 73, identifier:UserSearchResult; 74, identifier:self; 75, identifier:params; 76, identifier:etag; 77, identifier:headers; 78, string; 79, identifier:query; 80, string_content:followers; 81, string_content:repositories; 82, string_content:joined; 83, subscript; 84, identifier:sort; 85, string_content:asc; 86, string_content:desc; 87, subscript; 88, identifier:order; 89, identifier:headers; 90, dictionary; 91, identifier:self; 92, identifier:_build_url; 93, string; 94, string; 95, string_content:q; 96, identifier:params; 97, string; 98, identifier:params; 99, string; 100, pair; 101, string_content:search; 102, string_content:users; 103, string_content:sort; 104, string_content:order; 105, string; 106, string; 107, string_content:Accept; 108, string_content:application/vnd.github.v3.full.text-match+json
code: def search_users(self, query, sort=None, order=None, per_page=None,
                       text_match=False, number=-1, etag=None):
          """Find users via the Search API.
  
          The query can contain any combination of the following supported
          qualifers:
  
  
          - ``type`` With this qualifier you can restrict the search to just
            personal accounts or just organization accounts.
          - ``in`` Qualifies which fields are searched. With this qualifier you
            can restrict the search to just the username, public email, full
            name, or any combination of these.
          - ``repos`` Filters users based on the number of repositories they
            have.
          - ``location`` Filter users by the location indicated in their
            profile.
          - ``language`` Search for users that have repositories that match a
            certain language.
          - ``created`` Filter users based on when they joined.
          - ``followers`` Filter users based on the number of followers they
            have.
  
          For more information about these qualifiers see: http://git.io/wjVYJw
  
          :param str query: (required), a valid query as described above, e.g.,
              ``tom repos:>42 followers:>1000``
          :param str sort: (optional), how the results should be sorted;
              options: ``followers``, ``repositories``, or ``joined``; default:
              best match
          :param str order: (optional), the direction of the sorted results,
              options: ``asc``, ``desc``; default: ``desc``
          :param int per_page: (optional)
          :param bool text_match: (optional), if True, return matching search
              terms. See http://git.io/_V1zRwa for more information
          :param int number: (optional), number of search results to return;
              Default: -1 returns all available
          :param str etag: (optional), ETag header value of the last request.
          :return: generator of :class:`UserSearchResult
              <github3.search.UserSearchResult>`
          """
          params = {'q': query}
          headers = {}
  
          if sort in ('followers', 'repositories', 'joined'):
              params['sort'] = sort
  
          if order in ('asc', 'desc'):
              params['order'] = order
  
          if text_match:
              headers = {
                  'Accept': 'application/vnd.github.v3.full.text-match+json'
                  }
  
          url = self._build_url('search', 'users')
          return SearchIterator(number, url, UserSearchResult, self, params,
                                etag, headers)