##// END OF EJS Templates
Merge pull request #8879 from minrk/doc-build...
Matthias Bussonnier -
r21742:efabd7f3 merge
parent child Browse files
Show More
@@ -62,6 +62,7 b' ipython_tokens = ['
62 (r'^(!!)(.+)(\n)', bygroups(Operator, using(BashLexer), Text)),
62 (r'^(!!)(.+)(\n)', bygroups(Operator, using(BashLexer), Text)),
63 (r'(!)(?!=)(.+)(\n)', bygroups(Operator, using(BashLexer), Text)),
63 (r'(!)(?!=)(.+)(\n)', bygroups(Operator, using(BashLexer), Text)),
64 (r'^(\s*)(\?\??)(\s*%{0,2}[\w\.\*]*)', bygroups(Text, Operator, Text)),
64 (r'^(\s*)(\?\??)(\s*%{0,2}[\w\.\*]*)', bygroups(Text, Operator, Text)),
65 (r'(\s*%{0,2}[\w\.\*]*)(\?\??)(\s*)$', bygroups(Text, Operator, Text)),
65 ]
66 ]
66
67
67 def build_ipy_lexer(python3):
68 def build_ipy_lexer(python3):
@@ -120,3 +120,11 b' class TestLexers(TestCase):'
120 (Token.Text, '\n'),
120 (Token.Text, '\n'),
121 ]
121 ]
122 self.assertEqual(tokens_2, list(self.lexer.get_tokens(fragment_2)))
122 self.assertEqual(tokens_2, list(self.lexer.get_tokens(fragment_2)))
123
124 fragment = ' *int*?\n'
125 tokens = [
126 (Token.Text, ' *int*'),
127 (Token.Operator, '?'),
128 (Token.Text, '\n'),
129 ]
130 self.assertEqual(tokens, list(self.lexer.get_tokens(fragment)))
@@ -1,3 +1,2 b''
1 numpydoc
2 -e .
1 -e .
3 ipykernel
2 ipykernel
@@ -60,7 +60,7 b' extensions = ['
60 'sphinx.ext.intersphinx',
60 'sphinx.ext.intersphinx',
61 'IPython.sphinxext.ipython_console_highlighting',
61 'IPython.sphinxext.ipython_console_highlighting',
62 'IPython.sphinxext.ipython_directive',
62 'IPython.sphinxext.ipython_directive',
63 'numpydoc', # to preprocess docstrings
63 'sphinx.ext.napoleon', # to preprocess docstrings
64 'github', # for easy GitHub links
64 'github', # for easy GitHub links
65 'magics',
65 'magics',
66 ]
66 ]
@@ -16,46 +16,46 b' Quick overview:'
16 ===============
16 ===============
17
17
18
18
19 All the following construct are valid IPython syntax :
19 All the following construct are valid IPython syntax:
20
20
21 .. code-block::
21 .. code-block:: ipython
22
22
23 ?
23 In [1]: ?
24
24
25 .. code-block::
25 .. code-block:: ipython
26
26
27 ?object
27 In [1]: ?object
28
28
29
29
30 .. code-block::
30 .. code-block:: ipython
31
31
32 object?
32 In [1]: object?
33
33
34 .. code-block::
34 .. code-block:: ipython
35
35
36 *pattern*?
36 In [1]: *pattern*?
37
37
38 .. code-block::
38 .. code-block:: ipython
39
39
40 %shell like --syntax
40 In [1]: %shell like --syntax
41
41
42 .. code-block::
42 .. code-block:: ipython
43
43
44 !ls
44 In [1]: !ls
45
45
46 .. code-block::
46 .. code-block:: ipython
47
47
48 my_files =! ls ~/
48 In [1]: my_files =! ls ~/
49 for i,file in enumerate(my_file):
49 In [1]: for i,file in enumerate(my_file):
50 raw = !echo $file
50 ...: raw = !echo $file
51 !echo {files[0].upper()} $raw
51 ...: !echo {files[0].upper()} $raw
52
52
53
53
54 .. code-block::
54 .. code-block:: ipython
55
55
56 %%perl magic --function
56 In [1]: %%perl magic --function
57 @months = ("July", "August", "September");
57 ...: @months = ("July", "August", "September");
58 print $months[0];
58 ...: print $months[0];
59
59
60
60
61 Each of these construct is compile by IPython into valid python code and will
61 Each of these construct is compile by IPython into valid python code and will
@@ -63,18 +63,15 b' do most of the time what you expect it will do. Let see each of these example'
63 in more detail.
63 in more detail.
64
64
65
65
66
67
68
69 Accessing help
66 Accessing help
70 ==============
67 ==============
71
68
72 As IPython is mostly an interactive shell, the question mark is a simple
69 As IPython is mostly an interactive shell, the question mark is a simple
73 shortcut to get help. A question mark alone will bring up the IPython help:
70 shortcut to get help. A question mark alone will bring up the IPython help:
74
71
75 .. code-block::
72 .. code-block:: ipython
76
73
77 In[1]:?
74 In [1]: ?
78
75
79 IPython -- An enhanced Interactive Python
76 IPython -- An enhanced Interactive Python
80 =========================================
77 =========================================
@@ -95,7 +92,7 b' shortcut to get help. A question mark alone will bring up the IPython help:'
95 A single question mark before, or after an object available in current
92 A single question mark before, or after an object available in current
96 namespace will show help relative to this object:
93 namespace will show help relative to this object:
97
94
98 .. code-block::
95 .. code-block:: ipython
99
96
100 In [6]: object?
97 In [6]: object?
101 Docstring: The most base type
98 Docstring: The most base type
@@ -105,7 +102,7 b' namespace will show help relative to this object:'
105 A double question mark will try to pull out more information about the object,
102 A double question mark will try to pull out more information about the object,
106 and if possible display the python source code of this object.
103 and if possible display the python source code of this object.
107
104
108 .. code-block::
105 .. code-block:: ipython
109
106
110 In[1]: import collections
107 In[1]: import collections
111 In[2]: collection.Counter??
108 In[2]: collection.Counter??
@@ -133,7 +130,8 b' If you are looking for an object, the use of wildcards ``*`` in conjunction'
133 with question mark will allow you to search current namespace for object with
130 with question mark will allow you to search current namespace for object with
134 matching names:
131 matching names:
135
132
136 .. code-block::
133 .. code-block:: ipython
134
137 In [24]: *int*?
135 In [24]: *int*?
138 FloatingPointError
136 FloatingPointError
139 int
137 int
@@ -149,20 +147,20 b' This is doable through the use of the exclamation mark ``!`` (or bang).'
149
147
150 This allow to execute simple command when present in beginning of line:
148 This allow to execute simple command when present in beginning of line:
151
149
152 .. code-block::
150 .. code-block:: ipython
153
151
154 In[1]: !pwd
152 In[1]: !pwd
155 /User/home/
153 /User/home/
156
154
157 Change directory:
155 Change directory:
158
156
159 .. code-block::
157 .. code-block:: ipython
160
158
161 In[1]: !cd /var/etc
159 In[1]: !cd /var/etc
162
160
163 Or edit file:
161 Or edit file:
164
162
165 .. code-block::
163 .. code-block:: ipython
166
164
167 In[1]: !mvim myfile.txt
165 In[1]: !mvim myfile.txt
168
166
@@ -171,7 +169,7 b' The line after the bang can call any program installed in the underlying'
171 shell, and support variable expansion in the form of ``$variable`` or ``{variable}``.
169 shell, and support variable expansion in the form of ``$variable`` or ``{variable}``.
172 The later form of expansion supports arbitrary python expression:
170 The later form of expansion supports arbitrary python expression:
173
171
174 .. code-block::
172 .. code-block:: ipython
175
173
176 In[1]: file = 'myfile.txt'
174 In[1]: file = 'myfile.txt'
177
175
@@ -185,14 +183,14 b' in a list-like object (:see:`IPython Slist`) and assign to the left hand side.'
185
183
186 This allow you for example to put the list of files of the current working directory in a variable:
184 This allow you for example to put the list of files of the current working directory in a variable:
187
185
188 .. code-block::
186 .. code-block:: ipython
189
187
190 In[1]: my_files != ls
188 In[1]: my_files != ls
191
189
192
190
193 You can combine the different possibilities in for loops, condition, functions...:
191 You can combine the different possibilities in for loops, condition, functions...:
194
192
195 .. code-block::
193 .. code-block:: ipython
196
194
197 my_files =! ls ~/
195 my_files =! ls ~/
198 b = "backup file"
196 b = "backup file"
@@ -211,14 +209,14 b' power. Magic function start with a percent sign (``%``) or double percent (``%%`'
211
209
212 A magic call with a sign percent will act only one line:
210 A magic call with a sign percent will act only one line:
213
211
214 .. code-block::
212 .. code-block:: ipython
215
213
216 In[1]: %xmode
214 In[1]: %xmode
217 Exception reporting mode: Verbose
215 Exception reporting mode: Verbose
218
216
219 And support assignment:
217 And support assignment:
220
218
221 .. code-block::
219 .. code-block:: ipython
222
220
223 In [1]: results = %timeit -r1 -n1 -o list(range(1000))
221 In [1]: results = %timeit -r1 -n1 -o list(range(1000))
224 1 loops, best of 1: 21.1 µs per loop
222 1 loops, best of 1: 21.1 µs per loop
@@ -228,7 +226,7 b' And support assignment:'
228
226
229 Magic with two percent sign can spread over multiple lines, but do not support assignment:
227 Magic with two percent sign can spread over multiple lines, but do not support assignment:
230
228
231 .. code-block::
229 .. code-block:: ipython
232
230
233 In[1]: %%bash
231 In[1]: %%bash
234 ... : echo "My shell is:" $SHELL
232 ... : echo "My shell is:" $SHELL
@@ -246,6 +244,6 b' Magic with two percent sign can spread over multiple lines, but do not support a'
246 Combining it all
244 Combining it all
247 ----------------
245 ----------------
248
246
249 .. code-block::
247 ::
250
248
251 find a snippet that combine all that into one thing !
249 find a snippet that combine all that into one thing!
@@ -182,7 +182,7 b' setuptools_extra_args = {}'
182 extras_require = dict(
182 extras_require = dict(
183 parallel = ['ipyparallel'],
183 parallel = ['ipyparallel'],
184 qtconsole = ['qtconsole'],
184 qtconsole = ['qtconsole'],
185 doc = ['Sphinx>=1.1', 'numpydoc'],
185 doc = ['Sphinx>=1.3'],
186 test = ['nose>=0.10.1', 'requests', 'testpath'],
186 test = ['nose>=0.10.1', 'requests', 'testpath'],
187 terminal = [],
187 terminal = [],
188 kernel = ['ipykernel'],
188 kernel = ['ipykernel'],
General Comments 0
You need to be logged in to leave comments. Login now