@@ -64,19 +64,20 @@ def _get_package_versions_in_upstream(target_packages_match_spec_out, target_ver
64
64
65
65
66
66
def _generate_staleness_report_per_image (
67
- package_versions_in_upstream , target_packages_match_spec_out , image_config , version
67
+ package_versions_in_upstream , target_packages_match_spec_out , image_config , version , download_stats
68
68
):
69
69
print ("\n # Staleness Report: " + str (version ) + "(" + image_config ["image_type" ] + ")\n " )
70
70
staleness_report_rows = []
71
71
72
- # Get conda download statistics for all installed packages
73
- # Use the month before last to get full month of data
74
- previous_month = (datetime .now () - relativedelta (months = 2 )).strftime ("%Y-%m" )
75
- pkg_list = list (package_versions_in_upstream .keys ())
76
- # Suppress FutureWarning from pandas so it doesn't show in report
77
- with warnings .catch_warnings ():
78
- warnings .filterwarnings ("ignore" , category = FutureWarning )
79
- conda_download_stats = overall (pkg_list , month = previous_month )
72
+ if download_stats :
73
+ # Get conda download statistics for all installed packages
74
+ # Use the month before last to get full month of data
75
+ previous_month = (datetime .now () - relativedelta (months = 2 )).strftime ("%Y-%m" )
76
+ pkg_list = list (package_versions_in_upstream .keys ())
77
+ # Suppress FutureWarning from pandas so it doesn't show in report
78
+ with warnings .catch_warnings ():
79
+ warnings .filterwarnings ("ignore" , category = FutureWarning )
80
+ conda_download_stats = overall (pkg_list , month = previous_month )
80
81
81
82
for package in package_versions_in_upstream :
82
83
version_in_sagemaker_distribution = str (target_packages_match_spec_out [package ].get ("version" )).removeprefix (
@@ -88,38 +89,44 @@ def _generate_staleness_report_per_image(
88
89
else "${\color{red}" + package + "}$"
89
90
)
90
91
91
- # Get download count with error handling
92
- try :
93
- download_count = conda_download_stats [package ]
94
- except (KeyError , TypeError ):
95
- download_count = 0
92
+ if download_stats :
93
+ # Get download count with error handling
94
+ try :
95
+ download_count = conda_download_stats [package ]
96
+ except (KeyError , TypeError ):
97
+ download_count = 0
96
98
97
- staleness_report_rows .append (
98
- {
99
- "package" : package_string ,
100
- "version_in_sagemaker_distribution" : version_in_sagemaker_distribution ,
101
- "latest_relavant_version" : package_versions_in_upstream [package ],
102
- "downloads" : download_count ,
103
- }
104
- )
99
+ staleness_report_rows .append (
100
+ {
101
+ "package" : package_string ,
102
+ "version_in_sagemaker_distribution" : version_in_sagemaker_distribution ,
103
+ "latest_relavant_version" : package_versions_in_upstream [package ],
104
+ "downloads" : download_count ,
105
+ }
106
+ )
107
+ else :
108
+ staleness_report_rows .append (
109
+ {
110
+ "package" : package_string ,
111
+ "version_in_sagemaker_distribution" : version_in_sagemaker_distribution ,
112
+ "latest_relavant_version" : package_versions_in_upstream [package ],
113
+ }
114
+ )
105
115
106
- staleness_report_rows .sort (
107
- key = lambda x : (
108
- not x ["package" ].startswith ("${\\ color" ), # Stale packages at top of list
109
- - x ["downloads" ], # Sorted by downloads
110
- )
111
- )
112
- print (
113
- create_markdown_table (
114
- [
115
- "Package" ,
116
- "Current Version in the Distribution image" ,
117
- "Latest Relevant Version in " "Upstream" ,
118
- "Downloads (Conda, previous month)" ,
119
- ],
120
- staleness_report_rows ,
116
+ markdown_table_columns = [
117
+ "Package" ,
118
+ "Current Version in the Distribution image" ,
119
+ "Latest Relevant Version in " "Upstream" ,
120
+ ]
121
+ if download_stats :
122
+ markdown_table_columns .append ("Downloads (Conda, previous month)" )
123
+ staleness_report_rows .sort (
124
+ key = lambda x : (
125
+ not x ["package" ].startswith ("${\\ color" ), # Stale packages at top of list
126
+ - x ["downloads" ], # Sorted by downloads
127
+ )
121
128
)
122
- )
129
+ print ( create_markdown_table ( markdown_table_columns , staleness_report_rows ) )
123
130
124
131
125
132
def _get_installed_package_versions_and_conda_versions (
@@ -288,7 +295,11 @@ def generate_package_staleness_report(args):
288
295
latest_package_versions_in_upstream ,
289
296
) = _get_installed_package_versions_and_conda_versions (image_config , target_version_dir , target_version )
290
297
_generate_staleness_report_per_image (
291
- latest_package_versions_in_upstream , target_packages_match_spec_out , image_config , target_version
298
+ latest_package_versions_in_upstream ,
299
+ target_packages_match_spec_out ,
300
+ image_config ,
301
+ target_version ,
302
+ args .download_stats ,
292
303
)
293
304
294
305
0 commit comments