def get_download_trends(self) -> Dict[str, float]:
        """
        Get download trends for the package.
        Cache results to avoid repeated PyPI API calls.
        """
        # Using PyPI Stats API for monthly data
        try:
            todays_date = datetime.now().strftime("%Y-%m-%d")
            one_eighty_days_ago = (datetime.now() - timedelta(days=180)).strftime(
                "%Y-%m-%d"
            )
            response_str = pypistats.overall(
                self.package_name,
                format="json",
                total="monthly",
                start_date=one_eighty_days_ago,
                end_date=todays_date,
            )
            response = json.loads(response_str)
        except Exception as e:
            return {
                "growth_rate": 0,
                "stability": 0,
                "avg_monthly_downloads": 0,
            }

        downloads_per_month = {}
        for item in response["data"]:
            if item["date"] not in downloads_per_month:
                downloads_per_month[item["date"]] = item["downloads"]
            else:
                downloads_per_month[item["date"]] += item["downloads"]

        # We need at least 5 months of data, if not, its too new to be considered
        if len(downloads_per_month) < 5:
            self._is_new_project = True
            return {
                "growth_rate": 0,
                "stability": 0,
                "avg_monthly_downloads": 0,
            }

        # Apply time weights to downloads
        weighted_downloads = []
        for date, downloads in downloads_per_month.items():
            weight = self.get_time_weight(date + "-01")
            weighted_downloads.append(downloads * weight)

        # Calculate growth rates with weighted values
        growth_rates = []
        for i in range(1, len(weighted_downloads)):
            if weighted_downloads[i - 1] == 0:
                continue
            growth_rate = (
                weighted_downloads[i] - weighted_downloads[i - 1]
            ) / weighted_downloads[i - 1]
            growth_rates.append(growth_rate)

        avg_growth_rate = statistics.mean(growth_rates) if growth_rates else 0
        stability = statistics.stdev(growth_rates) if len(growth_rates) > 1 else 1

        return {
            "growth_rate": avg_growth_rate,
            "stability": stability,
            "avg_monthly_downloads": statistics.mean(weighted_downloads),
        }

        Get download trends for the package.
        Cache results to avoid repeated PyPI API calls.
        
scripts/integration_health_check.py