docs: def places_nearby(client, location=None, radius=None, keyword=None,
                    language=None, min_price=None, max_price=None, name=None,
                    open_now=False, rank_by=None, type=None, page_token=None):
      """
      Performs nearby search for places.
  
      :param location: The latitude/longitude value for which you wish to obtain the
                       closest, human-readable address.
      :type location: string, dict, list, or tuple
  
      :param radius: Distance in meters within which to bias results.
      :type radius: int
  
      :param region: The region code, optional parameter.
          See more @ https://developers.google.com/places/web-service/search
      :type region: string
  
      :param keyword: A term to be matched against all content that Google has
                      indexed for this place.
      :type keyword: string
  
      :param language: The language in which to return results.
      :type language: string
  
      :param min_price: Restricts results to only those places with no less than
                        this price level. Valid values are in the range from 0
                        (most affordable) to 4 (most expensive).
      :type min_price: int
  
      :param max_price: Restricts results to only those places with no greater
                        than this price level. Valid values are in the range
                        from 0 (most affordable) to 4 (most expensive).
      :type max_price: int
  
      :param name: One or more terms to be matched against the names of places.
      :type name: string or list of strings
  
      :param open_now: Return only those places that are open for business at
                       the time the query is sent.
      :type open_now: bool
  
      :param rank_by: Specifies the order in which results are listed.
                      Possible values are: prominence (default), distance
      :type rank_by: string
  
      :param type: Restricts the results to places matching the specified type.
          The full list of supported types is available here:
          https://developers.google.com/places/supported_types
      :type type: string
  
      :param page_token: Token from a previous search that when provided will
                         returns the next page of results for the same search.
      :type page_token: string
  
      :rtype: result dict with the following keys:
              status: status code
              results: list of places
              html_attributions: set of attributions which must be displayed
              next_page_token: token for retrieving the next page of results
  
      """
      if not location and not page_token:
          raise ValueError("either a location or page_token arg is required")
      if rank_by == "distance":
          if not (keyword or name or type):
              raise ValueError("either a keyword, name, or type arg is required "
                               "when rank_by is set to distance")
          elif radius is not None:
              raise ValueError("radius cannot be specified when rank_by is set to "
                               "distance")
  
      return _places(client, "nearby", location=location, radius=radius,
                     keyword=keyword, language=language, min_price=min_price,
                     max_price=max_price, name=name, open_now=open_now,
                     rank_by=rank_by, type=type, page_token=page_token)