##// END OF EJS Templates
Ready for 0.7.0 release!...
fperez -
Show More
@@ -1,7 +1,7 b''
1 1 # -*- coding: utf-8 -*-
2 2 """Magic functions for InteractiveShell.
3 3
4 $Id: Magic.py 994 2006-01-08 08:29:44Z fperez $"""
4 $Id: Magic.py 1000 2006-01-10 08:06:04Z fperez $"""
5 5
6 6 #*****************************************************************************
7 7 # Copyright (C) 2001 Janko Hauser <jhauser@zscout.de> and
@@ -250,7 +250,9 b' license. To use profiling, please install"python2.3-profiler" from non-free.""")'
250 250 newline_re = re.compile(r'\\n')
251 251
252 252 # Now build the string for output:
253 strng = cmd_name_re.sub(r'\n\\texttt{\\textsl{\\large \1}}:',strng)
253 #strng = cmd_name_re.sub(r'\n\\texttt{\\textsl{\\large \1}}:',strng)
254 strng = cmd_name_re.sub(r'\n\\bigskip\n\\texttt{\\textbf{ \1}}:',
255 strng)
254 256 strng = cmd_re.sub(r'\\texttt{\g<cmd>}',strng)
255 257 strng = par_re.sub(r'\\\\',strng)
256 258 strng = escape_re.sub(r'\\\1',strng)
@@ -1709,6 +1711,7 b' Currently the magic system has the following functions:\\n"""'
1709 1711 temporary file and will execute the contents of this file when you
1710 1712 close it (don't forget to save it!).
1711 1713
1714
1712 1715 Options:
1713 1716
1714 1717 -p: this will call the editor with the same data as the previous time
@@ -1719,6 +1722,7 b' Currently the magic system has the following functions:\\n"""'
1719 1722 mainly useful if you are editing programs which need to be called with
1720 1723 command line arguments, which you can then do using %run.
1721 1724
1725
1722 1726 Arguments:
1723 1727
1724 1728 If arguments are given, the following possibilites exist:
@@ -1917,6 +1921,7 b' Currently the magic system has the following functions:\\n"""'
1917 1921
1918 1922 if use_temp:
1919 1923 filename = self.shell.mktempfile(data)
1924 print 'IPython will make a temporary file named:',filename
1920 1925
1921 1926 # do actual editing here
1922 1927 print 'Editing...',
@@ -1,7 +1,7 b''
1 1 # -*- coding: utf-8 -*-
2 2 """Release data for the IPython project.
3 3
4 $Id: Release.py 994 2006-01-08 08:29:44Z fperez $"""
4 $Id: Release.py 1000 2006-01-10 08:06:04Z fperez $"""
5 5
6 6 #*****************************************************************************
7 7 # Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu>
@@ -22,9 +22,9 b" name = 'ipython'"
22 22 # because bdist_rpm does not accept dashes (an RPM) convention, and
23 23 # bdist_deb does not accept underscores (a Debian convention).
24 24
25 version = '0.7.0.rc8'
25 version = '0.7.0'
26 26
27 revision = '$Revision: 994 $'
27 revision = '$Revision: 1000 $'
28 28
29 29 description = "An enhanced interactive Python shell."
30 30
@@ -6,7 +6,7 b' Requires Python 2.1 or newer.'
6 6
7 7 This file contains all the classes and helper functions specific to IPython.
8 8
9 $Id: iplib.py 995 2006-01-08 16:23:20Z fperez $
9 $Id: iplib.py 1000 2006-01-10 08:06:04Z fperez $
10 10 """
11 11
12 12 #*****************************************************************************
@@ -2033,7 +2033,7 b' want to merge them back into the new files.""" % locals()'
2033 2033 - data(None): if data is given, it gets written out to the temp file
2034 2034 immediately, and the file is closed again."""
2035 2035
2036 filename = tempfile.mktemp('.py')
2036 filename = tempfile.mktemp('.py','ipython_edit_')
2037 2037 self.tempfiles.append(filename)
2038 2038
2039 2039 if data:
@@ -1,3 +1,13 b''
1 2006-01-10 Fernando Perez <Fernando.Perez@colorado.edu>
2
3 * IPython/Release.py (revision): tag version number to 0.7.0,
4 ready for release.
5
6 * IPython/Magic.py (magic_edit): Add print statement to %edit so
7 it informs the user of the name of the temp. file used. This can
8 help if you decide later to reuse that same file, so you know
9 where to copy the info from.
10
1 11 2006-01-09 Fernando Perez <Fernando.Perez@colorado.edu>
2 12
3 13 * setup_bdist_egg.py: little script to build an egg. Added
@@ -49,7 +49,7 b''
49 49 \inputencoding latin1
50 50 \fontscheme palatino
51 51 \graphics default
52 \paperfontsize 10
52 \paperfontsize 11
53 53 \spacing single
54 54 \papersize Default
55 55 \paperpackage a4
@@ -58,9 +58,9 b''
58 58 \use_natbib 0
59 59 \use_numerical_citations 0
60 60 \paperorientation portrait
61 \leftmargin 1.1in
61 \leftmargin 1in
62 62 \topmargin 1in
63 \rightmargin 1.1in
63 \rightmargin 1in
64 64 \bottommargin 1in
65 65 \secnumdepth 3
66 66 \tocdepth 3
@@ -2234,63 +2234,6 b' Use your input history.'
2234 2234 code for your programs.
2235 2235 \layout Itemize
2236 2236
2237 Define your own macros with
2238 \family typewriter
2239 %macro
2240 \family default
2241 .
2242 This can be useful for automating sequences of expressions when working
2243 interactively.
2244 You can edit a macro (they are just Python variables holding your input
2245 as a string) by simply typing `
2246 \family typewriter
2247 %edit macroname
2248 \family default
2249 ', and macros can be stored persistently across session with `
2250 \family typewriter
2251 %store macroname
2252 \family default
2253 ' (the storage system is per-profile).
2254 The combination of quick macros, persistent storage and editing, allows
2255 you to easily refine quick-and-dirty interactive input into permanent utilities
2256 , always available both in IPython and as files for general reuse.
2257 \layout Itemize
2258
2259 While
2260 \family typewriter
2261 %macro
2262 \family default
2263 saves input lines into memory for interactive re-execution, sometimes you'd
2264 like to save your input directly to a file.
2265 The
2266 \family typewriter
2267 %save
2268 \family default
2269 magic does this: its input sytnax is the same as
2270 \family typewriter
2271 %macro
2272 \family default
2273 , but it saves your input directly to a Python file.
2274 Note that the
2275 \family typewriter
2276 %logstart
2277 \family default
2278 command also saves input, but it logs
2279 \emph on
2280 all
2281 \emph default
2282 input to disk (though you can temporarily suspend it and reactivate it
2283 with
2284 \family typewriter
2285 %logoff/%logon
2286 \family default
2287 );
2288 \family typewriter
2289 %save
2290 \family default
2291 allows you to select which lines of input you need to save.
2292 \layout Itemize
2293
2294 2237 Define your own system aliases.
2295 2238 Even though IPython gives you access to your system shell via the
2296 2239 \family typewriter
@@ -2406,16 +2349,6 b' Use the Python profiler.'
2406 2349 calls).
2407 2350 \layout Itemize
2408 2351
2409 Use
2410 \family typewriter
2411 %edit
2412 \family default
2413 to have almost multiline editing.
2414 While IPython doesn't support true multiline editing, this command allows
2415 you to call an editor on the spot, and IPython will execute the code you
2416 type in there as if it were typed interactively.
2417 \layout Itemize
2418
2419 2352 Use the IPython.demo.Demo class to load any Python script as an interactive
2420 2353 demo.
2421 2354 With a minimal amount of simple markup, you can control the execution of
@@ -2427,13 +2360,129 b' Use the IPython.demo.Demo class to load any Python script as an interactive'
2427 2360 \end_inset
2428 2361
2429 2362 for more.
2363 \layout Subsection
2364
2365 Source code handling tips
2430 2366 \layout Standard
2431 2367
2368 IPython is a line-oriented program, without full control of the terminal.
2369 Therefore, it doesn't support true multiline editing.
2370 However, it has a number of useful tools to help you in dealing effectively
2371 with more complex editing.
2372 \layout Standard
2432 2373
2433 \series bold
2434 Effective logging:
2435 \series default
2436 a very useful suggestion sent in by Robert Kern follows
2374 The
2375 \family typewriter
2376 %edit
2377 \family default
2378 command gives a reasonable approximation of multiline editing, by invoking
2379 your favorite editor on the spot.
2380 IPython will execute the code you type in there as if it were typed interactive
2381 ly.
2382 Type
2383 \family typewriter
2384 %edit?
2385 \family default
2386 for the full details on the edit command.
2387 \layout Standard
2388
2389 If you have typed various commands during a session, which you'd like to
2390 reuse, IPython provides you with a number of tools.
2391 Start by using
2392 \family typewriter
2393 %hist
2394 \family default
2395 to see your input history, so you can see the line numbers of all input.
2396 Let us say that you'd like to reuse lines 10 through 20, plus lines 24
2397 and 28.
2398 All the commands below can operate on these with the syntax
2399 \layout LyX-Code
2400
2401 %command 10-20 24 28
2402 \layout Standard
2403
2404 where the command given can be:
2405 \layout Itemize
2406
2407
2408 \family typewriter
2409 %macro <macroname>
2410 \family default
2411 : this stores the lines into a variable which, when called at the prompt,
2412 re-executes the input.
2413 Macros can be edited later using
2414 \family typewriter
2415 `%edit macroname
2416 \family default
2417 ', and they can be stored persistently across sessions with `
2418 \family typewriter
2419 %store macroname
2420 \family default
2421 ' (the storage system is per-profile).
2422 The combination of quick macros, persistent storage and editing, allows
2423 you to easily refine quick-and-dirty interactive input into permanent utilities
2424 , always available both in IPython and as files for general reuse.
2425 \layout Itemize
2426
2427
2428 \family typewriter
2429 %edit
2430 \family default
2431 : this will open a text editor with those lines pre-loaded for further modificat
2432 ion.
2433 It will then execute the resulting file's contents as if you had typed
2434 it at the prompt.
2435 \layout Itemize
2436
2437
2438 \family typewriter
2439 %save <filename>
2440 \family default
2441 : this saves the lines directly to a named file on disk.
2442 \layout Standard
2443
2444 While
2445 \family typewriter
2446 %macro
2447 \family default
2448 saves input lines into memory for interactive re-execution, sometimes you'd
2449 like to save your input directly to a file.
2450 The
2451 \family typewriter
2452 %save
2453 \family default
2454 magic does this: its input sytnax is the same as
2455 \family typewriter
2456 %macro
2457 \family default
2458 , but it saves your input directly to a Python file.
2459 Note that the
2460 \family typewriter
2461 %logstart
2462 \family default
2463 command also saves input, but it logs
2464 \emph on
2465 all
2466 \emph default
2467 input to disk (though you can temporarily suspend it and reactivate it
2468 with
2469 \family typewriter
2470 %logoff/%logon
2471 \family default
2472 );
2473 \family typewriter
2474 %save
2475 \family default
2476 allows you to select which lines of input you need to save.
2477 \layout Standard
2478
2479 And
2480 \layout Subsection
2481
2482 Effective logging
2483 \layout Standard
2484
2485 A very useful suggestion sent in by Robert Kern follows:
2437 2486 \layout Standard
2438 2487
2439 2488 I recently happened on a nifty way to keep tidy per-project log files.
@@ -8524,7 +8573,17 b' The current IPython system grew out of the following three projects:'
8524 8573 \layout List
8525 8574 \labelwidthstring 00.00.0000
8526 8575
8527 ipython by Fernando Pérez.
8576 ipython by Fernando P
8577 \begin_inset ERT
8578 status Collapsed
8579
8580 \layout Standard
8581
8582 \backslash
8583 '{e}
8584 \end_inset
8585
8586 rez.
8528 8587 I was working on adding Mathematica-type prompts and a flexible configuration
8529 8588 system (something better than
8530 8589 \family typewriter
@@ -8576,10 +8635,10 b' The above listed features work, and quite well for the most part.'
8576 8635 and well localized in the cleaner parts of the code).
8577 8636 \layout Standard
8578 8637
8579 IPython consists of some 12000 lines of pure python code, of which roughly
8580 50% are fairly clean.
8581 The other 50% are fragile, messy code which needs a massive restructuring
8582 before any further major work is done.
8638 IPython consists of some 18000 lines of pure python code, of which roughly
8639 two thirds is reasonably clean.
8640 The rest is, messy code which needs a massive restructuring before any
8641 further major work is done.
8583 8642 Even the messy code is fairly well documented though, and most of the problems
8584 8643 in the (non-existent) class design are well pointed to by a PyChecker run.
8585 8644 So the rewriting work isn't that bad, it will just be time-consuming.
@@ -8719,7 +8778,17 b' Versions of IPython up to and including 0.6.3 were released under the GNU'
8719 8778 Credits
8720 8779 \layout Standard
8721 8780
8722 IPython is mainly developed by Fernando Pérez
8781 IPython is mainly developed by Fernando P
8782 \begin_inset ERT
8783 status Collapsed
8784
8785 \layout Standard
8786
8787 \backslash
8788 '{e}
8789 \end_inset
8790
8791 rez
8723 8792 \family typewriter
8724 8793 <fperez@colorado.edu>
8725 8794 \family default
@@ -8817,7 +8886,7 b' Ka-Ping Yee'
8817 8886 with a much nicer syntax than formatting through the '%' operator.
8818 8887 \layout Standard
8819 8888
8820 Arnd Bäcker
8889 Arnd Baecker
8821 8890 \family typewriter
8822 8891 <baecker-AT-physik.tu-dresden.de>
8823 8892 \family default
@@ -9101,7 +9170,7 b' Drexler'
9101 9170 \labelwidthstring 00.00.0000
9102 9171
9103 9172 Gustavo\SpecialChar ~
9104 Córdova\SpecialChar ~
9173 Cordova\SpecialChar ~
9105 9174 Avila
9106 9175 \family typewriter
9107 9176 <gcordova-AT-sismex.com>
@@ -1,11 +1,19 b''
1 1 #!/usr/bin/env python
2 """Simple wrapper to build IPython as an egg (setuptools format)."""
2 """Wrapper to build IPython as an egg (setuptools format)."""
3 3
4 import os
4 5 import sys
5 6
6 import pkg_resources
7 pkg_resources.require("setuptools")
7 # Add my local path to sys.path
8 home = os.environ['HOME']
9 sys.path.insert(0,'%s/usr/local/lib/python%s/site-packages' %
10 (home,sys.version[:3]))
11
12 # now, import setuptools and build the actual egg
8 13 import setuptools
9 14
10 15 sys.argv=['','bdist_egg']
11 16 execfile('setup.py')
17
18 # clean up the junk left around by setuptools
19 os.system('rm -rf ipython.egg-info')
General Comments 0
You need to be logged in to leave comments. Login now