docs: async def get_random_popular_person(self, limit=500):
          """Randomly select a popular person.
  
          Notes:
            Requires at least two API calls. May require three API calls
            if the randomly-selected index isn't within the first page of
            required data.
  
          Arguments:
            limit (:py:class:`int`, optional): How many of the most
              popular people to make random choice from (defaults to top
              ``500``).
  
          Returns:
            :py:class:`~.Person`: A randomly-selected popular person.
  
          """
          index = random.randrange(limit)
          data = await self._get_popular_people_page()
          if data is None:
              return
          if index >= len(data['results']):
              # result is not on first page
              page, index = self._calculate_page_index(index, data)
              data = await self._get_popular_people_page(page)
          if data is None:
              return
          json_data = data['results'][index]
          details = await self._get_person_json(json_data['id'])
          details.update(**json_data)
          return Person.from_json(details, self.config['data'].get('images'))