##// END OF EJS Templates
Start describing how IPython works
Thomas Kluyver -
Show More
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -0,0 +1,281 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="589.86841"
13 height="532.51233"
14 id="svg2"
15 version="1.1"
16 inkscape:version="0.48.5 r10040"
17 sodipodi:docname="New document 1">
18 <defs
19 id="defs4">
20 <marker
21 inkscape:stockid="Arrow2Lend"
22 orient="auto"
23 refY="0"
24 refX="0"
25 id="Arrow2Lend"
26 style="overflow:visible">
27 <path
28 id="path3857"
29 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
30 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"
31 transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
32 inkscape:connector-curvature="0" />
33 </marker>
34 <inkscape:perspective
35 sodipodi:type="inkscape:persp3d"
36 inkscape:vp_x="0 : 526.18109 : 1"
37 inkscape:vp_y="0 : 1000 : 0"
38 inkscape:vp_z="764.09448 : 613.32395 : 1"
39 inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
40 id="perspective3814" />
41 <marker
42 inkscape:stockid="Arrow2Lend"
43 orient="auto"
44 refY="0"
45 refX="0"
46 id="Arrow2Lend-3"
47 style="overflow:visible">
48 <path
49 inkscape:connector-curvature="0"
50 id="path3857-5"
51 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
52 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"
53 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
54 </marker>
55 </defs>
56 <sodipodi:namedview
57 id="base"
58 pagecolor="#ffffff"
59 bordercolor="#666666"
60 borderopacity="1.0"
61 inkscape:pageopacity="0.0"
62 inkscape:pageshadow="2"
63 inkscape:zoom="0.7"
64 inkscape:cx="26.0015"
65 inkscape:cy="66.637114"
66 inkscape:document-units="px"
67 inkscape:current-layer="layer1"
68 showgrid="false"
69 inkscape:snap-object-midpoints="false"
70 inkscape:window-width="1680"
71 inkscape:window-height="1014"
72 inkscape:window-x="0"
73 inkscape:window-y="0"
74 inkscape:window-maximized="1"
75 units="cm"
76 fit-margin-top="1"
77 fit-margin-right="1"
78 fit-margin-bottom="1"
79 fit-margin-left="1" />
80 <metadata
81 id="metadata7">
82 <rdf:RDF>
83 <cc:Work
84 rdf:about="">
85 <dc:format>image/svg+xml</dc:format>
86 <dc:type
87 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
88 <dc:title></dc:title>
89 </cc:Work>
90 </rdf:RDF>
91 </metadata>
92 <g
93 inkscape:label="Layer 1"
94 inkscape:groupmode="layer"
95 id="layer1"
96 transform="translate(-96.410679,217.95483)">
97 <path
98 sodipodi:type="arc"
99 style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
100 id="path3766"
101 sodipodi:cx="338.57144"
102 sodipodi:cy="588.79077"
103 sodipodi:rx="205.71428"
104 sodipodi:ry="70.714287"
105 d="m 544.28572,588.79077 c 0,39.05442 -92.10142,70.71429 -205.71428,70.71429 -113.61286,0 -205.71428,-31.65987 -205.71428,-70.71429 0,-39.05442 92.10142,-70.71429 205.71428,-70.71429 113.61286,0 205.71428,31.65987 205.71428,70.71429 z"
106 transform="matrix(1,0,0,1.1278581,0,-730.60879)" />
107 <g
108 id="g3782"
109 transform="translate(61.428571,-349.14286)">
110 <path
111 transform="matrix(0.92727271,0,0,1.0231405,15.012992,-6.2896699)"
112 d="m 304.28571,282.36218 c 0,34.71504 -43.81213,62.85715 -97.85714,62.85715 -54.045,0 -97.85714,-28.14211 -97.85714,-62.85715 0,-34.71504 43.81214,-62.85714 97.85714,-62.85714 54.04501,0 97.85714,28.1421 97.85714,62.85714 z"
113 sodipodi:ry="62.857143"
114 sodipodi:rx="97.85714"
115 sodipodi:cy="282.36218"
116 sodipodi:cx="206.42857"
117 id="path3780"
118 style="fill:#52b4ff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
119 sodipodi:type="arc" />
120 <text
121 sodipodi:linespacing="125%"
122 id="text3768"
123 y="272.29187"
124 x="206.92076"
125 style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
126 xml:space="preserve"><tspan
127 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
128 y="272.29187"
129 x="206.92076"
130 id="tspan3770"
131 sodipodi:role="line">Python</tspan><tspan
132 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
133 id="tspan3772"
134 y="312.29187"
135 x="206.92076"
136 sodipodi:role="line">execution</tspan></text>
137 </g>
138 <text
139 xml:space="preserve"
140 style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
141 x="390"
142 y="-76.035278"
143 id="text3788"
144 sodipodi:linespacing="125%"><tspan
145 sodipodi:role="line"
146 id="tspan3790"
147 x="390"
148 y="-76.035278"
149 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">stdin &amp;</tspan><tspan
150 sodipodi:role="line"
151 x="390"
152 y="-36.035278"
153 id="tspan3792"
154 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">stdout</tspan></text>
155 <text
156 xml:space="preserve"
157 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;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 Bold"
158 x="517.14288"
159 y="-158.20926"
160 id="text3794"
161 sodipodi:linespacing="125%"><tspan
162 sodipodi:role="line"
163 id="tspan3796"
164 x="517.14288"
165 y="-158.20926">Terminal</tspan><tspan
166 sodipodi:role="line"
167 x="517.14288"
168 y="-118.20926"
169 id="tspan3800">IPython</tspan></text>
170 <path
171 sodipodi:type="arc"
172 style="fill:#52b4ff;fill-opacity:0;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
173 id="path3798"
174 sodipodi:cx="260"
175 sodipodi:cy="685.93359"
176 sodipodi:rx="100"
177 sodipodi:ry="196.42857"
178 d="m 360,685.93359 c 0,108.48451 -44.77153,196.42858 -100,196.42858 -55.22847,0 -100,-87.94407 -100,-196.42858 0,-108.4845 44.77153,-196.42857 100,-196.42857 55.22847,0 100,87.94407 100,196.42857 z"
179 transform="matrix(1.1189801,0,0,0.92946844,-23.322527,-628.33705)" />
180 <text
181 xml:space="preserve"
182 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"
183 x="228.57144"
184 y="84.647888"
185 id="text3802"
186 sodipodi:linespacing="125%"><tspan
187 sodipodi:role="line"
188 id="tspan3804"
189 x="228.57144"
190 y="84.647888">JSON,</tspan><tspan
191 sodipodi:role="line"
192 x="228.57144"
193 y="124.64789"
194 id="tspan3806">ØMQ</tspan></text>
195 <text
196 xml:space="preserve"
197 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;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 Bold"
198 x="368.57144"
199 y="128.93359"
200 id="text3808"
201 sodipodi:linespacing="125%"><tspan
202 sodipodi:role="line"
203 id="tspan3810"
204 x="368.57144"
205 y="128.93359">IPython</tspan><tspan
206 sodipodi:role="line"
207 x="368.57144"
208 y="168.93359"
209 id="tspan3812">Kernel</tspan></text>
210 <g
211 sodipodi:type="inkscape:box3d"
212 style="fill:#52b4ff;fill-opacity:0;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
213 id="g3816"
214 inkscape:perspectiveID="#perspective3814"
215 inkscape:corner0="0.75968289 : 0.77789212 : 0 : 1"
216 inkscape:corner7="0.0055330806 : 0.38177683 : 0.99976299 : 1">
217 <path
218 sodipodi:type="inkscape:box3dside"
219 id="path3828"
220 style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
221 inkscape:box3dsidetype="11"
222 d="m 508.07326,-461.53631 154.81767,-93.98694 0,197.53457 -154.81767,40.00122 z" />
223 <path
224 sodipodi:type="inkscape:box3dside"
225 id="path3818"
226 style="fill:#353564;fill-rule:evenodd;stroke:none"
227 inkscape:box3dsidetype="6"
228 d="m 307.83925,-554.01393 0,225.10607 200.23401,10.9204 0,-143.54885 z" />
229 <path
230 sodipodi:type="inkscape:box3dside"
231 id="path3820"
232 style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
233 inkscape:box3dsidetype="5"
234 d="m 307.83925,-554.01393 158.57143,-256.79275 196.48025,255.28343 -154.81767,93.98694 z" />
235 <path
236 sodipodi:type="inkscape:box3dside"
237 id="path3826"
238 style="fill:#afafde;fill-rule:evenodd;stroke:none"
239 inkscape:box3dsidetype="13"
240 d="m 307.83925,-328.90786 158.57143,-87.96321 196.48025,58.88239 -154.81767,40.00122 z" />
241 <path
242 sodipodi:type="inkscape:box3dside"
243 id="path3824"
244 style="fill:#d7d7ff;fill-rule:evenodd;stroke:none"
245 inkscape:box3dsidetype="14"
246 d="m 466.41068,-810.80668 0,393.93561 196.48025,58.88239 0,-197.53457 z" />
247 <path
248 sodipodi:type="inkscape:box3dside"
249 id="path3822"
250 style="fill:#8686bf;fill-rule:evenodd;stroke:none"
251 inkscape:box3dsidetype="3"
252 d="m 307.83925,-554.01393 158.57143,-256.79275 0,393.93561 -158.57143,87.96321 z" />
253 </g>
254 <g
255 id="g4300"
256 transform="translate(1.924434,-652)">
257 <path
258 inkscape:connector-curvature="0"
259 id="path3830"
260 d="m 275.71429,841.83443 0,84.28572"
261 style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Lend)" />
262 <path
263 inkscape:connector-curvature="0"
264 id="path3830-6"
265 d="m 255.66144,928.60421 0,-84.28572"
266 style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Lend)" />
267 </g>
268 <text
269 xml:space="preserve"
270 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"
271 x="292.85715"
272 y="267.505"
273 id="text4304"
274 sodipodi:linespacing="125%"><tspan
275 sodipodi:role="line"
276 id="tspan4306"
277 x="292.85715"
278 y="267.505"
279 style="font-size:24px;font-style:italic;-inkscape-font-specification:Droid Sans Italic">Messages</tspan></text>
280 </g>
281 </svg>
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -0,0 +1,332 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="589.86841"
13 height="532.51233"
14 id="svg2"
15 version="1.1"
16 inkscape:version="0.48.5 r10040"
17 sodipodi:docname="other_kernels.svg"
18 inkscape:export-filename="/home/takluyver/Code/ipython/docs/source/development/figs/ipy_kernel_and_terminal.png"
19 inkscape:export-xdpi="100"
20 inkscape:export-ydpi="100">
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="path3857"
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 <inkscape:perspective
38 sodipodi:type="inkscape:persp3d"
39 inkscape:vp_x="0 : 526.18109 : 1"
40 inkscape:vp_y="0 : 1000 : 0"
41 inkscape:vp_z="764.09448 : 613.32395 : 1"
42 inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
43 id="perspective3814" />
44 <marker
45 inkscape:stockid="Arrow2Lend"
46 orient="auto"
47 refY="0"
48 refX="0"
49 id="Arrow2Lend-3"
50 style="overflow:visible">
51 <path
52 inkscape:connector-curvature="0"
53 id="path3857-5"
54 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
55 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"
56 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
57 </marker>
58 <marker
59 inkscape:stockid="Arrow2Lend"
60 orient="auto"
61 refY="0"
62 refX="0"
63 id="Arrow2Lend-4"
64 style="overflow:visible">
65 <path
66 id="path3857-0"
67 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
68 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"
69 transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
70 inkscape:connector-curvature="0" />
71 </marker>
72 <marker
73 inkscape:stockid="Arrow2Lend"
74 orient="auto"
75 refY="0"
76 refX="0"
77 id="marker7174"
78 style="overflow:visible">
79 <path
80 id="path7176"
81 style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
82 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"
83 transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
84 inkscape:connector-curvature="0" />
85 </marker>
86 </defs>
87 <sodipodi:namedview
88 id="base"
89 pagecolor="#ffffff"
90 bordercolor="#666666"
91 borderopacity="1.0"
92 inkscape:pageopacity="0.0"
93 inkscape:pageshadow="2"
94 inkscape:zoom="0.7"
95 inkscape:cx="26.0015"
96 inkscape:cy="66.637114"
97 inkscape:document-units="px"
98 inkscape:current-layer="layer1"
99 showgrid="false"
100 inkscape:snap-object-midpoints="false"
101 inkscape:window-width="1680"
102 inkscape:window-height="1014"
103 inkscape:window-x="0"
104 inkscape:window-y="0"
105 inkscape:window-maximized="1"
106 units="cm"
107 fit-margin-top="1"
108 fit-margin-right="1"
109 fit-margin-bottom="1"
110 fit-margin-left="1" />
111 <metadata
112 id="metadata7">
113 <rdf:RDF>
114 <cc:Work
115 rdf:about="">
116 <dc:format>image/svg+xml</dc:format>
117 <dc:type
118 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
119 <dc:title></dc:title>
120 </cc:Work>
121 </rdf:RDF>
122 </metadata>
123 <g
124 inkscape:label="Layer 1"
125 inkscape:groupmode="layer"
126 id="layer1"
127 transform="translate(-96.410679,217.95483)">
128 <g
129 id="g3782"
130 transform="translate(61.428571,-349.14286)">
131 <path
132 transform="matrix(0.92727271,0,0,1.0231405,15.012992,-6.2896699)"
133 d="m 304.28571,282.36218 c 0,34.71504 -43.81213,62.85715 -97.85714,62.85715 -54.045,0 -97.85714,-28.14211 -97.85714,-62.85715 0,-34.71504 43.81214,-62.85714 97.85714,-62.85714 54.04501,0 97.85714,28.1421 97.85714,62.85714 z"
134 sodipodi:ry="62.857143"
135 sodipodi:rx="97.85714"
136 sodipodi:cy="282.36218"
137 sodipodi:cx="206.42857"
138 id="path3780"
139 style="fill:#800080;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
140 sodipodi:type="arc" />
141 <text
142 sodipodi:linespacing="125%"
143 id="text3768"
144 y="280.57758"
145 x="206.42125"
146 style="font-size:30px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
147 xml:space="preserve"><tspan
148 style="font-size:30px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Droid Sans;-inkscape-font-specification:Droid Sans;fill:#ffffff;fill-opacity:1"
149 y="280.57758"
150 x="206.42125"
151 id="tspan3770"
152 sodipodi:role="line">$LANGUAGE</tspan><tspan
153 style="font-size:30px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Droid Sans;-inkscape-font-specification:Droid Sans;fill:#ffffff;fill-opacity:1"
154 id="tspan3772"
155 y="318.07758"
156 x="206.42125"
157 sodipodi:role="line">execution</tspan></text>
158 </g>
159 <path
160 sodipodi:type="arc"
161 style="fill:#52b4ff;fill-opacity:0;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
162 id="path3798"
163 sodipodi:cx="260"
164 sodipodi:cy="685.93359"
165 sodipodi:rx="100"
166 sodipodi:ry="196.42857"
167 d="m 360,685.93359 c 0,108.48451 -44.77153,196.42858 -100,196.42858 -55.22847,0 -100,-87.94407 -100,-196.42858 0,-108.4845 44.77153,-196.42857 100,-196.42857 55.22847,0 100,87.94407 100,196.42857 z"
168 transform="matrix(1.1189801,0,0,0.92946844,-23.322527,-628.33705)" />
169 <text
170 xml:space="preserve"
171 style="font-size:32px;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"
172 x="270.04199"
173 y="44.647888"
174 id="text3802"
175 sodipodi:linespacing="125%"><tspan
176 sodipodi:role="line"
177 id="tspan3804"
178 x="270.04199"
179 y="44.647888">IPython</tspan><tspan
180 sodipodi:role="line"
181 x="270.04199"
182 y="84.647888"
183 id="tspan3806">JSON, ØMQ</tspan><tspan
184 sodipodi:role="line"
185 x="270.04199"
186 y="124.64789"
187 id="tspan7160">machinery</tspan></text>
188 <text
189 xml:space="preserve"
190 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;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 Bold"
191 x="105.71431"
192 y="221.49724"
193 id="text3808"
194 sodipodi:linespacing="125%"><tspan
195 sodipodi:role="line"
196 id="tspan3810"
197 x="105.71431"
198 y="221.49724">Wrapper</tspan><tspan
199 sodipodi:role="line"
200 x="105.71431"
201 y="261.49725"
202 id="tspan3812">Kernel</tspan></text>
203 <g
204 sodipodi:type="inkscape:box3d"
205 style="fill:#52b4ff;fill-opacity:0;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
206 id="g3816"
207 inkscape:perspectiveID="#perspective3814"
208 inkscape:corner0="0.75968289 : 0.77789212 : 0 : 1"
209 inkscape:corner7="0.0055330806 : 0.38177683 : 0.99976299 : 1">
210 <path
211 sodipodi:type="inkscape:box3dside"
212 id="path3828"
213 style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
214 inkscape:box3dsidetype="11"
215 d="m 508.07326,-461.53631 154.81767,-93.98694 0,197.53457 -154.81767,40.00122 z" />
216 <path
217 sodipodi:type="inkscape:box3dside"
218 id="path3818"
219 style="fill:#353564;fill-rule:evenodd;stroke:none"
220 inkscape:box3dsidetype="6"
221 d="m 307.83925,-554.01393 0,225.10607 200.23401,10.9204 0,-143.54885 z" />
222 <path
223 sodipodi:type="inkscape:box3dside"
224 id="path3820"
225 style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
226 inkscape:box3dsidetype="5"
227 d="m 307.83925,-554.01393 158.57143,-256.79275 196.48025,255.28343 -154.81767,93.98694 z" />
228 <path
229 sodipodi:type="inkscape:box3dside"
230 id="path3826"
231 style="fill:#afafde;fill-rule:evenodd;stroke:none"
232 inkscape:box3dsidetype="13"
233 d="m 307.83925,-328.90786 158.57143,-87.96321 196.48025,58.88239 -154.81767,40.00122 z" />
234 <path
235 sodipodi:type="inkscape:box3dside"
236 id="path3824"
237 style="fill:#d7d7ff;fill-rule:evenodd;stroke:none"
238 inkscape:box3dsidetype="14"
239 d="m 466.41068,-810.80668 0,393.93561 196.48025,58.88239 0,-197.53457 z" />
240 <path
241 sodipodi:type="inkscape:box3dside"
242 id="path3822"
243 style="fill:#8686bf;fill-rule:evenodd;stroke:none"
244 inkscape:box3dsidetype="3"
245 d="m 307.83925,-554.01393 158.57143,-256.79275 0,393.93561 -158.57143,87.96321 z" />
246 </g>
247 <g
248 id="g4300"
249 transform="translate(1.924434,-652)">
250 <path
251 inkscape:connector-curvature="0"
252 id="path3830"
253 d="m 275.71429,841.83443 0,84.28572"
254 style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Lend)" />
255 <path
256 inkscape:connector-curvature="0"
257 id="path3830-6"
258 d="m 255.66144,928.60421 0,-84.28572"
259 style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Lend)" />
260 </g>
261 <g
262 id="g7249"
263 transform="translate(0,7.3059)">
264 <path
265 transform="matrix(1.1189801,0,0,0.92946844,246.7999,-635.64295)"
266 d="m 360,685.93359 c 0,108.48451 -44.77153,196.42858 -100,196.42858 -55.22847,0 -100,-87.94407 -100,-196.42858 0,-108.4845 44.77153,-196.42857 100,-196.42857 55.22847,0 100,87.94407 100,196.42857 z"
267 sodipodi:ry="196.42857"
268 sodipodi:rx="100"
269 sodipodi:cy="685.93359"
270 sodipodi:cx="260"
271 id="path3798-7"
272 style="fill:#800080;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
273 sodipodi:type="arc" />
274 <text
275 sodipodi:linespacing="125%"
276 id="text3802-3"
277 y="-69.79245"
278 x="537.72693"
279 style="font-size:32px;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:#ffffff;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
280 xml:space="preserve"><tspan
281 y="-69.79245"
282 x="537.72693"
283 id="tspan3804-4"
284 sodipodi:role="line">$LANGUAGE</tspan><tspan
285 id="tspan7245"
286 y="-29.79245"
287 x="537.72693"
288 sodipodi:role="line">execution</tspan><tspan
289 id="tspan7247"
290 y="10.20755"
291 x="537.72693"
292 sodipodi:role="line">&amp;</tspan><tspan
293 id="tspan3806-2"
294 y="50.20755"
295 x="537.72693"
296 sodipodi:role="line">JSON, ØMQ</tspan><tspan
297 id="tspan7160-8"
298 y="90.20755"
299 x="537.72693"
300 sodipodi:role="line">machinery</tspan></text>
301 </g>
302 <g
303 id="g4300-0"
304 transform="translate(272.04686,-652)">
305 <path
306 inkscape:connector-curvature="0"
307 id="path3830-9"
308 d="m 275.71429,841.83443 0,84.28572"
309 style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Lend)" />
310 <path
311 inkscape:connector-curvature="0"
312 id="path3830-6-4"
313 d="m 255.66144,928.60421 0,-84.28572"
314 style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Lend)" />
315 </g>
316 <text
317 xml:space="preserve"
318 style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;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 Bold"
319 x="576.15625"
320 y="222.96599"
321 id="text3808-4"
322 sodipodi:linespacing="125%"><tspan
323 sodipodi:role="line"
324 id="tspan3810-1"
325 x="576.15625"
326 y="222.96599">Native</tspan><tspan
327 sodipodi:role="line"
328 x="576.15625"
329 y="262.96597"
330 id="tspan3812-5">Kernel</tspan></text>
331 </g>
332 </svg>
@@ -0,0 +1,56 b''
1 How IPython Works
2 =================
3
4 Terminal IPython
5 ----------------
6
7 When you type ``ipython``, you get the original IPython interface, running in
8 the terminal. It does something like this::
9
10 while True:
11 code = input(">>> ")
12 exec(code)
13
14 Of course, it's much more complicated, because it has to deal with multi-line
15 code, tab completion using :mod:`readline`, magic commands, and so on. But the
16 model is like that: prompt the user for some code, and when they've entered it,
17 exec it in the same process.
18
19 The IPython Kernel
20 ------------------
21
22 All the other interfaces—the Notebook, the Qt console, ``ipython console`` in
23 the terminal, and third party interfaces—use the IPython Kernel. This is a
24 separate process which is responsible for running user code, and things like
25 computing possible completions. Frontends communicate with it using JSON
26 messages sent over ZeroMQ sockets; the protocol they use is described in
27 :doc:`messaging`.
28
29 The core execution machinery for the kernel is shared with terminal IPython:
30
31 .. image:: figs/ipy_kernel_and_terminal.png
32
33 A kernel process can be connected to more than one frontend simultaneously. In
34 this case, the different frontends will have access to the same variables.
35
36 .. TODO: Diagram illustrating this?
37
38 This design was intended to allow easy development of different frontends based
39 on the same kernel, but it also made it possible to support new languages in the
40 same frontends, by developing kernels in those languages, and we are refining
41 IPython to make that more practical.
42
43 Today, there are two ways to develop a kernel for another language. Wrapper
44 kernels reuse the communications machinery from IPython, and implement only the
45 core execution part. Native kernels implement execution and communications in
46 the target language:
47
48 .. image:: figs/other_kernels.png
49
50 .. seealso::
51
52 :doc:`kernels`
53
54 :doc:`wrapperkernels`
55
56
General Comments 0
You need to be logged in to leave comments. Login now