Skip to content

Instantly share code, notes, and snippets.

@dalthviz
Last active March 3, 2022 19:34
Show Gist options
  • Save dalthviz/a664ff9b76ed7f1aa13cfa60f7be85b6 to your computer and use it in GitHub Desktop.
Save dalthviz/a664ff9b76ed7f1aa13cfa60f7be85b6 to your computer and use it in GitHub Desktop.
Spyder average downloads (anaconda and conda-forge channels)
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 1 12:52:32 2022
@author: Daniel
"""
# %% Dependencies
# !conda install condastats -c conda-forge
# %% Imports and function definitions
from condastats.cli import overall
def add_spyder_downloads_by_release(release, start_month, end_month):
spyder_data_cf = overall(
'spyder', start_month=start_month, end_month=end_month, monthly=True,
pkg_version=release, data_source='conda-forge')
spyder_data_df = overall(
'spyder', start_month=start_month, end_month=end_month, monthly=True,
pkg_version=release, data_source='anaconda')
spyder_data = spyder_data_cf.add(spyder_data_df, fill_value=0)
return spyder_data
def get_spyder_downloads(releases, start_month, end_month):
downloads_by_release = {}
total_downloads = None
for release in releases:
try:
downloads_by_release[release] = add_spyder_downloads_by_release(
release, start_month, end_month)
if total_downloads is None:
total_downloads = downloads_by_release[release]
else:
total_downloads = total_downloads.add(
downloads_by_release[release], fill_value=0)
except FileNotFoundError:
print(f'Data not found for release {release} between'
f' {start_month} and {end_month}')
raise
return downloads_by_release, total_downloads
# %% Get releases download data
releases = ['5.0.5', '5.1.5', '5.2.2']
start_month = '2021-03'
end_month = '2022-01'
downloads_by_release, total_downloads = get_spyder_downloads(
releases, start_month, end_month)
# %% Check total_downloads per month
total_downloads
# %% Get releases total downloads average
total_downloads.mean() # The result of that command is 97960.75
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment