j1-template 2022.4.1 → 2022.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/content_generator_article_navigator.html +1 -1
  3. data/_includes/themes/j1/layouts/content_generator_blog_archive.html +1 -1
  4. data/_includes/themes/j1/layouts/content_generator_news_panel_posts.html +1 -1
  5. data/assets/themes/j1/adapter/js/nbinteract.js +11 -0
  6. data/assets/themes/j1/modules/bokeh/README.md +380 -0
  7. data/assets/themes/j1/modules/bokeh/js/v2.4.3/bokeh.min.js +596 -0
  8. data/assets/themes/j1/modules/nbInteract/css/theme/uno/nbinteract-core.css +7 -0
  9. data/assets/themes/j1/modules/nbInteract/css/theme/uno/nbinteract-core.min.css +1 -1
  10. data/assets/themes/j1/modules/vega/js/vega/LICENSE +27 -0
  11. data/assets/themes/j1/modules/vega/js/vega/README.md +42 -0
  12. data/assets/themes/j1/modules/vega/js/vega/vega-core.js +34550 -0
  13. data/assets/themes/j1/modules/vega/js/vega/vega-core.min.js +2 -0
  14. data/assets/themes/j1/modules/vega/js/vega/vega-core.min.js.map +1 -0
  15. data/assets/themes/j1/modules/vega/js/vega/vega.js +49095 -0
  16. data/assets/themes/j1/modules/vega/js/vega/vega.min.js +2 -0
  17. data/assets/themes/j1/modules/vega/js/vega/vega.min.js.map +1 -0
  18. data/assets/themes/j1/modules/vega/js/vega-embed/LICENSE +27 -0
  19. data/assets/themes/j1/modules/vega/js/vega-embed/README.md +230 -0
  20. data/assets/themes/j1/modules/vega/js/vega-embed/vega-embed.js +6607 -0
  21. data/assets/themes/j1/modules/vega/js/vega-embed/vega-embed.js.map +1 -0
  22. data/assets/themes/j1/modules/vega/js/vega-embed/vega-embed.min.js +21 -0
  23. data/assets/themes/j1/modules/vega/js/vega-embed/vega-embed.min.js.map +1 -0
  24. data/assets/themes/j1/modules/vega/js/vega-lite/LICENSE +27 -0
  25. data/assets/themes/j1/modules/vega/js/vega-lite/README.md +34 -0
  26. data/assets/themes/j1/modules/vega/js/vega-lite/vega-lite-schema.json +30999 -0
  27. data/assets/themes/j1/modules/vega/js/vega-lite/vega-lite.js +24585 -0
  28. data/assets/themes/j1/modules/vega/js/vega-lite/vega-lite.js.map +1 -0
  29. data/assets/themes/j1/modules/vega/js/vega-lite/vega-lite.min.js +2 -0
  30. data/assets/themes/j1/modules/vega/js/vega-lite/vega-lite.min.js.map +1 -0
  31. data/lib/j1/version.rb +1 -1
  32. data/lib/starter_web/Gemfile +1 -1
  33. data/lib/starter_web/_config.yml +1 -1
  34. data/lib/starter_web/_data/modules/defaults/nbinteract.yml +1 -1
  35. data/lib/starter_web/_data/modules/navigator_menu.yml +40 -23
  36. data/lib/starter_web/_data/modules/nbinteract.yml +314 -295
  37. data/lib/starter_web/_data/resources.yml +101 -0
  38. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  39. data/lib/starter_web/assets/images/modules/attics/wrongtog-1920x1280.jpg +0 -0
  40. data/lib/starter_web/assets/images/modules/attics/yellow-cactus-1920x1280.jpg +0 -0
  41. data/lib/starter_web/assets/images/modules/icons/bokeh/bokeh-32x32.ico +0 -0
  42. data/lib/starter_web/assets/images/modules/icons/bokeh/bokeh.ico +0 -0
  43. data/lib/starter_web/assets/images/modules/icons/bokeh/logo-160x160.png +0 -0
  44. data/lib/starter_web/package.json +1 -1
  45. data/lib/starter_web/pages/public/jupyter/examples/{j1-circular-times-table.adoc → distributed/j1-circular-times-table.adoc} +7 -2
  46. data/lib/starter_web/pages/public/jupyter/examples/{j1-interactive-widgets.adoc → distributed/j1-common-used-widgets.adoc} +14 -6
  47. data/lib/starter_web/pages/public/jupyter/examples/{j1-odes-in-python.adoc → distributed/j1-odes-in-python.adoc} +7 -2
  48. data/lib/starter_web/pages/public/jupyter/examples/{j1_climate-change-forecast.adoc → localized/j1_climate-change-forecast.adoc} +10 -5
  49. data/lib/starter_web/pages/public/jupyter/where_to_go.adoc +239 -0
  50. data/lib/starter_web/pages/public/learn/where_to_go.adoc +23 -7
  51. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  52. data/lib/starter_web/utilsrv/package.json +1 -1
  53. metadata +35 -30
  54. data/lib/starter_web/pages/public/jupyter/docs/_includes/attributes.asciidoc +0 -58
  55. data/lib/starter_web/pages/public/jupyter/docs/_includes/documents/j1_docs_example_static.asciidoc +0 -232
  56. data/lib/starter_web/pages/public/jupyter/docs/j1-nbinteract-doc.adoc +0 -563
  57. data/lib/starter_web/pages/public/jupyter/docs/nbi-widget-manual.adoc +0 -465
  58. data/lib/starter_web/pages/public/jupyter/docs/nbinteract-doc.adoc +0 -473
  59. data/lib/starter_web/pages/public/jupyter/examples/j1-testing-plotly.adoc +0 -94
  60. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-checkpoint.ipynb +0 -12387
  61. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +0 -1058
  62. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb +0 -14478
  63. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +0 -738
  64. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_ode_selected-checkpoint.ipynb +0 -14478
  65. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +0 -15227
  66. data/lib/starter_web/pages/public/jupyter/notebooks/j1/factor_by_factor.mp4 +0 -0
  67. data/lib/starter_web/pages/public/jupyter/notebooks/j1/line_by_line.mp4 +0 -0
  68. data/lib/starter_web/pages/public/jupyter/notebooks/j1/point_by_point.mp4 +0 -0
  69. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +0 -247
  70. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +0 -323
  71. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +0 -387
  72. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_interactive_questions-checkpoint.ipynb +0 -185
  73. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +0 -384
  74. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +0 -254
  75. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +0 -732
  76. data/lib/starter_web/pages/public/jupyter/services/binderhub.adoc +0 -564
  77. data/lib/starter_web/pages/public/jupyter/services/jupyterhub.adoc +0 -244
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e07e5eb997a7a0078e71f6bd8efd0fd907e0cc59d887a8cfb8f153b38b9ca6b
4
- data.tar.gz: cc7938b1eaf98b964aa829eb310c67cc420a3d9b336f0dcc55558e5217a64409
3
+ metadata.gz: b1a2627259438c78647a243cea2105a40d452c2bb67fb7e34a65283b5105aab0
4
+ data.tar.gz: 6b3344e17a9a0d9687a52608286dee805c78543225f2fda4ae8aa39601d318b5
5
5
  SHA512:
6
- metadata.gz: 8f58244f65fb65a5ad1bd4399cd01ed45c450842f167056409b63a473d07b259a64b8fd4fc8767b0c95f68a726d9f504102ba3fa7b65a4332467811de6d6adcd
7
- data.tar.gz: 60ae440d39596a2887e254110379bd2525614c6612f30d7f7a8c1a6bac007f592cdf1d67f9184a1d0c20a84025c9407ec2567fab0650c649273e1acb3d2bb0a9
6
+ metadata.gz: ecae96b8f08e58e61cc3642eb3a9f4ee2c54048a8639a5b49dfaa80f015d8461bf9b6062a649edd34639c7576ac8e9d9628f4c1dbf6d9d65f11192d9b2cedbca
7
+ data.tar.gz: c9b267e1df97fab20c6db19b2fd87c776050aef30bc17f0d55b932165c1faa964d07f84b9c04997817dbf479c330ec50e0730b6b39e0db2871acb9feea42a148
@@ -67,7 +67,7 @@
67
67
  {% assign rtext_size = 0 %}
68
68
  {% endif %}
69
69
 
70
- {% comment %} language detection
70
+ {% comment %} language detection (i18n)
71
71
  -------------------------------------------------------------------------------- {% endcomment %}
72
72
  {% if {{site.language}} == "en" %}
73
73
  {% assign language = "en" %}
@@ -67,7 +67,7 @@
67
67
  {% assign rtext_size = 0 %}
68
68
  {% endif %}
69
69
 
