def get_song_discovery(self, cache=True):
        """
        Args:
            cache (bool): A boolean indicating whether or not the cached value should be used (if available). Defaults to True.

        Returns:
            A float representing a song's discovery rank.

        Example:
            >>> s = song.Song('SOQKVPH12A58A7AF4D')
            >>> s.get_song_discovery()
            0.639626025843539
            >>> s.song_discovery
            0.639626025843539
            >>>
        """
        if not (cache and ('song_discovery' in self.cache)):
            response = self.get_attribute('profile', bucket='song_discovery')
            self.cache['song_discovery'] = response['songs'][0]['song_discovery']
        return self.cache['song_discovery']
Args:
            cache (bool): A boolean indicating whether or not the cached value should be used (if available). Defaults to True.

        Returns:
            A float representing a song's discovery rank.

        Example:
            >>> s = song.Song('SOQKVPH12A58A7AF4D')
            >>> s.get_song_discovery()
            0.639626025843539
            >>> s.song_discovery
            0.639626025843539
            >>>