py-SMARTS#

[1]:
import utils
import pandas as pd

from bokeh.plotting import figure, show
from bokeh.models import HoverTool
from bokeh.transform import jitter
from bokeh.io import output_notebook
[2]:
output_notebook()
Loading BokehJS ...

ReadTheDocs#

[3]:
df = utils.get_rtd_analytics_data('py-smarts')
data_period = df['Date'].min().strftime('%Y-%m-%d') + ' to ' + df['Date'].max().strftime('%Y-%m-%d')
[4]:
total_by_version = df.groupby('Version')['Views'].sum().reset_index()

p = figure(x_range=total_by_version['Version'], height=350, tooltips=[("Version", "@Version"), ("Views", "@Views")],
           title=f"Page views by RTD version ({data_period})",)
p.vbar(x='Version', top='Views', width=0.75, source=total_by_version,
       line_color='white')
p.xaxis.major_label_orientation = 3.14/2
p.yaxis.axis_label = 'Total page views'
show(p)
[5]:
daily_views = df.pivot_table(values='Views', index='Date', columns='Version', aggfunc='sum')[['latest']].fillna(0)
daily_views = daily_views.resample('d').sum()

p = figure(x_axis_type="datetime", height=350, title=f"Daily views by RTD version")
hover_tool = HoverTool(tooltips=[('Date', '@x{%Y-%m-%d}'), ('Views', '@y')],
                       formatters={'@x': 'datetime'})
hover_tool.point_policy = 'snap_to_data'
p.add_tools(hover_tool)
p.line(daily_views.index, daily_views['latest'], legend_label='latest')
p.yaxis.axis_label = 'Daily page views'
show(p)
[6]:
df2 = df.loc[(df['Version'] == 'latest'), :].copy()
pathviews = df2.groupby('Path')['Views'].sum().reset_index()
[7]:
subset = pathviews.sort_values('Views', ascending=False)
p = figure(y_range=subset['Path'], height=400, tooltips=[("URL", "@Path"), ("Views", "@Views")],
           title=f"Views by URL ({data_period})")
p.hbar(y='Path', right='Views', source=subset, height=0.75,
       line_color='white')
p.xaxis.axis_label = 'Total page views'
show(p)

GitHub#

[8]:
gh = utils.get_github_stars('nrel/py-smarts')
[9]:
p = utils.plot_github_stars_timeseries(gh)
show(p)
[10]:
contributor_ts, _ = utils.get_github_contributor_timeseries("nrel/py-smarts")
p = utils.plot_github_contributors_timeseries(contributor_ts)
show(p)
[11]:
contributors = utils.get_github_contributors('nrel/py-smarts')
[12]:
mosaic = utils.make_github_contributors_mosaic(contributors)
mosaic
[12]:
../_images/project_py-smarts_14_0.png
[ ]: