##// END OF EJS Templates
Add diagram of notebook components
Thomas Kluyver -
Show More
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -0,0 +1,474 b''
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
4 <svg
5 xmlns:dc="http://purl.org/dc/elements/1.1/"
6 xmlns:cc="http://creativecommons.org/ns#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:svg="http://www.w3.org/2000/svg"
9 xmlns="http://www.w3.org/2000/svg"
10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12 width="711.70575"
13 height="401.44141"
14 id="svg2"
15 version="1.1"
16 inkscape:version="0.48.5 r10040"
17 sodipodi:docname="notebook_components.svg"
18 inkscape:export-filename="/home/takluyver/Code/ipython/docs/source/development/figs/notebook_components.png"
19 inkscape:export-xdpi="80"
20 inkscape:export-ydpi="80">
21 <defs
22 id="defs4">
23 <marker
24 inkscape:stockid="Arrow2Lend"
25 orient="auto"
26 refY="0"
27 refX="0"
28 id="Arrow2Lend"
29 style="overflow:visible">
30 <path
31 id="path3966"
32 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
33 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
34 transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
35 inkscape:connector-curvature="0" />
36 </marker>
37 <marker
38 inkscape:stockid="Arrow1Lstart"
39 orient="auto"
40 refY="0"
41 refX="0"
42 id="Arrow1Lstart"
43 style="overflow:visible">
44 <path
45 id="path3945"
46 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
47 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
48 transform="matrix(0.8,0,0,0.8,10,0)"
49 inkscape:connector-curvature="0" />
50 </marker>
51 <marker
52 inkscape:stockid="Arrow1Lend"
53 orient="auto"
54 refY="0"
55 refX="0"
56 id="Arrow1Lend"
57 style="overflow:visible">
58 <path
59 id="path3948"
60 d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
61 style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
62 transform="matrix(-0.8,0,0,-0.8,-10,0)"
63 inkscape:connector-curvature="0" />
64 </marker>
65 <marker
66 inkscape:stockid="Arrow2Lend"
67 orient="auto"
68 refY="0"
69 refX="0"
70 id="Arrow2Lend-2"
71 style="overflow:visible">
72 <path
73 inkscape:connector-curvature="0"
74 id="path3966-2"
75 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
76 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
77 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
78 </marker>
79 <marker
80 inkscape:stockid="Arrow2Lend"
81 orient="auto"
82 refY="0"
83 refX="0"
84 id="Arrow2Lend-6"
85 style="overflow:visible">
86 <path
87 inkscape:connector-curvature="0"
88 id="path3966-4"
89 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
90 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
91 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
92 </marker>
93 <marker
94 inkscape:stockid="Arrow2Lend"
95 orient="auto"
96 refY="0"
97 refX="0"
98 id="marker5355"
99 style="overflow:visible">
100 <path
101 inkscape:connector-curvature="0"
102 id="path5357"
103 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
104 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
105 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
106 </marker>
107 <marker
108 inkscape:stockid="Arrow2Lend"
109 orient="auto"
110 refY="0"
111 refX="0"
112 id="marker5355-3"
113 style="overflow:visible">
114 <path
115 inkscape:connector-curvature="0"
116 id="path5357-0"
117 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
118 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
119 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
120 </marker>
121 <marker
122 inkscape:stockid="Arrow2Lend"
123 orient="auto"
124 refY="0"
125 refX="0"
126 id="Arrow2Lend-3"
127 style="overflow:visible">
128 <path
129 inkscape:connector-curvature="0"
130 id="path3966-1"
131 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
132 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
133 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
134 </marker>
135 <marker
136 inkscape:stockid="Arrow2Lend"
137 orient="auto"
138 refY="0"
139 refX="0"
140 id="marker5355-33"
141 style="overflow:visible">
142 <path
143 inkscape:connector-curvature="0"
144 id="path5357-7"
145 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
146 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
147 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
148 </marker>
149 <marker
150 inkscape:stockid="Arrow2Lend"
151 orient="auto"
152 refY="0"
153 refX="0"
154 id="Arrow2Lend-69"
155 style="overflow:visible">
156 <path
157 inkscape:connector-curvature="0"
158 id="path3966-3"
159 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
160 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
161 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
162 </marker>
163 <marker
164 inkscape:stockid="Arrow2Lend"
165 orient="auto"
166 refY="0"
167 refX="0"
168 id="marker5355-0"
169 style="overflow:visible">
170 <path
171 inkscape:connector-curvature="0"
172 id="path5357-5"
173 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
174 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
175 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
176 </marker>
177 <marker
178 inkscape:stockid="Arrow2Lend"
179 orient="auto"
180 refY="0"
181 refX="0"
182 id="Arrow2Lend-8"
183 style="overflow:visible">
184 <path
185 inkscape:connector-curvature="0"
186 id="path3966-32"
187 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
188 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
189 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
190 </marker>
191 </defs>
192 <sodipodi:namedview
193 id="base"
194 pagecolor="#ffffff"
195 bordercolor="#666666"
196 borderopacity="1.0"
197 inkscape:pageopacity="0.0"
198 inkscape:pageshadow="2"
199 inkscape:zoom="0.98994949"
200 inkscape:cx="414.30751"
201 inkscape:cy="88.902823"
202 inkscape:document-units="px"
203 inkscape:current-layer="layer1"
204 showgrid="false"
205 inkscape:window-width="1680"
206 inkscape:window-height="1014"
207 inkscape:window-x="0"
208 inkscape:window-y="0"
209 inkscape:window-maximized="1"
210 fit-margin-top="1"
211 fit-margin-left="1"
212 fit-margin-right="1"
213 fit-margin-bottom="1"
214 units="cm" />
215 <metadata
216 id="metadata7">
217 <rdf:RDF>
218 <cc:Work
219 rdf:about="">
220 <dc:format>image/svg+xml</dc:format>
221 <dc:type
222 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
223 <dc:title></dc:title>
224 </cc:Work>
225 </rdf:RDF>
226 </metadata>
227 <g
228 inkscape:label="Layer 1"
229 inkscape:groupmode="layer"
230 id="layer1"
231 transform="translate(16.616428,19.440029)">
232 <g
233 id="g3811"
234 transform="translate(-35.878169,-100.12183)">
235 <path
236 transform="translate(8.0812186,26.049684)"
237 d="m 98.994951,154.33656 c 0,7.2526 -5.879389,13.13199 -13.131983,13.13199 -7.252593,0 -13.131982,-5.87939 -13.131982,-13.13199 0,-7.25259 5.879389,-13.13198 13.131982,-13.13198 7.252594,0 13.131983,5.87939 13.131983,13.13198 z"
238 sodipodi:ry="13.131983"
239 sodipodi:rx="13.131983"
240 sodipodi:cy="154.33656"
241 sodipodi:cx="85.862968"
242 id="path3755"
243 style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
244 sodipodi:type="arc" />
245 <path
246 inkscape:connector-curvature="0"
247 id="path3757"
248 d="m 93.944187,193.73252 0,69.70052"
249 style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
250 <path
251 inkscape:connector-curvature="0"
252 id="path3759"
253 d="m 70.205601,211.91526 47.477169,0"
254 style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
255 <path
256 sodipodi:nodetypes="cc"
257 inkscape:connector-curvature="0"
258 id="path3761"
259 d="m 75.691891,294.16241 17.96658,-30.72937"
260 style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
261 <path
262 sodipodi:nodetypes="cc"
263 inkscape:connector-curvature="0"
264 id="path3761-3"
265 d="M 112.10981,294.16241 94.143243,263.43304"
266 style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
267 </g>
268 <g
269 id="g5730"
270 transform="translate(-48,-88)">
271 <rect
272 ry="17.142857"
273 y="186.6479"
274 x="198.57143"
275 height="78.571426"
276 width="130"
277 id="rect3818"
278 style="fill:#e3d7f4;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
279 <text
280 sodipodi:linespacing="125%"
281 id="text3820"
282 y="235.79105"
283 x="210.28529"
284 style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
285 xml:space="preserve"><tspan
286 y="235.79105"
287 x="210.28529"
288 id="tspan3822"
289 sodipodi:role="line">Browser</tspan></text>
290 </g>
291 <g
292 id="g5719"
293 transform="translate(-48,-88)">
294 <rect
295 ry="17.142857"
296 y="186.6479"
297 x="387.62143"
298 height="78.571426"
299 width="130"
300 id="rect3818-6"
301 style="fill:#e3f4d7;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
302 <text
303 sodipodi:linespacing="125%"
304 id="text3820-1"
305 y="219.43362"
306 x="451.40903"
307 style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
308 xml:space="preserve"><tspan
309 style="font-size:26px"
310 y="219.43362"
311 x="451.40903"
312 id="tspan3822-0"
313 sodipodi:role="line">Notebook</tspan><tspan
314 style="font-size:26px"
315 id="tspan3870"
316 y="251.93362"
317 x="451.40903"
318 sodipodi:role="line">server</tspan></text>
319 </g>
320 <g
321 id="g5725"
322 transform="translate(-48,-88)">
323 <rect
324 ry="17.142857"
325 y="186.6479"
326 x="576.67145"
327 height="78.571426"
328 width="130"
329 id="rect3818-3"
330 style="fill:#e3f4d7;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
331 <text
332 sodipodi:linespacing="125%"
333 id="text3820-2"
334 y="236.43361"
335 x="600.9361"
336 style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
337 xml:space="preserve"><tspan
338 y="236.43361"
339 x="600.9361"
340 id="tspan3822-3"
341 sodipodi:role="line">Kernel</tspan></text>
342 </g>
343 <g
344 id="g3931"
345 transform="matrix(0.74285712,0,0,0.74285712,111.19287,-38.812036)">
346 <path
347 sodipodi:nodetypes="cccccc"
348 inkscape:connector-curvature="0"
349 id="rect2993"
350 d="m 346.23657,370.02731 78.76344,0 18.76344,18.76345 0,128.76344 -97.52688,0 z"
351 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.47311282;stroke-miterlimit:4;stroke-opacity:1" />
352 <text
353 transform="matrix(0,-1,1,0,0,0)"
354 sodipodi:linespacing="125%"
355 id="text2996"
356 y="388"
357 x="-445.09641"
358 style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
359 xml:space="preserve"><tspan
360 y="388"
361 x="-445.09641"
362 id="tspan2998"
363 sodipodi:role="line">Notebook</tspan><tspan
364 id="tspan3929"
365 y="423"
366 x="-445.09641"
367 sodipodi:role="line">file</tspan></text>
368 </g>
369 <g
370 id="g5575"
371 transform="translate(-48,-86.605048)">
372 <path
373 inkscape:connector-curvature="0"
374 id="path3939"
375 d="m 140.51539,230.56085 55.71428,0"
376 style="fill:none;stroke:#000000;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#marker5355)" />
377 <path
378 inkscape:connector-curvature="0"
379 id="path3939-1"
380 d="m 197.88571,218.51648 -55.71428,0"
381 style="fill:none;stroke:#000000;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Lend)" />
382 </g>
383 <text
384 xml:space="preserve"
385 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
386 x="-178.41751"
387 y="41.691643"
388 id="text5579"
389 sodipodi:linespacing="125%"
390 transform="matrix(0,-1,1,0,0,0)"><tspan
391 sodipodi:role="line"
392 id="tspan5581"
393 x="-178.41751"
394 y="41.691643">User</tspan></text>
395 <g
396 transform="matrix(0,1,-1,0,629.1601,37.48252)"
397 id="g5575-1-4-9">
398 <path
399 inkscape:connector-curvature="0"
400 id="path3939-3-2-0"
401 d="m 140.51539,230.56085 55.71428,0"
402 style="fill:none;stroke:#000000;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#marker5355)" />
403 <path
404 inkscape:connector-curvature="0"
405 id="path3939-1-4-3-6"
406 d="m 197.88571,218.51648 -55.71428,0"
407 style="fill:none;stroke:#000000;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Lend)" />
408 </g>
409 <g
410 id="g5781"
411 transform="translate(-48,-88)">
412 <g
413 id="g5575-1-4"
414 transform="translate(377.94589,1.3949516)">
415 <path
416 style="fill:none;stroke:#000000;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#marker5355)"
417 d="m 140.51539,230.56085 55.71428,0"
418 id="path3939-3-2"
419 inkscape:connector-curvature="0" />
420 <path
421 style="fill:none;stroke:#000000;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Lend)"
422 d="m 197.88571,218.51648 -55.71428,0"
423 id="path3939-1-4-3"
424 inkscape:connector-curvature="0" />
425 </g>
426 <text
427 transform="matrix(0,-1,1,0,0,0)"
428 sodipodi:linespacing="125%"
429 id="text5735"
430 y="552.92767"
431 x="-210.12585"
432 style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
433 xml:space="preserve"><tspan
434 y="552.92767"
435 x="-210.12585"
436 id="tspan5737"
437 sodipodi:role="line">ØMQ</tspan></text>
438 </g>
439 <g
440 id="g5788"
441 transform="translate(-48,-88)">
442 <g
443 id="g5575-1"
444 transform="translate(188.89588,1.3949516)">
445 <path
446 style="fill:none;stroke:#000000;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#marker5355)"
447 d="m 140.51539,230.56085 55.71428,0"
448 id="path3939-3"
449 inkscape:connector-curvature="0" />
450 <path
451 style="fill:none;stroke:#000000;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow2Lend)"
452 d="m 197.88571,218.51648 -55.71428,0"
453 id="path3939-1-4"
454 inkscape:connector-curvature="0" />
455 </g>
456 <text
457 transform="matrix(0,-1,1,0,0,0)"
458 sodipodi:linespacing="125%"
459 id="text5735-1"
460 y="352.74976"
461 x="-209.10046"
462 style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
463 xml:space="preserve"><tspan
464 y="352.74976"
465 x="-209.10046"
466 id="tspan5737-1"
467 sodipodi:role="line">HTTP &amp;</tspan><tspan
468 id="tspan5760"
469 y="377.74976"
470 x="-209.10046"
471 sodipodi:role="line">Websockets</tspan></text>
472 </g>
473 </g>
474 </svg>
@@ -62,7 +62,7 b' called a notebook. When you save it, this is sent from your browser to the'
62 notebook server, which saves it on disk as a JSON file with a ``.ipynb``
62 notebook server, which saves it on disk as a JSON file with a ``.ipynb``
63 extension.
63 extension.
64
64
65 .. TODO: Diagram of how these pieces fit together.
65 .. image:: figs/notebook_components.png
66
66
67 The notebook server, not the kernel, is responsible for saving and loading
67 The notebook server, not the kernel, is responsible for saving and loading
68 notebooks, so you can edit notebooks even if you don't have the kernel for that
68 notebooks, so you can edit notebooks even if you don't have the kernel for that
General Comments 0
You need to be logged in to leave comments. Login now