1 | # -*- Mode: Shell-Script -*- Not really, but shows comments correctly
|
---|
2 | #***************************************************************************
|
---|
3 | #
|
---|
4 | # Configuration file for ipython -- ipythonrc format
|
---|
5 | #
|
---|
6 | # The format of this file is one of 'key value' lines.
|
---|
7 | # Lines containing only whitespace at the beginning and then a # are ignored
|
---|
8 | # as comments. But comments can NOT be put on lines with data.
|
---|
9 | #***************************************************************************
|
---|
10 | autocall 1
|
---|
11 |
|
---|
12 | autoindent 1
|
---|
13 |
|
---|
14 | automagic 1
|
---|
15 |
|
---|
16 | # Size of the output cache. After this many entries are stored, the cache will
|
---|
17 | # get flushed. Depending on the size of your intermediate calculations, you
|
---|
18 | # may have memory problems if you make it too big, since keeping things in the
|
---|
19 | # cache prevents Python from reclaiming the memory for old results. Experiment
|
---|
20 | # with a value that works well for you.
|
---|
21 |
|
---|
22 | # If you choose cache_size 0 IPython will revert to python's regular >>>
|
---|
23 | # unnumbered prompt. You will still have _, __ and ___ for your last three
|
---|
24 | # results, but that will be it. No dynamic _1, _2, etc. will be created. If
|
---|
25 | # you are running on a slow machine or with very limited memory, this may
|
---|
26 | # help.
|
---|
27 |
|
---|
28 | cache_size 100
|
---|
29 |
|
---|
30 | # Currently available schemes: NoColor, Linux, LightBG.
|
---|
31 |
|
---|
32 | # keep uncommented only the one you want:
|
---|
33 | colors Linux
|
---|
34 | #colors LightBG
|
---|
35 | #colors NoColor
|
---|
36 |
|
---|
37 | # color_info: IPython can display information about objects via a set of
|
---|
38 | # functions, and optionally can use colors for this, syntax highlighting
|
---|
39 | # source code and various other elements. This information is passed through a
|
---|
40 | # pager (it defaults to 'less' if $PAGER is not set).
|
---|
41 |
|
---|
42 | # If your pager has problems, try to setting it to properly handle escapes
|
---|
43 | # (see the less manpage for detail), or disable this option. The magic
|
---|
44 | # function @color_info allows you to toggle this interactively for testing.
|
---|
45 |
|
---|
46 | color_info 1
|
---|
47 |
|
---|
48 | # confirm_exit: set to 1 if you want IPython to confirm when you try to exit
|
---|
49 | # with an EOF (Control-d in Unix, Control-Z/Enter in Windows). Note that using
|
---|
50 | # the magic functions @Exit or @Quit you can force a direct exit, bypassing
|
---|
51 | # any confirmation.
|
---|
52 |
|
---|
53 | confirm_exit 1
|
---|
54 |
|
---|
55 | # Use deep_reload() as a substitute for reload() by default. deep_reload() is
|
---|
56 | # still available as dreload() and appears as a builtin.
|
---|
57 |
|
---|
58 | deep_reload 0
|
---|
59 |
|
---|
60 | # Which editor to use with the @edit command. If you leave this at 0, IPython
|
---|
61 | # will honor your EDITOR environment variable. Since this editor is invoked on
|
---|
62 | # the fly by ipython and is meant for editing small code snippets, you may
|
---|
63 | # want to use a small, lightweight editor here.
|
---|
64 |
|
---|
65 | # For Emacs users, setting up your Emacs server properly as described in the
|
---|
66 | # manual is a good idea. An alternative is to use jed, a very light editor
|
---|
67 | # with much of the feel of Emacs (though not as powerful for heavy-duty work).
|
---|
68 |
|
---|
69 | editor 0
|
---|
70 |
|
---|
71 | # log 1 -> same as ipython -log. This automatically logs to ./ipython.log
|
---|
72 | log 0
|
---|
73 |
|
---|
74 | # Same as ipython -Logfile YourLogfileName.
|
---|
75 | # Don't use with log 1 (use one or the other)
|
---|
76 | logfile ''
|
---|
77 |
|
---|
78 | # banner 0 -> same as ipython -nobanner
|
---|
79 | banner 0
|
---|
80 |
|
---|
81 | # messages 0 -> same as ipython -nomessages
|
---|
82 | messages 0
|
---|
83 |
|
---|
84 | # Automatically call the pdb debugger after every uncaught exception. If you
|
---|
85 | # are used to debugging using pdb, this puts you automatically inside of it
|
---|
86 | # after any call (either in IPython or in code called by it) which triggers an
|
---|
87 | # exception which goes uncaught.
|
---|
88 | pdb 0
|
---|
89 |
|
---|
90 | # Enable the pprint module for printing. pprint tends to give a more readable
|
---|
91 | # display (than print) for complex nested data structures.
|
---|
92 | pprint 1
|
---|
93 |
|
---|
94 | # Prompt strings (see ipython --help for more details).
|
---|
95 | # Use %n to represent the current prompt number, and quote them to protect
|
---|
96 | # spaces.
|
---|
97 | prompt_in1 'ASAP>'
|
---|
98 |
|
---|
99 | # In prompt_in2, %n is replaced by as many dots as there are digits in the
|
---|
100 | # current value of %n.
|
---|
101 | prompt_in2 ' .%n.:'
|
---|
102 |
|
---|
103 | prompt_out 'asap>:'
|
---|
104 |
|
---|
105 | # quick 1 -> same as ipython -quick
|
---|
106 | quick 0
|
---|
107 |
|
---|
108 | # Use the readline library (1) or not (0). Most users will want this on, but
|
---|
109 | # if you experience strange problems with line management (mainly when using
|
---|
110 | # IPython inside Emacs buffers) you may try disabling it. Not having it on
|
---|
111 | # prevents you from getting command history with the arrow keys, searching and
|
---|
112 | # name completion using TAB.
|
---|
113 |
|
---|
114 | readline 1
|
---|
115 |
|
---|
116 | # Screen Length: number of lines of your screen. This is used to control
|
---|
117 | # printing of very long strings. Strings longer than this number of lines will
|
---|
118 | # be paged with the less command instead of directly printed.
|
---|
119 |
|
---|
120 | # The default value for this is 0, which means IPython will auto-detect your
|
---|
121 | # screen size every time it needs to print. If for some reason this isn't
|
---|
122 | # working well (it needs curses support), specify it yourself. Otherwise don't
|
---|
123 | # change the default.
|
---|
124 |
|
---|
125 | screen_length 0
|
---|
126 |
|
---|
127 | # Prompt separators for input and output.
|
---|
128 | # Use \n for newline explicitly, without quotes.
|
---|
129 | # Use 0 (like at the cmd line) to turn off a given separator.
|
---|
130 |
|
---|
131 | # The structure of prompt printing is:
|
---|
132 | # (SeparateIn)Input....
|
---|
133 | # (SeparateOut)Output...
|
---|
134 | # (SeparateOut2), # that is, no newline is printed after Out2
|
---|
135 | # By choosing these you can organize your output any way you want.
|
---|
136 |
|
---|
137 | separate_in \n
|
---|
138 |
|
---|
139 | separate_out 0
|
---|
140 |
|
---|
141 | separate_out2 0
|
---|
142 |
|
---|
143 | # 'nosep 1' is a shorthand for '-SeparateIn 0 -SeparateOut 0 -SeparateOut2 0'.
|
---|
144 | # Simply removes all input/output separators, overriding the choices above.
|
---|
145 | nosep 0
|
---|
146 |
|
---|
147 | # xmode - Exception reporting mode.
|
---|
148 |
|
---|
149 | # Valid modes: Plain, Context and Verbose.
|
---|
150 |
|
---|
151 | # Plain: similar to python's normal traceback printing.
|
---|
152 |
|
---|
153 | # Context: prints 5 lines of context source code around each line in the
|
---|
154 | # traceback.
|
---|
155 |
|
---|
156 | # Verbose: similar to Context, but additionally prints the variables currently
|
---|
157 | # visible where the exception happened (shortening their strings if too
|
---|
158 | # long). This can potentially be very slow, if you happen to have a huge data
|
---|
159 | # structure whose string representation is complex to compute. Your computer
|
---|
160 | # may appear to freeze for a while with cpu usage at 100%. If this occurs, you
|
---|
161 | # can cancel the traceback with Ctrl-C (maybe hitting it more than once).
|
---|
162 |
|
---|
163 | xmode Plain
|
---|
164 | #xmode Context
|
---|
165 | #xmode Verbose
|
---|
166 |
|
---|
167 | #---------------------------------------------------------------------------
|
---|
168 | # Section: Readline configuration (readline is not available for MS-Windows)
|
---|
169 |
|
---|
170 | # This is done via the following options:
|
---|
171 |
|
---|
172 | # (i) readline_parse_and_bind: this option can appear as many times as you
|
---|
173 | # want, each time defining a string to be executed via a
|
---|
174 | # readline.parse_and_bind() command. The syntax for valid commands of this
|
---|
175 | # kind can be found by reading the documentation for the GNU readline library,
|
---|
176 | # as these commands are of the kind which readline accepts in its
|
---|
177 | # configuration file.
|
---|
178 |
|
---|
179 | # The TAB key can be used to complete names at the command line in one of two
|
---|
180 | # ways: 'complete' and 'menu-complete'. The difference is that 'complete' only
|
---|
181 | # completes as much as possible while 'menu-complete' cycles through all
|
---|
182 | # possible completions. Leave the one you prefer uncommented.
|
---|
183 |
|
---|
184 | readline_parse_and_bind tab: complete
|
---|
185 | #readline_parse_and_bind tab: menu-complete
|
---|
186 |
|
---|
187 | # This binds Control-l to printing the list of all possible completions when
|
---|
188 | # there is more than one (what 'complete' does when hitting TAB twice, or at
|
---|
189 | # the first TAB if show-all-if-ambiguous is on)
|
---|
190 | readline_parse_and_bind "\C-l": possible-completions
|
---|
191 |
|
---|
192 | # This forces readline to automatically print the above list when tab
|
---|
193 | # completion is set to 'complete'. You can still get this list manually by
|
---|
194 | # using the key bound to 'possible-completions' (Control-l by default) or by
|
---|
195 | # hitting TAB twice. Turning this on makes the printing happen at the first
|
---|
196 | # TAB.
|
---|
197 | readline_parse_and_bind set show-all-if-ambiguous on
|
---|
198 |
|
---|
199 | # If you have TAB set to complete names, you can rebind any key (Control-o by
|
---|
200 | # default) to insert a true TAB character.
|
---|
201 | readline_parse_and_bind "\C-o": tab-insert
|
---|
202 |
|
---|
203 | # These commands allow you to indent/unindent easily, with the 4-space
|
---|
204 | # convention of the Python coding standards. Since IPython's internal
|
---|
205 | # auto-indent system also uses 4 spaces, you should not change the number of
|
---|
206 | # spaces in the code below.
|
---|
207 | readline_parse_and_bind "\M-i": " "
|
---|
208 | readline_parse_and_bind "\M-o": "\d\d\d\d"
|
---|
209 | readline_parse_and_bind "\M-I": "\d\d\d\d"
|
---|
210 |
|
---|
211 | # Bindings for incremental searches in the history. These searches use the
|
---|
212 | # string typed so far on the command line and search anything in the previous
|
---|
213 | # input history containing them.
|
---|
214 | readline_parse_and_bind "\C-r": reverse-search-history
|
---|
215 | readline_parse_and_bind "\C-s": forward-search-history
|
---|
216 |
|
---|
217 | # Bindings for completing the current line in the history of previous
|
---|
218 | # commands. This allows you to recall any previous command by typing its first
|
---|
219 | # few letters and hitting Control-p, bypassing all intermediate commands which
|
---|
220 | # may be in the history (much faster than hitting up-arrow 50 times!)
|
---|
221 | readline_parse_and_bind "\C-p": history-search-backward
|
---|
222 | readline_parse_and_bind "\C-n": history-search-forward
|
---|
223 |
|
---|
224 | # (ii) readline_remove_delims: a string of characters to be removed from the
|
---|
225 | # default word-delimiters list used by readline, so that completions may be
|
---|
226 | # performed on strings which contain them.
|
---|
227 |
|
---|
228 | readline_remove_delims '"[]{}-/~
|
---|
229 |
|
---|
230 | #"' -- just to fix emacs coloring which gets confused by unmatched quotes.
|
---|
231 |
|
---|
232 | # (iii) readline_omit__names: normally hitting <tab> after a '.' in a name
|
---|
233 | # will complete all attributes of an object, including all the special methods
|
---|
234 | # whose names inlclude double underscores (like __getitem__ or __class__). If
|
---|
235 | # you'd rather not see these names by default, you can set this option to 1.
|
---|
236 |
|
---|
237 | # Note that even when this option is set, you can still see those names by
|
---|
238 | # explicitly typing a _ after the period and hitting <tab>: 'name._<tab>' will
|
---|
239 | # always complete attribute names starting with '_'.
|
---|
240 |
|
---|
241 | # This option is off by default so that new users see all attributes of any
|
---|
242 | # objects they are dealing with.
|
---|
243 |
|
---|
244 | readline_omit__names 0
|
---|
245 |
|
---|
246 | #---------------------------------------------------------------------------
|
---|
247 | # Section: modules to be loaded with 'import ...'
|
---|
248 |
|
---|
249 | # List, separated by spaces, the names of the modules you want to import
|
---|
250 |
|
---|
251 | # Example:
|
---|
252 | # import_mod sys os
|
---|
253 | # will produce internally the statements
|
---|
254 | # import sys
|
---|
255 | # import os
|
---|
256 |
|
---|
257 | # Each import is executed in its own try/except block, so if one module
|
---|
258 | # fails to load the others will still be ok.
|
---|
259 |
|
---|
260 | import_mod sys
|
---|
261 |
|
---|
262 | #---------------------------------------------------------------------------
|
---|
263 | # Section: modules to import some functions from: 'from ... import ...'
|
---|
264 |
|
---|
265 | # List, one per line, the modules for which you want only to import some
|
---|
266 | # functions. Give the module name first and then the name of functions to be
|
---|
267 | # imported from that module.
|
---|
268 |
|
---|
269 | # Example:
|
---|
270 | # import_some struct pack unpack
|
---|
271 | # will produce internally the statement
|
---|
272 | # from struct import pack,unpack
|
---|
273 |
|
---|
274 | # If you have more than one modules_some line, each gets its own try/except
|
---|
275 | # block (like modules, see above).
|
---|
276 |
|
---|
277 | import_some
|
---|
278 |
|
---|
279 | #---------------------------------------------------------------------------
|
---|
280 | # Section: modules to import all from : 'from ... import *'
|
---|
281 |
|
---|
282 | # List (same syntax as import_mod above) those modules for which you want to
|
---|
283 | # import all functions. Remember, this is a potentially dangerous thing to do,
|
---|
284 | # since it is very easy to overwrite names of things you need. Use with
|
---|
285 | # caution.
|
---|
286 |
|
---|
287 | # Example:
|
---|
288 | # import_all sys os
|
---|
289 | # will produce internally the statements
|
---|
290 | # from sys import *
|
---|
291 | # from os import *
|
---|
292 |
|
---|
293 | # As before, each will be called in a separate try/except block.
|
---|
294 |
|
---|
295 | import_all asap
|
---|
296 |
|
---|
297 | #---------------------------------------------------------------------------
|
---|
298 | # Section: Python code to execute.
|
---|
299 |
|
---|
300 | # Put here code to be explicitly executed (keep it simple!)
|
---|
301 | # Put one line of python code per line. All whitespace is removed (this is a
|
---|
302 | # feature, not a bug), so don't get fancy building loops here.
|
---|
303 | # This is just for quick convenient creation of things you want available.
|
---|
304 |
|
---|
305 | # Example:
|
---|
306 | # banner 0 disables sys.stdout
|
---|
307 | execute sys.stdout = sys.__stdout__
|
---|
308 | # and each *line* (not each statement, we don't do python syntax parsing) is
|
---|
309 | # executed in its own try/except block.
|
---|
310 | execute print welcome()
|
---|
311 |
|
---|
312 | # Note for the adventurous: you can use this to define your own names for the
|
---|
313 | # magic functions, by playing some namespace tricks:
|
---|
314 |
|
---|
315 | # execute __IP.magic_cl = __IP.magic_clear
|
---|
316 |
|
---|
317 | # defines @cl as a new name for @clear.
|
---|
318 |
|
---|
319 | #---------------------------------------------------------------------------
|
---|
320 | # Section: Pyhton files to load and execute.
|
---|
321 |
|
---|
322 | # Put here the full names of files you want executed with execfile(file). If
|
---|
323 | # you want complicated initialization, just write whatever you want in a
|
---|
324 | # regular python file and load it from here.
|
---|
325 |
|
---|
326 | # Filenames defined here (which *must* include the extension) are searched for
|
---|
327 | # through all of sys.path. Since IPython adds your .ipython directory to
|
---|
328 | # sys.path, they can also be placed in your .ipython dir and will be
|
---|
329 | # found. Otherwise (if you want to execute things not in .ipyton nor in
|
---|
330 | # sys.path) give a full path (you can use ~, it gets expanded)
|
---|
331 |
|
---|
332 | # Example:
|
---|
333 | # execfile file1.py ~/file2.py
|
---|
334 | # will generate
|
---|
335 | # execfile('file1.py')
|
---|
336 | # execfile('_path_to_your_home/file2.py')
|
---|
337 |
|
---|
338 | # As before, each file gets its own try/except block.
|
---|
339 |
|
---|
340 | execfile asapuserfuncs.py
|
---|
341 |
|
---|
342 | # If you are feeling adventurous, you can even add functionality to IPython
|
---|
343 | # through here. IPython works through a global variable called __ip which
|
---|
344 | # exists at the time when these files are read. If you know what you are doing
|
---|
345 | # (read the source) you can add functions to __ip in files loaded here.
|
---|
346 |
|
---|
347 | # The file example-magic.py contains a simple but correct example. Try it:
|
---|
348 |
|
---|
349 | # execfile example-magic.py
|
---|
350 |
|
---|
351 | # Look at the examples in IPython/iplib.py for more details on how these magic
|
---|
352 | # functions need to process their arguments.
|
---|
353 |
|
---|
354 | #---------------------------------------------------------------------------
|
---|
355 | # Section: aliases for system shell commands
|
---|
356 |
|
---|
357 | # Here you can define your own names for system commands. The syntax is
|
---|
358 | # similar to that of the builtin @alias function:
|
---|
359 |
|
---|
360 | # alias alias_name command_string
|
---|
361 |
|
---|
362 | # The resulting aliases are auto-generated magic functions (hence usable as
|
---|
363 | # @alias_name)
|
---|
364 |
|
---|
365 | # For example:
|
---|
366 |
|
---|
367 | # alias myls ls -la
|
---|
368 |
|
---|
369 | # will define '@myls' as an alias for executing the system command 'ls -la'.
|
---|
370 | # If automagic is on, you can just type myls like you would at a system shell
|
---|
371 | # prompt. This allows you to customize IPython's environment to have the same
|
---|
372 | # aliases you are accustomed to from your own shell.
|
---|
373 |
|
---|
374 | # You can also define aliases with parameters using %s specifiers (one per
|
---|
375 | # parameter):
|
---|
376 |
|
---|
377 | # alias parts echo first %s second %s
|
---|
378 |
|
---|
379 | # will give you in IPython:
|
---|
380 | # >>> @parts A B
|
---|
381 | # first A second B
|
---|
382 |
|
---|
383 | # Use one 'alias' statement per alias you wish to define.
|
---|
384 |
|
---|
385 | #alias
|
---|