70
- {% comment %} language detection
70
+ {% comment %} language detection (i18n)
71
71
  -------------------------------------------------------------------------------- {% endcomment %}
72
72
  {% if {{site.language}} == "en" %}
73
73
  {% assign language = "en" %}
@@ -71,7 +71,7 @@
71
71
  {% assign production = true %}
72
72
  {% endif %}
73
73
 
74
- {% comment %} language detection
74
+ {% comment %} language detection (i18n)
75
75
  -------------------------------------------------------------------------------- {% endcomment %}
76
76
  {% if {{site.language}} == "en" %}
77
77
  {% assign language = "en" %}
@@ -617,6 +617,15 @@ j1.adapter.nbinteract = (function (j1, window) {
617
617
  }
618
618
  });
619
619
 
620
+ // make all output_wrapper cells "responsive" (especially for tables)
621
+ //
622
+ var output_wrapper = document.getElementsByClassName('output_wrapper');
623
+ [...output_wrapper].forEach(function(x) {
624
+ if (!x.className.includes('cell-responsive')) {
625
+ x.className += ' cell-responsive';
626
+ }
627
+ });
628
+
620
629
  // cleanups for Altair for all HTML 'output_wrapper' elements
621
630
  //
622
631
  if (cleanupAltair) {
@@ -1160,6 +1169,7 @@ j1.adapter.nbinteract = (function (j1, window) {
1160
1169
  if (message.text.includes('Too many users') ||
1161
1170
  message.text.includes('Insufficent nodes') ||
1162
1171
  message.text.includes('ImagePullBackOff') ||
1172
+ message.text.includes('kernel failed') ||
1163
1173
  message.text.includes('failed to connect')
1164
1174
  ) {
1165
1175
  var modaBodyText = `
@@ -1168,6 +1178,7 @@ j1.adapter.nbinteract = (function (j1, window) {
1168
1178
  You can reload the page now to re-connect or re-open it at a later time.
1169
1179
  `;
1170
1180
  logger.error('\n', 'Binder access failed: ' + message.text);
1181
+
1171
1182
  if ($(nbiModalTRInfo).is(':hidden')) {
1172
1183
  document.getElementById('nbiModalTRInfoBody').innerHTML = modaBodyText;
1173
1184
  $(nbiModalTRInfo).modal('show');
@@ -0,0 +1,380 @@
1
+ <a href="https://bokeh.org">
2
+ <img src="https://static.bokeh.org/logos/logotype.svg" height="60" alt="Bokeh logotype" />
3
+ </a>
4
+
5
+ ----
6
+
7
+ [Bokeh](https://bokeh.org) is an interactive visualization library for modern web browsers. It provides elegant, concise construction of versatile graphics, and affords high-performance interactivity over large or streaming datasets. Bokeh can help anyone who would like to quickly and easily make interactive plots, dashboards, and data applications.
8
+
9
+ <table>
10
+ <tr>
11
+ <td>Latest Release</td>
12
+ <td>
13
+ <div>
14
+ <img src="https://badge.fury.io/py/bokeh.svg" alt="pypi version" />
15
+ </div>
16
+ <div>
17
+ <img src="https://badge.fury.io/js/%40bokeh%2Fbokehjs.svg" alt="npm version">
18
+ </div>
19
+ </a>
20
+ </td>
21
+
22
+ <td>Downloads</td>
23
+ <td>
24
+ <div>
25
+ <a href="https://docs.bokeh.org/en/latest/docs/installation.html">
26
+ <img src="https://pyviz.org/_static/cache/bokeh_conda_downloads_badge.svg"
27
+ alt="Conda downloads per month" />
28
+ </a>
29
+ </div>
30
+ <div>
31
+ <a href="https://docs.bokeh.org/en/latest/docs/installation.html">
32
+ <img src="https://img.shields.io/pypi/dm/bokeh?label=PyPI&style=flat"
33
+ alt="PyPI downloads per month" />
34
+ </a>
35
+ </div>
36
+ </td>
37
+ </tr>
38
+
39
+ <tr>
40
+ <td>License</td>
41
+ <td>
42
+ <a href="https://github.com/bokeh/bokeh/blob/master/LICENSE.txt">
43
+ <img src="https://img.shields.io/github/license/bokeh/bokeh.svg"
44
+ alt="Bokeh license (BSD 3-clause)" />
45
+ </a>
46
+ </td>
47
+
48
+ <td>People</td>
49
+ <td>
50
+ <img src="https://img.shields.io/github/contributors-anon/bokeh/bokeh"
51
+ alt="GitHub contributors" />
52
+ </td>
53
+ </tr>
54
+
55
+ <tr>
56
+ <td>Sponsorship</td>
57
+ <td>
58
+ <a href="http://numfocus.org">
59
+ <img src="https://img.shields.io/badge/powered%20by-NumFOCUS-black.svg?style=flat&colorA=5B5B5B&colorB=007D8A"
60
+ alt="Powered by NumFOCUS" />
61
+ </a>
62
+ </td>
63
+
64
+ <td>Live Tutorial</td>
65
+ <td>
66
+ <a href="https://mybinder.org/v2/gh/bokeh/bokeh-notebooks/master?filepath=tutorial%2F00%20-%20Introduction%20and%20Setup.ipynb">
67
+ <img src="https://mybinder.org/badge_logo.svg"
68
+ alt="Live Bokeh tutorial notebooks on MyBinder" />
69
+ </a>
70
+ </td>
71
+ </tr>
72
+
73
+ <tr>
74
+ <td>Build Status</td>
75
+ <td>
76
+ <div>
77
+ <a href="https://github.com/bokeh/bokeh/actions">
78
+ <img src="https://github.com/bokeh/bokeh/workflows/Bokeh-CI/badge.svg?branch=master"
79
+ alt="Current github actions build status" />
80
+ </a>
81
+ </div>
82
+ <div>
83
+ <a href="https://github.com/bokeh/bokeh/actions">
84
+ <img src="https://github.com/bokeh/bokeh/workflows/BokehJS-CI/badge.svg?branch=master"
85
+ alt="Current github actions build status" />
86
+ </a>
87
+ </div>
88
+ </td>
89
+ <td>Static Analysis</td>
90
+ <td>
91
+ <div>
92
+ <a href="https://lgtm.com/projects/g/bokeh/bokeh/context:python">
93
+ <img alt="Language grade: Python" src="https://img.shields.io/lgtm/grade/python/g/bokeh/bokeh.svg?"/>
94
+ </a>
95
+ </div>
96
+ <div>
97
+ <a href="https://lgtm.com/projects/g/bokeh/bokeh/context:javascript">
98
+ <img alt="Language grade: JavaScript" src="https://img.shields.io/lgtm/grade/javascript/g/bokeh/bokeh.svg"/>
99
+ </a>
100
+ </div>
101
+ </td>
102
+
103
+ </tr>
104
+
105
+ <tr>
106
+ <td>Support</td>
107
+ <td>
108
+ <a href="https://discourse.bokeh.org">
109
+ <img src="https://img.shields.io/discourse/https/discourse.bokeh.org/posts.svg"
110
+ alt="Community Support on discourse.bokeh.org" />
111
+ </a>
112
+ </td>
113
+
114
+
115
+ <td>Twitter</td>
116
+ <td>
117
+ <a href="https://twitter.com/bokeh">
118
+ <img src="https://img.shields.io/twitter/follow/bokeh.svg?style=social&label=Follow"
119
+ alt="Follow Bokeh on Twitter" />
120
+ </a>
121
+
122
+ </td>
123
+ </tr>
124
+
125
+ </table>
126
+
127
+ *If you like Bokeh and would like to support our mission, please consider [making a donation](https://numfocus.org/donate-to-bokeh).*
128
+
129
+ <p>
130
+ <table>
131
+ <tr>
132
+
133
+ <td>
134
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/image.html">
135
+ <img alt="colormapped image plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/image_t.png" />
136
+ </a>
137
+ </td>
138
+
139
+ <td>
140
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/anscombe.html">
141
+ <img alt="anscombe plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/anscombe_t.png" />
142
+ </a>
143
+ </td>
144
+
145
+ <td>
146
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/stocks.html">
147
+ <img alt="stocks plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/stocks_t.png" />
148
+ </a>
149
+ </td>
150
+
151
+ <td>
152
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/lorenz.html">
153
+ <img alt="lorenz attractor plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/lorenz_t.png" />
154
+ </a>
155
+ </td>
156
+
157
+ <td>
158
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/candlestick.html">
159
+ <img alt="candlestick plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/candlestick_t.png" />
160
+ </a>
161
+ </td>
162
+
163
+ <td>
164
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/color_scatter.html">
165
+ <img alt="scatter plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/scatter_t.png" />
166
+ </a>
167
+ </td>
168
+
169
+ <td>
170
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/iris_splom.html">
171
+ <img alt="SPLOM plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/splom_t.png" />
172
+ </a>
173
+ </td>
174
+
175
+ </tr>
176
+ <tr>
177
+
178
+ <td>
179
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/iris.html">
180
+ <img alt="iris dataset plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/iris_t.png" />
181
+ </a>
182
+ </td>
183
+
184
+ <td>
185
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/histogram.html">
186
+ <img alt="histogram plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/histogram_t.png" />
187
+ </a>
188
+ </td>
189
+
190
+ <td>
191
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/periodic.html">
192
+ <img alt="periodic table plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/periodic_t.png" />
193
+ </a>
194
+ </td>
195
+
196
+ <td>
197
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/texas.html">
198
+ <img alt="choropleth plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/choropleth_t.png" />
199
+ </a>
200
+ </td>
201
+
202
+ <td>
203
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/burtin.html">
204
+ <img alt="burtin antibiotic data plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/burtin_t.png" />
205
+ </a>
206
+ </td>
207
+
208
+ <td>
209
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/streamline.html">
210
+ <img alt="streamline plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/streamline_t.png" />
211
+ </a>
212
+ </td>
213
+
214
+ <td>
215
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/image_rgba.html">
216
+ <img alt="RGBA image plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/image_rgba_t.png" />
217
+ </a>
218
+ </td>
219
+
220
+ </tr>
221
+ <tr>
222
+
223
+ <td>
224
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/brewer.html">
225
+ <img alt="stacked bars plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/stacked_t.png" />
226
+ </a>
227
+ </td>
228
+
229
+ <td>
230
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/quiver.html">
231
+ <img alt="quiver plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/quiver_t.png" />
232
+ </a>
233
+ </td>
234
+
235
+ <td>
236
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/elements.html">
237
+ <img alt="elements data plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/elements_t.png" />
238
+ </a>
239
+ </td>
240
+
241
+ <td>
242
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/boxplot.html">
243
+ <img alt="boxplot thumbnail" src="https://docs.bokeh.org/en/latest/_images/boxplot_t.png" />
244
+ </a>
245
+ </td>
246
+
247
+ <td>
248
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/categorical.html">
249
+ <img alt="categorical plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/categorical_t.png" />
250
+ </a>
251
+ </td>
252
+
253
+ <td>
254
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/unemployment.html">
255
+ <img alt="unemployment data plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/unemployment_t.png" />
256
+ </a>
257
+ </td>
258
+
259
+ <td>
260
+ <a href="https://docs.bokeh.org/en/latest/docs/gallery/les_mis.html">
261
+ <img alt="Les Mis co-occurrence plot thumbnail" src="https://docs.bokeh.org/en/latest/_images/les_mis_t.png" />
262
+ </a>
263
+ </td>
264
+
265
+ </tr>
266
+ </table>
267
+ </p>
268
+
269
+ ## Installation
270
+
271
+ The easiest way to install Bokeh is using the [Anaconda Python distribution](https://www.anaconda.com/what-is-anaconda/) and its included *Conda* package management system. To install Bokeh and its required dependencies, enter the following command at a Bash or Windows command prompt:
272
+
273
+ ```
274
+ conda install bokeh
275
+ ```
276
+
277
+ To install using pip, enter the following command at a Bash or Windows command prompt:
278
+ ```
279
+ pip install bokeh
280
+ ```
281
+
282
+ For more information, refer to the [installation documentation](https://docs.bokeh.org/en/latest/docs/first_steps/installation.html).
283
+
284
+ ## Resources
285
+
286
+ Once Bokeh is installed, check out the [first steps guides](https://docs.bokeh.org/en/latest/docs/first_steps.html#first-steps-guides).
287
+
288
+ Visit the [full documentation site](https://docs.bokeh.org) to view the [User's Guide](https://docs.bokeh.org/en/dev/docs/user_guide.html) or [launch the Bokeh tutorial](https://mybinder.org/v2/gh/bokeh/bokeh-notebooks/master?filepath=tutorial%2F00%20-%20Introduction%20and%20Setup.ipynb) to learn about Bokeh in live Jupyter Notebooks.
289
+
290
+ Community support is available on the [Project Discourse](https://discourse.bokeh.org).
291
+
292
+ If you would like to contribute to Bokeh, please review the [Contributor Guide](https://docs.bokeh.org/en/latest/docs/dev_guide.html) and [request an invitation to the Bokeh Dev Slack workspace](https://slack-invite.bokeh.org/).
293
+
294
+ *Note: Everyone interacting in the Bokeh project's codebases, issue trackers and discussion forums is expected to follow the [Code of Conduct](https://github.com/bokeh/bokeh/blob/master/CODE_OF_CONDUCT.md).*
295
+
296
+ ## Follow us
297
+
298
+ Follow us on Twitter [@bokeh](https://twitter.com/bokeh)
299
+
300
+ ## Support
301
+
302
+ ### Fiscal Support
303
+
304
+ The Bokeh project is grateful for [individual contributions](https://numfocus.org/donate-to-bokeh) sponsorship as well as support by the organizations and companies below:
305
+
306
+ <table align="center">
307
+ <tr>
308
+ <td>
309
+ <a href="https://www.numfocus.org/">
310
+ <img src="https://static.bokeh.org/sponsor/numfocus.svg"
311
+ alt="NumFocus Logo" width="200"/>
312
+ </a>
313
+ </td>
314
+ <td>
315
+ <a href="https://chanzuckerberg.com/">
316
+ <img src="https://static.bokeh.org/sponsor/czi.svg"
317
+ alt="CZI Logo" width="200"/>
318
+ </a>
319
+ </td>
320
+ <td>
321
+ <a href="https://www.quansight.com">
322
+ <img src="https://static.bokeh.org/sponsor/quansight.png"
323
+ alt="Quansight Logo" width="200"/>
324
+ </a>
325
+ </td>
326
+ </tr>
327
+ <tr>
328
+ <td colspan="2">
329
+ <a href="https://www.blackstone.com/the-firm/">
330
+ <img src="https://static.bokeh.org/sponsor/blackstone.png"
331
+ alt="Blackstone Logo" width="400"/>
332
+ </a>
333
+ </td>
334
+ <td>
335
+ <a href="https://tidelift.com/">
336
+ <img src="https://static.bokeh.org/sponsor/tidelift.svg"
337
+ alt="TideLift Logo" width="200"/>
338
+ </a>
339
+ </td>
340
+ </tr>
341
+ <tr>
342
+ <td>
343
+ <a href="https://www.anaconda.com/">
344
+ <img src="https://static.bokeh.org/sponsor/anaconda.png"
345
+ alt="Anaconda Logo" width="200"/>
346
+ </a>
347
+ </td>
348
+ <td>
349
+ <a href="https://www.nvidia.com">
350
+ <img src="https://static.bokeh.org/sponsor/nvidia.png"
351
+ alt="NVidia Logo" width="200"/>
352
+ </a>
353
+ </td>
354
+ <td>
355
+ <a href="https://developer.nvidia.com/rapids">
356
+ <img src="https://static.bokeh.org/sponsor/rapids.png"
357
+ alt="Rapids Logo" width="200"/>
358
+ </a>
359
+ </td>
360
+ </tr>
361
+ </table>
362
+
363
+ If your company uses Bokeh and is able to sponsor the project, please contact <a href="info@bokeh.org">info@bokeh.org</a>
364
+
365
+ *Bokeh is a Sponsored Project of NumFOCUS, a 501(c)(3) nonprofit charity in the United States. NumFOCUS provides Bokeh with fiscal, legal, and administrative support to help ensure the health and sustainability of the project. Visit [numfocus.org](https://numfocus.org) for more information.*
366
+
367
+ *Donations to Bokeh are managed by NumFOCUS. For donors in the United States, your gift is tax-deductible to the extent provided by law. As with any donation, you should consult with your tax adviser about your particular tax situation.*
368
+
369
+ ### In-kind Support
370
+
371
+ The Bokeh project is grateful for the donation of services supporting our collaboration, infrastructure, security, and vulnerability management from the following companies:
372
+
373
+ * [Amazon Web Services](https://aws.amazon.com/)
374
+ * [GitGuardian](https://gitguardian.com/)
375
+ * [GitHub](https://github.com/)
376
+ * [Pentest Tools](https://pentest-tools.com)
377
+ * [Pingdom](https://www.pingdom.com/website-monitoring)
378
+ * [Slack](https://slack.com)
379
+ * [QuestionScout](https://www.questionscout.com/)
380
+ * [1Password](https://1password.com/)