j1-template 2022.5.0.rc3 → 2022.5.1.rc0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (401) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/attics/generator.html +5 -13
  3. data/assets/data/banner.html +2 -2
  4. data/assets/themes/j1/adapter/js/attic.js +106 -62
  5. data/assets/themes/j1/adapter/js/masterslider.js +22 -5
  6. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +26 -1
  7. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  8. data/assets/themes/j1/modules/backstretch/js/backstretch.js +1 -1
  9. data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.js +1696 -0
  10. data/assets/themes/j1/modules/backstretch/js/v2.1.16/backstretch.min.js +20 -0
  11. data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.js +1627 -0
  12. data/assets/themes/j1/modules/backstretch/js/v2.1.18/backstretch.min.js +20 -0
  13. data/assets/themes/j1/modules/cryptoJS/js/rc4.js +2 -2
  14. data/lib/j1/version.rb +1 -1
  15. data/lib/starter_web/Gemfile +1 -1
  16. data/lib/starter_web/README.md +440 -175
  17. data/lib/starter_web/_config.yml +3 -3
  18. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  19. data/lib/starter_web/_data/modules/attics.yml +12 -0
  20. data/lib/starter_web/_data/modules/defaults/attics.yml +16 -1
  21. data/lib/starter_web/_data/modules/defaults/masterslider.yml +1 -1
  22. data/lib/starter_web/_data/modules/masterslider.yml +0 -4
  23. data/lib/starter_web/_data/modules/navigator_menu.yml +31 -25
  24. data/lib/starter_web/_includes/attributes.asciidoc +2 -0
  25. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  26. data/lib/starter_web/assets/images/modules/attics/1920x1280/ben-kolde.jpg +0 -0
  27. data/lib/starter_web/assets/images/modules/attics/1920x1280/braden-collum.jpg +0 -0
  28. data/lib/starter_web/assets/images/modules/attics/1920x1280/ev.jpg +0 -0
  29. data/lib/starter_web/assets/images/modules/attics/1920x1280/firmbee-com.jpg +0 -0
  30. data/lib/starter_web/assets/images/modules/attics/1920x1280/max-harlynking.jpg +0 -0
  31. data/lib/starter_web/assets/images/modules/attics/guillaume-bolduc-1920x1280.jpg +0 -0
  32. data/lib/starter_web/assets/images/modules/attics/spacex-1920x1280.jpg +0 -0
  33. data/lib/starter_web/assets/videos/headers/{still → present_videos/still}/underground-broadway.jpg +0 -0
  34. data/lib/starter_web/assets/videos/headers/present_videos/underground-broadway.mp4 +0 -0
  35. data/lib/starter_web/collections/asciidoc_skeletons/simple-post/_posts/yyyy-mm-dd-your-post-name.asciidoc +3 -1
  36. data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +3 -0
  37. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +2 -3
  38. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +3 -0
  39. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +3 -0
  40. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +3 -0
  41. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-wiki-series.adoc +3 -0
  42. data/lib/starter_web/index.html +41 -7
  43. data/lib/starter_web/package.json +2 -2
  44. data/lib/starter_web/pages/public/about/features.adoc +119 -0
  45. data/lib/starter_web/pages/public/about/reporting_issues.adoc +78 -0
  46. data/lib/starter_web/pages/public/about/{about_site.adoc → site.adoc} +20 -15
  47. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +3 -0
  48. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +3 -0
  49. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +3 -0
  50. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +3 -0
  51. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +4 -1
  52. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +4 -1
  53. data/lib/starter_web/pages/public/blog/navigator/archive.html +4 -1
  54. data/lib/starter_web/pages/public/blog/navigator/index.html +4 -1
  55. data/lib/starter_web/pages/public/features/general.adoc +5 -1
  56. data/lib/starter_web/pages/public/features/template.adoc +4 -0
  57. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-circular-times-table.adoc +3 -0
  58. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-common-used-widgets.adoc +3 -0
  59. data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-odes-in-python.adoc +3 -0
  60. data/lib/starter_web/pages/public/jupyter/examples/localized/j1_climate-change-forecast.adoc +3 -0
  61. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -512
  62. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -629
  63. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -95
  64. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -93
  65. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -96
  66. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -70
  67. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -156
  68. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -95
  69. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -93
  70. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -955
  71. data/lib/starter_web/pages/public/learn/quickstart.adoc +4 -1
  72. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +4 -1
  73. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +16 -5
  74. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +3 -0
  75. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +3 -0
  76. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +3 -0
  77. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +3 -0
  78. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +3 -0
  79. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +3 -0
  80. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +6 -2
  81. data/lib/starter_web/pages/public/learn/where_to_go.adoc +3 -0
  82. data/lib/starter_web/pages/public/legal/de/100_copyright.adoc +3 -0
  83. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -0
  84. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +3 -0
  85. data/lib/starter_web/pages/public/legal/de/400_comment_policy.adoc +3 -0
  86. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +9 -1
  87. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +10 -2
  88. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +3 -0
  89. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +3 -0
  90. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +3 -0
  91. data/lib/starter_web/pages/public/plans/plans.adoc +3 -0
  92. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +4 -0
  93. data/lib/starter_web/pages/public/se/se-fake.adoc +4 -0
  94. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  95. data/lib/starter_web/utilsrv/package.json +1 -1
  96. metadata +18 -365
  97. data/lib/starter_web/assets/videos/headers/still/victoria-oskolovich-on-vimeo.jpg +0 -0
  98. data/lib/starter_web/pages/public/_jupyter/docs/_includes/attributes.asciidoc +0 -67
  99. data/lib/starter_web/pages/public/_jupyter/docs/_includes/documents/j1_docs_example_static.asciidoc +0 -232
  100. data/lib/starter_web/pages/public/_jupyter/docs/binderhub.adoc +0 -631
  101. data/lib/starter_web/pages/public/_jupyter/docs/j1-nbinteract.adoc +0 -638
  102. data/lib/starter_web/pages/public/_jupyter/docs/jupyterhub.adoc +0 -248
  103. data/lib/starter_web/pages/public/_jupyter/docs/nbinteract-widget-manual.adoc +0 -928
  104. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-circular-times-table.adoc +0 -139
  105. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-common-used-widgets.adoc +0 -229
  106. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-odes-in-python.adoc +0 -112
  107. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-altair/j1-altair-visualisations.adoc +0 -142
  108. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bokeh-visualisations.adoc +0 -171
  109. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bqplot-eamples.adoc +0 -111
  110. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-plotly/j1-plotly-visualisations.adoc +0 -94
  111. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1_climate-change-forecast.adoc +0 -106
  112. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16260
  113. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_bgplot_line_plot-checkpoint.ipynb +0 -247
  114. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-Copy1-checkpoint.ipynb +0 -12382
  115. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-checkpoint.ipynb +0 -12387
  116. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-short-checkpoint.ipynb +0 -12170
  117. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +0 -1058
  118. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb +0 -14478
  119. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-Copy1-checkpoint.ipynb +0 -379
  120. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +0 -442
  121. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets-checkpoint.ipynb +0 -523
  122. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.line_charts-checkpoint.ipynb +0 -84
  123. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.questions-checkpoint.ipynb +0 -194
  124. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_chart-checkpoint.ipynb +0 -89
  125. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-Copy1-checkpoint.ipynb +0 -164
  126. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-checkpoint.ipynb +0 -173
  127. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts.1-checkpoint.ipynb +0 -256
  128. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_barcharts-checkpoint.ipynb +0 -126
  129. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_hist_chart-checkpoint.ipynb +0 -87
  130. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_chart-checkpoint.ipynb +0 -90
  131. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_charts-checkpoint.ipynb +0 -87
  132. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_multiple_choice-checkpoint.ipynb +0 -64
  133. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_short_answer-checkpoint.ipynb +0 -122
  134. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_questions-checkpoint.ipynb +0 -181
  135. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_chart-checkpoint.ipynb +0 -89
  136. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_charts-checkpoint.ipynb +0 -175
  137. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_drag_chart-checkpoint.ipynb +0 -87
  138. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_ode_selected-checkpoint.ipynb +0 -14478
  139. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +0 -15227
  140. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/factor_by_factor.mp4 +0 -0
  141. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_circular_times_table.ipynb +0 -12382
  142. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_climate_change_forecast.ipynb +0 -1058
  143. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_docs_example_dynamic.ipynb +0 -14478
  144. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_interactive_widgets.ipynb +0 -442
  145. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets.ipynb +0 -523
  146. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_bar_chart.ipynb +0 -89
  147. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_hist_chart.ipynb +0 -87
  148. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_line_chart.ipynb +0 -90
  149. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_multiple_choice.ipynb +0 -64
  150. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_short_answer.ipynb +0 -122
  151. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_chart.ipynb +0 -89
  152. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_drag_chart.ipynb +0 -87
  153. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_odes_in_python.ipynb +0 -15227
  154. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/line_by_line.mp4 +0 -0
  155. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/point_by_point.mp4 +0 -0
  156. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +0 -16296
  157. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_non_interactive-checkpoint.ipynb +0 -15385
  158. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_interactive.ipynb +0 -16296
  159. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_non_interactive.ipynb +0 -15385
  160. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/00 - Introduction and Setup-checkpoint.ipynb +0 -717
  161. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/01 - Basic Plotting-checkpoint.ipynb +0 -1381
  162. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/02 - Styling and Theming-checkpoint.ipynb +0 -1440
  163. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/03 - Data Sources and Transformations-checkpoint.ipynb +0 -927
  164. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/04 - Adding Annotations-checkpoint.ipynb +0 -1105
  165. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/05 - Presentation Layouts-checkpoint.ipynb +0 -578
  166. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/06 - Linking and Interactions-checkpoint.ipynb +0 -1196
  167. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/07 - Bar and Categorical Data Plots-checkpoint.ipynb +0 -1681
  168. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/08 - Graph and Network Plots-checkpoint.ipynb +0 -680
  169. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/09 - Geographic Plots-checkpoint.ipynb +0 -693
  170. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/10 - Exporting and Embedding-checkpoint.ipynb +0 -751
  171. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/11 - Running Bokeh Applications-checkpoint.ipynb +0 -770
  172. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/bokeh_tut_00_introduction_and_setup-checkpoint.ipynb +0 -666
  173. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_01_basic_plotting-checkpoint.ipynb +0 -1365
  174. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_02_styling_and_theming-checkpoint.ipynb +0 -1405
  175. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_03_data_sources_and_transformations-checkpoint.ipynb +0 -856
  176. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_04_adding_annotations-checkpoint.ipynb +0 -1167
  177. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_05_presentation_layouts-checkpoint.ipynb +0 -601
  178. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_06_linking_and_interactions-checkpoint.ipynb +0 -1356
  179. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_07_bar_and_categorical_data_plots-checkpoint.ipynb +0 -1742
  180. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_08_graph_and_network_plots-checkpoint.ipynb +0 -625
  181. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_09_geographic_plots-checkpoint.ipynb +0 -685
  182. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.ipynb +0 -726
  183. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.org +0 -726
  184. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding.new-checkpoint.ipynb +0 -560
  185. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_11_running_bokeh_applications-checkpoint.ipynb +0 -716
  186. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_01_basic_plotting.ipynb +0 -1365
  187. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_02_styling_and_theming.ipynb +0 -1405
  188. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_03_data_sources_and_transformations.ipynb +0 -856
  189. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_04_adding_annotations.ipynb +0 -1167
  190. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_05_presentation_layouts.ipynb +0 -601
  191. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_06_linking_and_interactions.ipynb +0 -1356
  192. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_07_bar_and_categorical_data_plots.ipynb +0 -1742
  193. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_08_graph_and_network_plots.ipynb +0 -625
  194. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_09_geographic_plots.ipynb +0 -685
  195. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/.ipynb_checkpoints/j1_mathplot_vs_bqplot-checkpoint.ipynb +0 -336
  196. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/advanced/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -433
  197. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_bgplot_line_plot.ipynb +0 -244
  198. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_circular_times_table-short.ipynb +0 -12170
  199. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_mathplot_vs_bqplot.ipynb +0 -336
  200. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Index-checkpoint.ipynb +0 -163
  201. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Tutorials-checkpoint.ipynb +0 -51
  202. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Advanced Plotting.ipynb +0 -289
  203. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Animations.ipynb +0 -266
  204. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Axis Properties.ipynb +0 -396
  205. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Plotting Dates.ipynb +0 -318
  206. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/Time Series.ipynb +0 -158
  207. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/spx_prices.csv +0 -6799
  208. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Feature_Vector_Distribution-Iris-Digits.ipynb +0 -470
  209. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Index.ipynb +0 -49
  210. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Logs Analytics/Logs Dashboard.ipynb +0 -378
  211. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Mobile Patent Suits.ipynb +0 -123
  212. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Neural Network.ipynb +0 -177
  213. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Outlier Detection.ipynb +0 -311
  214. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Bubble Chart.ipynb +0 -255
  215. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Choropleth.ipynb +0 -275
  216. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/nations.json +0 -1
  217. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/world_map_codes.csv +0 -234
  218. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Basic Plotting-checkpoint.ipynb +0 -186
  219. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Pyplot-checkpoint.ipynb +0 -794
  220. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Untitled-checkpoint.ipynb +0 -323
  221. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Basic Plotting.ipynb +0 -261
  222. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Pyplot.ipynb +0 -1489
  223. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Index.ipynb +0 -163
  224. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Interaction Layer.ipynb +0 -966
  225. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Mark Interactions.ipynb +0 -476
  226. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Selectors.ipynb +0 -427
  227. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Introduction.ipynb +0 -528
  228. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bars.ipynb +0 -480
  229. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bins.ipynb +0 -217
  230. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Boxplot.ipynb +0 -253
  231. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Candles.ipynb +0 -225
  232. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/FlexLine.ipynb +0 -123
  233. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Graph.ipynb +0 -357
  234. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/GridHeatMap.ipynb +0 -422
  235. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/HeatMap.ipynb +0 -157
  236. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Hist.ipynb +0 -176
  237. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Image.ipynb +0 -195
  238. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Label.ipynb +0 -189
  239. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Lines.ipynb +0 -565
  240. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Map.ipynb +0 -182
  241. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Market Map.ipynb +0 -315
  242. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Pie.ipynb +0 -465
  243. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Scatter.ipynb +0 -835
  244. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bars.ipynb +0 -362
  245. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bins.ipynb +0 -252
  246. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Boxplot.ipynb +0 -273
  247. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Candles.ipynb +0 -242
  248. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/GridHeatMap.ipynb +0 -417
  249. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/HeatMap.ipynb +0 -155
  250. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Hist.ipynb +0 -238
  251. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Image.ipynb +0 -152
  252. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Label.ipynb +0 -206
  253. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Lines.ipynb +0 -474
  254. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Map.ipynb +0 -181
  255. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Pie.ipynb +0 -310
  256. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Scatter.ipynb +0 -702
  257. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Scales/Color Scales.ipynb +0 -495
  258. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Feature_Vector_Distribution-Iris-Digits-checkpoint.ipynb +0 -433
  259. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Linking Plots With Widgets-checkpoint.ipynb +0 -326
  260. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-Copy1-checkpoint.ipynb +0 -177
  261. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-checkpoint.ipynb +0 -177
  262. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Brush Interval Selector.ipynb +0 -154
  263. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Fast Interval Selector.ipynb +0 -152
  264. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density Widget.ipynb +0 -128
  265. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density.ipynb +0 -113
  266. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Linking Plots With Widgets.ipynb +0 -326
  267. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Object Model.ipynb +0 -179
  268. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Pyplot.ipynb +0 -174
  269. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Updating Plots.ipynb +0 -177
  270. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials.ipynb +0 -51
  271. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/country_codes.csv +0 -213
  272. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/gdp_per_capita.csv +0 -56
  273. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/state_codes.csv +0 -52
  274. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/trees.jpg +0 -0
  275. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +0 -247
  276. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +0 -323
  277. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +0 -387
  278. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_interactive_questions-checkpoint.ipynb +0 -185
  279. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +0 -384
  280. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +0 -254
  281. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +0 -732
  282. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +0 -247
  283. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_correlation.ipynb +0 -651
  284. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_empirical_distributions.ipynb +0 -773
  285. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_linear_regression.ipynb +0 -111
  286. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_probability_distribution_plots.ipynb +0 -199
  287. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_sampling_from_a_population.ipynb +0 -421
  288. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_variability_of_the_sample_mean.ipynb +0 -323
  289. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +0 -387
  290. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_interactive_questions.ipynb +0 -185
  291. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_layout.ipynb +0 -384
  292. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_interact.ipynb +0 -254
  293. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_monty_hall.ipynb +0 -732
  294. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Advanced Plotting.html +0 -373
  295. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Animations.html +0 -361
  296. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Axis Properties.html +0 -569
  297. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bars.html +0 -487
  298. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Basic Plotting.html +0 -341
  299. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bins.html +0 -259
  300. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Boxplot.html +0 -277
  301. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Brush Interval Selector.html +0 -182
  302. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bubble Chart.html +0 -299
  303. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Candles.html +0 -252
  304. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Choropleth.html +0 -318
  305. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Color Scales.html +0 -514
  306. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Fast Interval Selector.html +0 -182
  307. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Feature_Vector_Distribution-Iris-Digits.html +0 -479
  308. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/FlexLine.html +0 -128
  309. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density Widget.html +0 -152
  310. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density.html +0 -137
  311. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Graph.html +0 -484
  312. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/GridHeatMap.html +0 -483
  313. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/HeatMap.html +0 -170
  314. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Hist.html +0 -349
  315. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Image.html +0 -177
  316. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Index.html +0 -29
  317. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Interaction Layer.html +0 -1372
  318. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Introduction.html +0 -749
  319. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Label.html +0 -268
  320. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Lines.html +0 -704
  321. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Linking Plots With Widgets.html +0 -389
  322. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Logs Dashboard.html +0 -455
  323. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Map.html +0 -229
  324. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mark Interactions.html +0 -613
  325. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Market Map.html +0 -413
  326. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mobile Patent Suits.html +0 -131
  327. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Neural Network.html +0 -190
  328. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Object Model.html +0 -193
  329. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Outlier Detection.html +0 -363
  330. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pie.html +0 -367
  331. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Plotting Dates.html +0 -337
  332. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pyplot.html +0 -196
  333. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Scatter.html +0 -948
  334. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Selectors.html +0 -489
  335. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Time Series.html +0 -173
  336. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Tutorials.html +0 -40
  337. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Updating Plots.html +0 -228
  338. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_interactive.html +0 -2216
  339. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_non_interactive.html +0 -1170
  340. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bgplot_line_plot.html +0 -318
  341. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_01_basic_plotting.html +0 -1479
  342. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_02_styling_and_theming.html +0 -1524
  343. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_03_data_sources_and_transformations.html +0 -983
  344. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_04_adding_annotations.html +0 -1280
  345. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_05_presentation_layouts.html +0 -660
  346. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_06_linking_and_interactions.html +0 -1563
  347. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_07_bar_and_categorical_data_plots.html +0 -1888
  348. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_08_graph_and_network_plots.html +0 -689
  349. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_09_geographic_plots.html +0 -767
  350. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table-short.html +0 -475
  351. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table.html +0 -747
  352. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_climate_change_forecast.html +0 -1250
  353. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +0 -186
  354. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_interactive_widgets.html +0 -512
  355. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_mathplot_vs_bqplot.html +0 -407
  356. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets.html +0 -629
  357. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +0 -95
  358. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +0 -93
  359. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +0 -96
  360. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +0 -70
  361. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +0 -156
  362. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +0 -95
  363. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +0 -93
  364. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_odes_in_python.html +0 -955
  365. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_central_limit_theorem.html +0 -290
  366. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_correlation.html +0 -818
  367. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_empirical_distributions.html +0 -351
  368. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_linear_regression.html +0 -106
  369. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_probability_distribution_plots.html +0 -228
  370. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_sampling_from_a_population.html +0 -518
  371. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_variability_of_the_sample_mean.html +0 -372
  372. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +0 -473
  373. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_interactive_questions.html +0 -242
  374. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_layout.html +0 -496
  375. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_interact.html +0 -329
  376. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_monty_hall.html +0 -866
  377. data/lib/starter_web/pages/public/_jupyter/where_to_go.adoc +0 -270
  378. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +0 -313
  379. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +0 -281
  380. data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +0 -253
  381. data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +0 -579
  382. data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +0 -718
  383. data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +0 -91
  384. data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +0 -420
  385. data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +0 -250
  386. data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +0 -425
  387. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +0 -118
  388. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +0 -28
  389. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +0 -14
  390. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +0 -11
  391. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +0 -11
  392. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +0 -11
  393. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +0 -11
  394. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +0 -11
  395. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +0 -47
  396. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +0 -11
  397. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +0 -11
  398. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +0 -11
  399. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +0 -337
  400. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +0 -47
  401. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +0 -130
@@ -1,455 +0,0 @@
1
- <div class="cell text_cell">
2
- <button class="js-nbinteract-widget">
3
- Loading widgets...
4
- </button>
5
- </div>
6
-
7
-
8
-
9
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
10
- <div class="text_cell_render border-box-sizing rendered_html">
11
- <h2 id="Logs-Analytics-Dashboard">Logs Analytics Dashboard<a class="anchor-link" href="#Logs-Analytics-Dashboard">&#182;</a></h2><p>This dashboard can be used for performing visual analytics on the server log files. You can interact with any chart in the dashboard, like so:</p>
12
- <ol>
13
- <li>Click on a bar in any bar chart to filter the whole dataset by that bar's value</li>
14
- <li>Click on a slice of any pie chart to filter the whole dataset by that pie slices value</li>
15
- </ol>
16
- <p>Fun things to try:</p>
17
- <ol>
18
- <li>Select any specific day in the <code>Daily Events</code> bar chart (for e.g. why do first and last days have fewer events?)</li>
19
- <li>Find out which product queries resulted in server error (click on <code>Server Error</code> slice of <code>Events By Status</code> pie chart)</li>
20
- </ol>
21
-
22
- </div>
23
- </div>
24
- </div>
25
-
26
-
27
-
28
- <div class="
29
- cell border-box-sizing code_cell rendered">
30
- <div class="input">
31
-
32
- <div class="inner_cell">
33
- <div class="input_area">
34
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
35
- <span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
36
-
37
- <span class="kn">import</span> <span class="nn">ipywidgets</span> <span class="k">as</span> <span class="nn">widgets</span>
38
- <span class="kn">import</span> <span class="nn">bqplot</span> <span class="k">as</span> <span class="nn">bq</span>
39
- <span class="kn">import</span> <span class="nn">bqplot.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
40
- </pre></div>
41
-
42
- </div>
43
- </div>
44
- </div>
45
-
46
- </div>
47
-
48
-
49
-
50
- <div class="
51
- cell border-box-sizing code_cell rendered">
52
- <div class="input">
53
-
54
- <div class="inner_cell">
55
- <div class="input_area">
56
- <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">get_status_code</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
57
- <span class="sd">&quot;&quot;&quot;</span>
58
- <span class="sd"> map integer http status to string status code</span>
59
- <span class="sd"> &quot;&quot;&quot;</span>
60
- <span class="k">if</span> <span class="n">x</span> <span class="o">&gt;=</span> <span class="mi">200</span> <span class="ow">and</span> <span class="n">x</span> <span class="o">&lt;</span> <span class="mi">300</span><span class="p">:</span>
61
- <span class="k">return</span> <span class="s2">&quot;SUCCESS&quot;</span>
62
- <span class="k">elif</span> <span class="n">x</span> <span class="o">&gt;=</span> <span class="mi">300</span> <span class="ow">and</span> <span class="n">x</span> <span class="o">&lt;</span> <span class="mi">400</span><span class="p">:</span>
63
- <span class="k">return</span> <span class="s2">&quot;REDIRECT&quot;</span>
64
- <span class="k">elif</span> <span class="n">x</span> <span class="o">&gt;=</span> <span class="mi">400</span> <span class="ow">and</span> <span class="n">x</span> <span class="o">&lt;</span> <span class="mi">500</span><span class="p">:</span>
65
- <span class="k">return</span> <span class="s2">&quot;CLIENT ERROR&quot;</span>
66
- <span class="k">elif</span> <span class="n">x</span> <span class="o">&gt;=</span> <span class="mi">500</span><span class="p">:</span>
67
- <span class="k">return</span> <span class="s2">&quot;SERVER ERROR&quot;</span>
68
- </pre></div>
69
-
70
- </div>
71
- </div>
72
- </div>
73
-
74
- </div>
75
-
76
-
77
-
78
- <div class="
79
- cell border-box-sizing code_cell rendered">
80
- <div class="input">
81
-
82
- <div class="inner_cell">
83
- <div class="input_area">
84
- <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">get_events_by_hour</span><span class="p">(</span><span class="n">log_data_slice</span><span class="p">):</span>
85
- <span class="sd">&quot;&quot;&quot;</span>
86
- <span class="sd"> get event counts by hour</span>
87
- <span class="sd"> &quot;&quot;&quot;</span>
88
- <span class="k">return</span> <span class="p">(</span>
89
- <span class="n">log_data_slice</span><span class="p">[</span><span class="s2">&quot;status_code&quot;</span><span class="p">]</span>
90
- <span class="o">.</span><span class="n">groupby</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">hour</span><span class="p">)</span>
91
- <span class="o">.</span><span class="n">count</span><span class="p">()</span>
92
- <span class="o">.</span><span class="n">reindex</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">24</span><span class="p">))</span>
93
- <span class="o">.</span><span class="n">fillna</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
94
- <span class="p">)</span>
95
- </pre></div>
96
-
97
- </div>
98
- </div>
99
- </div>
100
-
101
- </div>
102
-
103
-
104
-
105
- <div class="
106
- cell border-box-sizing code_cell rendered">
107
- <div class="input">
108
-
109
- <div class="inner_cell">
110
- <div class="input_area">
111
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># load data into pandas and do some munging</span>
112
- <span class="n">log_data</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s2">&quot;access.log&quot;</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="s2">&quot; &quot;</span><span class="p">,</span> <span class="n">header</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
113
- <span class="n">log_data</span><span class="o">.</span><span class="n">drop</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
114
- <span class="n">log_data</span><span class="o">.</span><span class="n">columns</span> <span class="o">=</span> <span class="p">[</span>
115
- <span class="s2">&quot;ip_address&quot;</span><span class="p">,</span>
116
- <span class="s2">&quot;timestamp&quot;</span><span class="p">,</span>
117
- <span class="s2">&quot;request&quot;</span><span class="p">,</span>
118
- <span class="s2">&quot;status&quot;</span><span class="p">,</span>
119
- <span class="s2">&quot;col1&quot;</span><span class="p">,</span>
120
- <span class="s2">&quot;url&quot;</span><span class="p">,</span>
121
- <span class="s2">&quot;agent&quot;</span><span class="p">,</span>
122
- <span class="s2">&quot;col2&quot;</span><span class="p">,</span>
123
- <span class="p">]</span>
124
-
125
- <span class="n">log_data</span><span class="o">.</span><span class="n">index</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">to_datetime</span><span class="p">(</span>
126
- <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;timestamp&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">str</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s2">&quot;[\[\]]&quot;</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">),</span> <span class="nb">format</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">%d</span><span class="s2">/%b/%Y:%H:%M:%S&quot;</span>
127
- <span class="p">)</span>
128
- <span class="n">log_data</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s2">&quot;timestamp&quot;</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
129
-
130
- <span class="c1"># add extra columns for easy querying</span>
131
- <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;status_code&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;status&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="n">get_status_code</span><span class="p">)</span>
132
- <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;category&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;request&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">str</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">&quot;categoryId=(.*)&amp;&quot;</span><span class="p">,</span> <span class="n">expand</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
133
- <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;product&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;request&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">str</span><span class="o">.</span><span class="n">extract</span><span class="p">(</span><span class="s2">&quot;productId=(.*)&amp;&quot;</span><span class="p">,</span> <span class="n">expand</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
134
- <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;hour&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">log_data</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">hour</span><span class="p">)</span>
135
- <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;day&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">log_data</span><span class="o">.</span><span class="n">index</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y-%m-</span><span class="si">%d</span><span class="s2">&quot;</span><span class="p">)</span>
136
- </pre></div>
137
-
138
- </div>
139
- </div>
140
- </div>
141
-
142
- </div>
143
-
144
-
145
-
146
- <div class="
147
- cell border-box-sizing code_cell rendered">
148
- <div class="input">
149
-
150
- <div class="inner_cell">
151
- <div class="input_area">
152
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">all_days</span> <span class="o">=</span> <span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;day&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">index</span>
153
- <span class="n">all_hours</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">24</span><span class="p">)</span>
154
- <span class="n">all_categories</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;category&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
155
- <span class="n">all_products</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;product&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
156
- <span class="n">all_status_codes</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">log_data</span><span class="p">[</span><span class="s2">&quot;status_code&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
157
-
158
- <span class="n">category_colors</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">all_categories</span><span class="p">,</span> <span class="n">bq</span><span class="o">.</span><span class="n">CATEGORY10</span><span class="p">))</span>
159
- <span class="n">status_label_colors</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
160
- <span class="p">[(</span><span class="s2">&quot;SUCCESS&quot;</span><span class="p">,</span> <span class="s2">&quot;#006d2c&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;CLIENT ERROR&quot;</span><span class="p">,</span> <span class="s2">&quot;#fc8d59&quot;</span><span class="p">),</span> <span class="p">(</span><span class="s2">&quot;SERVER ERROR&quot;</span><span class="p">,</span> <span class="s2">&quot;#a63603&quot;</span><span class="p">)]</span>
161
- <span class="p">)</span>
162
- </pre></div>
163
-
164
- </div>
165
- </div>
166
- </div>
167
-
168
- </div>
169
-
170
-
171
-
172
- <div class="
173
- cell border-box-sizing code_cell rendered">
174
- <div class="input">
175
-
176
- <div class="inner_cell">
177
- <div class="input_area">
178
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># daily events bar chart</span>
179
- <span class="n">daily_events_fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span>
180
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Daily Events&quot;</span><span class="p">,</span>
181
- <span class="n">animation_duration</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span>
182
- <span class="n">layout</span><span class="o">=</span><span class="n">widgets</span><span class="o">.</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s2">&quot;900px&quot;</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="s2">&quot;500px&quot;</span><span class="p">),</span>
183
- <span class="p">)</span>
184
-
185
- <span class="n">plt</span><span class="o">.</span><span class="n">scales</span><span class="p">(</span><span class="n">scales</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="n">bq</span><span class="o">.</span><span class="n">DateScale</span><span class="p">()})</span>
186
-
187
- <span class="c1"># intsel = BrushIntervalSelector(scale=, marks=[hist])</span>
188
- <span class="n">bar_axes_options</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;grid_lines&quot;</span><span class="p">:</span> <span class="s2">&quot;none&quot;</span><span class="p">},</span> <span class="s2">&quot;y&quot;</span><span class="p">:</span> <span class="p">{</span><span class="s2">&quot;tick_format&quot;</span><span class="p">:</span> <span class="s2">&quot;,&quot;</span><span class="p">}}</span>
189
- <span class="n">common_bar_options</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
190
- <span class="n">interactions</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;click&quot;</span><span class="p">:</span> <span class="s2">&quot;select&quot;</span><span class="p">},</span>
191
- <span class="n">selected_style</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;stroke&quot;</span><span class="p">:</span> <span class="s2">&quot;Red&quot;</span><span class="p">,</span> <span class="s2">&quot;stroke-width&quot;</span><span class="p">:</span> <span class="mi">4</span><span class="p">},</span>
192
- <span class="n">axes_options</span><span class="o">=</span><span class="n">bar_axes_options</span><span class="p">,</span>
193
- <span class="p">)</span>
194
- <span class="n">daily_events_bar</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span>
195
- <span class="n">pd</span><span class="o">.</span><span class="n">to_datetime</span><span class="p">(</span><span class="n">all_days</span><span class="p">),</span>
196
- <span class="p">[],</span>
197
- <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;dodgerblue&quot;</span><span class="p">],</span>
198
- <span class="n">opacities</span><span class="o">=</span><span class="p">[</span><span class="mf">0.8</span><span class="p">]</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">all_days</span><span class="p">),</span>
199
- <span class="o">**</span><span class="n">common_bar_options</span>
200
- <span class="p">)</span>
201
-
202
- <span class="n">num_days</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">all_days</span><span class="p">)</span>
203
- <span class="n">filtered_daily_events_bar</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span>
204
- <span class="n">pd</span><span class="o">.</span><span class="n">to_datetime</span><span class="p">(</span><span class="n">all_days</span><span class="p">),</span>
205
- <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">num_days</span><span class="p">),</span>
206
- <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;lightgreen&quot;</span><span class="p">],</span>
207
- <span class="n">opacities</span><span class="o">=</span><span class="p">[</span><span class="mf">0.8</span><span class="p">]</span> <span class="o">*</span> <span class="n">num_days</span><span class="p">,</span>
208
- <span class="n">axes_options</span><span class="o">=</span><span class="n">bar_axes_options</span><span class="p">,</span>
209
- <span class="p">)</span>
210
-
211
- <span class="c1"># hourly events line chart</span>
212
- <span class="n">hourly_events_fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span>
213
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Hourly Events&quot;</span><span class="p">,</span>
214
- <span class="n">animation_duration</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span>
215
- <span class="n">layout</span><span class="o">=</span><span class="n">widgets</span><span class="o">.</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s2">&quot;600px&quot;</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="s2">&quot;500px&quot;</span><span class="p">),</span>
216
- <span class="p">)</span>
217
-
218
- <span class="n">plt</span><span class="o">.</span><span class="n">scales</span><span class="p">(</span><span class="n">scales</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;x&quot;</span><span class="p">:</span> <span class="n">bq</span><span class="o">.</span><span class="n">OrdinalScale</span><span class="p">()})</span>
219
- <span class="n">hourly_events_bar</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span>
220
- <span class="n">all_hours</span><span class="p">,</span>
221
- <span class="p">[],</span>
222
- <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;goldenrod&quot;</span><span class="p">],</span>
223
- <span class="n">opacities</span><span class="o">=</span><span class="p">[</span><span class="mf">0.8</span><span class="p">]</span> <span class="o">*</span> <span class="mi">24</span><span class="p">,</span>
224
- <span class="n">padding</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span>
225
- <span class="o">**</span><span class="n">common_bar_options</span>
226
- <span class="p">)</span>
227
-
228
- <span class="n">filtered_hourly_events_bar</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span>
229
- <span class="n">all_hours</span><span class="p">,</span>
230
- <span class="p">[],</span>
231
- <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;lightgreen&quot;</span><span class="p">],</span>
232
- <span class="n">opacities</span><span class="o">=</span><span class="p">[</span><span class="mf">0.8</span><span class="p">]</span> <span class="o">*</span> <span class="mi">24</span><span class="p">,</span>
233
- <span class="n">padding</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span>
234
- <span class="n">axes_options</span><span class="o">=</span><span class="n">bar_axes_options</span><span class="p">,</span>
235
- <span class="p">)</span>
236
-
237
- <span class="n">products_fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span>
238
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Events By Product&quot;</span><span class="p">,</span>
239
- <span class="n">animation_duration</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span>
240
- <span class="n">fig_margin</span><span class="o">=</span><span class="nb">dict</span><span class="p">(</span><span class="n">top</span><span class="o">=</span><span class="mi">60</span><span class="p">,</span> <span class="n">bottom</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">left</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">right</span><span class="o">=</span><span class="mi">40</span><span class="p">),</span>
241
- <span class="n">layout</span><span class="o">=</span><span class="n">widgets</span><span class="o">.</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s2">&quot;550px&quot;</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="s2">&quot;500px&quot;</span><span class="p">),</span>
242
- <span class="p">)</span>
243
- <span class="n">products_bar</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">bar</span><span class="p">(</span>
244
- <span class="n">all_products</span><span class="p">,</span>
245
- <span class="p">[],</span>
246
- <span class="n">colors</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;salmon&quot;</span><span class="p">],</span>
247
- <span class="n">orientation</span><span class="o">=</span><span class="s2">&quot;horizontal&quot;</span><span class="p">,</span>
248
- <span class="n">opacities</span><span class="o">=</span><span class="p">[</span><span class="mf">0.8</span><span class="p">]</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">all_products</span><span class="p">),</span>
249
- <span class="n">padding</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span>
250
- <span class="o">**</span><span class="n">common_bar_options</span>
251
- <span class="p">)</span>
252
-
253
- <span class="n">common_pie_args</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
254
- <span class="n">display_labels</span><span class="o">=</span><span class="s2">&quot;outside&quot;</span><span class="p">,</span>
255
- <span class="n">interactions</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;click&quot;</span><span class="p">:</span> <span class="s2">&quot;select&quot;</span><span class="p">},</span>
256
- <span class="n">selected_style</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;stroke&quot;</span><span class="p">:</span> <span class="s2">&quot;white&quot;</span><span class="p">,</span> <span class="s2">&quot;stroke-width&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">},</span>
257
- <span class="n">inner_radius</span><span class="o">=</span><span class="mi">80</span><span class="p">,</span>
258
- <span class="n">apply_clip</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
259
- <span class="p">)</span>
260
- <span class="c1"># categories pie chart</span>
261
- <span class="n">categories_fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span>
262
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Events By Category&quot;</span><span class="p">,</span>
263
- <span class="n">animation_duration</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span>
264
- <span class="n">layout</span><span class="o">=</span><span class="n">widgets</span><span class="o">.</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s2">&quot;550px&quot;</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="s2">&quot;500px&quot;</span><span class="p">),</span>
265
- <span class="p">)</span>
266
- <span class="n">categories_pie</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">pie</span><span class="p">([],</span> <span class="n">labels</span><span class="o">=</span><span class="n">all_categories</span><span class="p">,</span> <span class="o">**</span><span class="n">common_pie_args</span><span class="p">)</span>
267
-
268
- <span class="c1"># status codes pie chart</span>
269
- <span class="n">status_codes_fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span>
270
- <span class="n">title</span><span class="o">=</span><span class="s2">&quot;Events By Status&quot;</span><span class="p">,</span>
271
- <span class="n">animation_duration</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span>
272
- <span class="n">layout</span><span class="o">=</span><span class="n">widgets</span><span class="o">.</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s2">&quot;550px&quot;</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="s2">&quot;500px&quot;</span><span class="p">),</span>
273
- <span class="p">)</span>
274
- <span class="n">status_codes_pie</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">pie</span><span class="p">([],</span> <span class="n">labels</span><span class="o">=</span><span class="n">all_status_codes</span><span class="p">,</span> <span class="o">**</span><span class="n">common_pie_args</span><span class="p">)</span>
275
-
276
- <span class="c1"># buttons for updating and resetting filters</span>
277
- <span class="n">update_btn</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Update&quot;</span><span class="p">,</span> <span class="n">button_style</span><span class="o">=</span><span class="s2">&quot;Success&quot;</span><span class="p">)</span>
278
- <span class="n">reset_btn</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s2">&quot;Reset&quot;</span><span class="p">,</span> <span class="n">button_style</span><span class="o">=</span><span class="s2">&quot;Success&quot;</span><span class="p">)</span>
279
- </pre></div>
280
-
281
- </div>
282
- </div>
283
- </div>
284
-
285
- </div>
286
-
287
-
288
-
289
- <div class="
290
- cell border-box-sizing code_cell rendered">
291
- <div class="input">
292
-
293
- <div class="inner_cell">
294
- <div class="input_area">
295
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">fields</span> <span class="o">=</span> <span class="p">[</span><span class="s2">&quot;day&quot;</span><span class="p">,</span> <span class="s2">&quot;hour&quot;</span><span class="p">,</span> <span class="s2">&quot;product&quot;</span><span class="p">,</span> <span class="s2">&quot;category&quot;</span><span class="p">,</span> <span class="s2">&quot;status_code&quot;</span><span class="p">]</span>
296
- <span class="n">field_vals</span> <span class="o">=</span> <span class="p">[</span><span class="n">all_days</span><span class="p">,</span> <span class="n">all_hours</span><span class="p">,</span> <span class="n">all_products</span><span class="p">,</span> <span class="n">all_categories</span><span class="p">,</span> <span class="n">all_status_codes</span><span class="p">]</span>
297
- <span class="n">plots</span> <span class="o">=</span> <span class="p">[</span>
298
- <span class="n">daily_events_bar</span><span class="p">,</span>
299
- <span class="n">hourly_events_bar</span><span class="p">,</span>
300
- <span class="n">products_bar</span><span class="p">,</span>
301
- <span class="n">categories_pie</span><span class="p">,</span>
302
- <span class="n">status_codes_pie</span><span class="p">,</span>
303
- <span class="p">]</span>
304
- </pre></div>
305
-
306
- </div>
307
- </div>
308
- </div>
309
-
310
- </div>
311
-
312
-
313
-
314
- <div class="
315
- cell border-box-sizing code_cell rendered">
316
- <div class="input">
317
-
318
- <div class="inner_cell">
319
- <div class="input_area">
320
- <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">generate_filters</span><span class="p">():</span>
321
- <span class="n">filters_dict</span> <span class="o">=</span> <span class="p">{}</span>
322
- <span class="k">for</span> <span class="n">field</span><span class="p">,</span> <span class="n">field_val</span><span class="p">,</span> <span class="n">plot</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">fields</span><span class="p">,</span> <span class="n">field_vals</span><span class="p">,</span> <span class="n">plots</span><span class="p">):</span>
323
- <span class="k">if</span> <span class="n">plot</span><span class="o">.</span><span class="n">selected</span><span class="p">:</span>
324
- <span class="n">selected_vals</span> <span class="o">=</span> <span class="p">[</span><span class="n">field_val</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">plot</span><span class="o">.</span><span class="n">selected</span><span class="p">]</span>
325
- <span class="n">filters_dict</span><span class="p">[</span><span class="n">field</span><span class="p">]</span> <span class="o">=</span> <span class="n">selected_vals</span>
326
- <span class="k">return</span> <span class="n">filters_dict</span>
327
- </pre></div>
328
-
329
- </div>
330
- </div>
331
- </div>
332
-
333
- </div>
334
-
335
-
336
-
337
- <div class="
338
- cell border-box-sizing code_cell rendered">
339
- <div class="input">
340
-
341
- <div class="inner_cell">
342
- <div class="input_area">
343
- <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">apply_filters</span><span class="p">(</span><span class="n">df</span><span class="p">,</span> <span class="n">filters</span><span class="p">):</span>
344
- <span class="n">filtered_df</span> <span class="o">=</span> <span class="n">df</span>
345
-
346
- <span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">filters</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
347
- <span class="k">if</span> <span class="n">v</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
348
- <span class="n">filtered_df</span> <span class="o">=</span> <span class="n">filtered_df</span><span class="p">[</span><span class="n">filtered_df</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">isin</span><span class="p">(</span><span class="n">v</span><span class="p">)]</span>
349
- <span class="k">return</span> <span class="n">filtered_df</span>
350
- </pre></div>
351
-
352
- </div>
353
- </div>
354
- </div>
355
-
356
- </div>
357
-
358
-
359
-
360
- <div class="
361
- cell border-box-sizing code_cell rendered">
362
- <div class="input">
363
-
364
- <div class="inner_cell">
365
- <div class="input_area">
366
- <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">update_plots</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">):</span>
367
- <span class="k">global</span> <span class="n">filters</span><span class="p">,</span> <span class="n">filtered_log_data</span>
368
- <span class="n">filters</span> <span class="o">=</span> <span class="n">generate_filters</span><span class="p">()</span>
369
- <span class="n">filtered_log_data</span> <span class="o">=</span> <span class="n">apply_filters</span><span class="p">(</span><span class="n">log_data</span><span class="p">,</span> <span class="n">filters</span><span class="p">)</span>
370
-
371
- <span class="n">daily_events</span> <span class="o">=</span> <span class="p">(</span>
372
- <span class="n">filtered_log_data</span><span class="o">.</span><span class="n">resample</span><span class="p">(</span><span class="s2">&quot;D&quot;</span><span class="p">)</span>
373
- <span class="o">.</span><span class="n">count</span><span class="p">()[</span><span class="s2">&quot;status_code&quot;</span><span class="p">]</span>
374
- <span class="o">.</span><span class="n">reindex</span><span class="p">(</span><span class="n">pd</span><span class="o">.</span><span class="n">to_datetime</span><span class="p">(</span><span class="n">all_days</span><span class="p">))</span>
375
- <span class="o">.</span><span class="n">fillna</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
376
- <span class="p">)</span>
377
- <span class="n">daily_events_bar</span><span class="o">.</span><span class="n">y</span> <span class="o">=</span> <span class="n">daily_events</span>
378
-
379
- <span class="n">hourly_events_bar</span><span class="o">.</span><span class="n">y</span> <span class="o">=</span> <span class="n">get_events_by_hour</span><span class="p">(</span><span class="n">filtered_log_data</span><span class="p">)</span>
380
-
381
- <span class="n">products_bar</span><span class="o">.</span><span class="n">y</span> <span class="o">=</span> <span class="p">(</span>
382
- <span class="n">filtered_log_data</span><span class="p">[</span><span class="s2">&quot;product&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span><span class="o">.</span><span class="n">reindex</span><span class="p">(</span><span class="n">all_products</span><span class="p">)</span><span class="o">.</span><span class="n">fillna</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
383
- <span class="p">)</span>
384
-
385
- <span class="n">events_by_category</span> <span class="o">=</span> <span class="n">filtered_log_data</span><span class="p">[</span><span class="s2">&quot;category&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
386
-
387
- <span class="k">with</span> <span class="n">categories_pie</span><span class="o">.</span><span class="n">hold_sync</span><span class="p">():</span>
388
- <span class="n">categories_pie</span><span class="o">.</span><span class="n">labels</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">events_by_category</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
389
- <span class="n">categories_pie</span><span class="o">.</span><span class="n">sizes</span> <span class="o">=</span> <span class="n">events_by_category</span>
390
- <span class="n">categories_pie</span><span class="o">.</span><span class="n">colors</span> <span class="o">=</span> <span class="p">[</span><span class="n">category_colors</span><span class="p">[</span><span class="n">d</span><span class="p">]</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">categories_pie</span><span class="o">.</span><span class="n">labels</span><span class="p">]</span>
391
-
392
- <span class="n">events_by_status_code</span> <span class="o">=</span> <span class="n">filtered_log_data</span><span class="p">[</span><span class="s2">&quot;status_code&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">value_counts</span><span class="p">()</span>
393
-
394
- <span class="k">with</span> <span class="n">status_codes_pie</span><span class="o">.</span><span class="n">hold_sync</span><span class="p">():</span>
395
- <span class="n">status_codes_pie</span><span class="o">.</span><span class="n">labels</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">events_by_status_code</span><span class="o">.</span><span class="n">index</span><span class="p">)</span>
396
- <span class="n">status_codes_pie</span><span class="o">.</span><span class="n">sizes</span> <span class="o">=</span> <span class="n">events_by_status_code</span><span class="o">.</span><span class="n">values</span>
397
- <span class="n">status_codes_pie</span><span class="o">.</span><span class="n">colors</span> <span class="o">=</span> <span class="p">[</span>
398
- <span class="n">status_label_colors</span><span class="p">[</span><span class="n">d</span><span class="p">]</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">status_codes_pie</span><span class="o">.</span><span class="n">labels</span>
399
- <span class="p">]</span>
400
- </pre></div>
401
-
402
- </div>
403
- </div>
404
- </div>
405
-
406
- </div>
407
-
408
-
409
-
410
- <div class="
411
- cell border-box-sizing code_cell rendered">
412
- <div class="input">
413
-
414
- <div class="inner_cell">
415
- <div class="input_area">
416
- <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">reset_filters</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">):</span>
417
- <span class="k">for</span> <span class="n">plot</span> <span class="ow">in</span> <span class="n">plots</span><span class="p">:</span>
418
- <span class="n">plot</span><span class="o">.</span><span class="n">selected</span> <span class="o">=</span> <span class="kc">None</span>
419
- <span class="n">update_plots</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span>
420
-
421
-
422
- <span class="n">update_btn</span><span class="o">.</span><span class="n">on_click</span><span class="p">(</span><span class="k">lambda</span> <span class="n">btn</span><span class="p">:</span> <span class="n">update_plots</span><span class="p">(</span><span class="kc">None</span><span class="p">))</span>
423
- <span class="n">reset_btn</span><span class="o">.</span><span class="n">on_click</span><span class="p">(</span><span class="k">lambda</span> <span class="n">btn</span><span class="p">:</span> <span class="n">reset_filters</span><span class="p">())</span>
424
- <span class="n">btns_layout</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">VBox</span><span class="p">(</span>
425
- <span class="p">[</span><span class="n">update_btn</span><span class="p">,</span> <span class="n">reset_btn</span><span class="p">],</span> <span class="n">layout</span><span class="o">=</span><span class="n">widgets</span><span class="o">.</span><span class="n">Layout</span><span class="p">(</span><span class="n">overflow_x</span><span class="o">=</span><span class="s2">&quot;hidden&quot;</span><span class="p">)</span>
426
- <span class="p">)</span>
427
- </pre></div>
428
-
429
- </div>
430
- </div>
431
- </div>
432
-
433
- </div>
434
-
435
-
436
-
437
- <div class="
438
- cell border-box-sizing code_cell rendered">
439
- <div class="input">
440
-
441
- <div class="inner_cell">
442
- <div class="input_area">
443
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">update_plots</span><span class="p">(</span><span class="kc">None</span><span class="p">)</span>
444
-
445
- <span class="n">parent_plots</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">HBox</span><span class="p">([</span><span class="n">daily_events_fig</span><span class="p">,</span> <span class="n">hourly_events_fig</span><span class="p">])</span>
446
- <span class="n">child_plots</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">HBox</span><span class="p">([</span><span class="n">products_fig</span><span class="p">,</span> <span class="n">categories_fig</span><span class="p">,</span> <span class="n">status_codes_fig</span><span class="p">])</span>
447
- <span class="n">widgets</span><span class="o">.</span><span class="n">VBox</span><span class="p">([</span><span class="n">widgets</span><span class="o">.</span><span class="n">HBox</span><span class="p">([</span><span class="n">parent_plots</span><span class="p">,</span> <span class="n">btns_layout</span><span class="p">]),</span> <span class="n">child_plots</span><span class="p">])</span>
448
- </pre></div>
449
-
450
- </div>
451
- </div>
452
- </div>
453
-
454
- </div>
455
-