Show More
@@ -2,7 +2,7 b'' | |||
|
2 | 2 | """Release data for the IPython project.""" |
|
3 | 3 | |
|
4 | 4 | #***************************************************************************** |
|
5 |
# Copyright (C) 2008-200 |
|
|
5 | # Copyright (C) 2008-2010 The IPython Development Team | |
|
6 | 6 | # Copyright (C) 2001-2008 Fernando Perez <fperez@colorado.edu> |
|
7 | 7 | # Copyright (c) 2001 Janko Hauser <jhauser@zscout.de> and Nathaniel Gray |
|
8 | 8 | # <n8gray@caltech.edu> |
@@ -29,7 +29,7 b' IPython requires Python 2.4 or newer.' | |||
|
29 | 29 | """ |
|
30 | 30 | |
|
31 | 31 | #***************************************************************************** |
|
32 |
# Copyright (C) 2008-200 |
|
|
32 | # Copyright (C) 2008-2010 The IPython Development Team | |
|
33 | 33 | # Copyright (C) 2001-2007 Fernando Perez. <fperez@colorado.edu> |
|
34 | 34 | # |
|
35 | 35 | # Distributed under the terms of the BSD License. The full license is in |
@@ -76,11 +76,11 b" EXCLUDE = [pjoin('IPython', 'external')," | |||
|
76 | 76 | pjoin('IPython', 'testing', 'tutils'), |
|
77 | 77 | pjoin('IPython', 'testing', 'tools'), |
|
78 | 78 | pjoin('IPython', 'testing', 'mkdoctests'), |
|
79 | pjoin('IPython', 'gui'), | |
|
79 | 80 | ] |
|
80 | 81 | |
|
81 | 82 | if not have_wx: |
|
82 | 83 | EXCLUDE.append(pjoin('IPython', 'Extensions', 'igrid')) |
|
83 | EXCLUDE.append(pjoin('IPython', 'gui')) | |
|
84 | 84 | EXCLUDE.append(pjoin('IPython', 'frontend', 'wx')) |
|
85 | 85 | |
|
86 | 86 | if not have_wx_aui: |
@@ -12,6 +12,102 b'' | |||
|
12 | 12 | What's new |
|
13 | 13 | ========== |
|
14 | 14 | |
|
15 | Release 0.10.1 | |
|
16 | ============== | |
|
17 | ||
|
18 | IPython 0.10.1 was released October 11, 2010, over a year after version 0.10. | |
|
19 | This is mostly a bugfix release, since after version 0.10 was released, the | |
|
20 | development team's energy has been focused on the 0.11 series. We have | |
|
21 | nonetheless tried to backport what fixes we could into 0.10.1, as it remains | |
|
22 | the stable series that many users have in production systems they rely on. | |
|
23 | ||
|
24 | Since the 0.11 series changes many APIs in backwards-incompatible ways, we are | |
|
25 | willing to continue maintaining the 0.10.x series. We don't really have time | |
|
26 | to actively write new code for 0.10.x, but we are happy to accept patches and | |
|
27 | pull requests on the IPython `github site`_. If sufficient contributions are | |
|
28 | made that improve 0.10.1, we will roll them into future releases. For this | |
|
29 | purpose, we will have a branch called 0.10.2 on github, on which you can base | |
|
30 | your contributions. | |
|
31 | ||
|
32 | .. _github site: http://github.com/ipython | |
|
33 | ||
|
34 | For this release, we applied approximately 60 commits totaling a diff of over | |
|
35 | 7000 lines:: | |
|
36 | ||
|
37 | (0.10.1)amirbar[dist]> git diff --oneline rel-0.10.. | wc -l | |
|
38 | 7296 | |
|
39 | ||
|
40 | Highlights of this release: | |
|
41 | ||
|
42 | - The only significant new feature is that IPython's parallel computing | |
|
43 | machinery now supports natively the Sun Grid Engine and LSF schedulers. This | |
|
44 | work was a joint contribution from Justin Riley, Satra Ghosh and Matthieu | |
|
45 | Brucher, who put a lot of work into it. We also improved traceback handling | |
|
46 | in remote tasks, as well as providing better control for remote task IDs. | |
|
47 | ||
|
48 | - New IPython Sphinx directive. You can use this directive to mark blocks in | |
|
49 | reSructuredText documents as containig IPython syntax (including figures) and | |
|
50 | the will be executed during the build:: | |
|
51 | ||
|
52 | .. ipython:: | |
|
53 | ||
|
54 | In [2]: plt.figure() # ensure a fresh figure | |
|
55 | ||
|
56 | @savefig psimple.png width=4in | |
|
57 | In [3]: plt.plot([1,2,3]) | |
|
58 | Out[3]: [<matplotlib.lines.Line2D object at 0x9b74d8c>] | |
|
59 | ||
|
60 | - Various fixes to the standalone ipython-wx application. | |
|
61 | ||
|
62 | - We now ship internally the excellent argparse library, graciously licensed | |
|
63 | under BSD terms by Steven Bethard. Now (2010) that argparse has become part | |
|
64 | of Python 2.7 this will be less of an issue, but Steven's relicensing allowed | |
|
65 | us to start updating IPython to using argparse well before Python 2.7. Many | |
|
66 | thanks! | |
|
67 | ||
|
68 | - Robustness improvements so that IPython doesn't crash if the readline library | |
|
69 | is absent (though obviously a lot of functionality that requires readline | |
|
70 | will not be available). | |
|
71 | ||
|
72 | - Improvements to tab completion in Emacs with Python 2.6. | |
|
73 | ||
|
74 | - Logging now supports timestamps (see ``%logstart?`` for full details). | |
|
75 | ||
|
76 | - A long-standing and quite annoying bug where parentheses would be added to | |
|
77 | ``print`` statements, under Python 2.5 and 2.6, was finally fixed. | |
|
78 | ||
|
79 | - Improved handling of libreadline on Apple OSX. | |
|
80 | ||
|
81 | - Fix ``reload`` method of IPython demos, which was broken. | |
|
82 | ||
|
83 | - Fixes for the ipipe/ibrowse system on OSX. | |
|
84 | ||
|
85 | - Fixes for Zope profile. | |
|
86 | ||
|
87 | - Fix %timeit reporting when the time is longer than 1000s. | |
|
88 | ||
|
89 | - Avoid lockups with ? or ?? in SunOS, due to a bug in termios. | |
|
90 | ||
|
91 | - The usual assortment of miscellaneous bug fixes and small improvements. | |
|
92 | ||
|
93 | The following people contributed to this release (please let us know if we | |
|
94 | ommitted your name and we'll gladly fix this in the notes for the future): | |
|
95 | ||
|
96 | * Beni Cherniavsky | |
|
97 | * Boyd Waters. | |
|
98 | * David Warde-Farley | |
|
99 | * Fernando Perez | |
|
100 | * Gökhan Sever | |
|
101 | * Justin Riley | |
|
102 | * Kiorky | |
|
103 | * Laurent Dufrechou | |
|
104 | * Mark E. Smith | |
|
105 | * Matthieu Brucher | |
|
106 | * Satrajit Ghosh | |
|
107 | * Sebastian Busch | |
|
108 | * Václav Šmilauer | |
|
109 | ||
|
110 | ||
|
15 | 111 | Release 0.10 |
|
16 | 112 | ============ |
|
17 | 113 |
@@ -7,7 +7,7 b' History' | |||
|
7 | 7 | Origins |
|
8 | 8 | ======= |
|
9 | 9 | |
|
10 |
IPython was start |
|
|
10 | IPython was started in 2001 by Fernando Perez. IPython as we know it | |
|
11 | 11 | today grew out of the following three projects: |
|
12 | 12 | |
|
13 | 13 | * ipython by Fernando Pérez. I was working on adding |
@@ -67,8 +67,9 b' def mangle_docstrings(app, what, name, obj, options, lines,' | |||
|
67 | 67 | |
|
68 | 68 | def mangle_signature(app, what, name, obj, options, sig, retann): |
|
69 | 69 | # Do not try to inspect classes that don't define `__init__` |
|
70 | if (inspect.isclass(obj) and | |
|
71 | 'initializes x; see ' in pydoc.getdoc(obj.__init__)): | |
|
70 | init = getattr(obj, '__init__', None) | |
|
71 | if (init is not None and | |
|
72 | 'initializes x; see ' in pydoc.getdoc(init)): | |
|
72 | 73 | return '', '' |
|
73 | 74 | |
|
74 | 75 | if not (callable(obj) or hasattr(obj, '__argspec_is_invalid_')): return |
@@ -14,15 +14,17 b" execfile(pjoin('IPython','Release.py'))" | |||
|
14 | 14 | compile_tree() |
|
15 | 15 | |
|
16 | 16 | # Cleanup |
|
17 |
for d in ['build','dist',pjoin('docs','build'),pjoin('docs','dist') |
|
|
17 | for d in ['build','dist',pjoin('docs','build'),pjoin('docs','dist'), | |
|
18 | pjoin('docs','source','api','generated')]: | |
|
18 | 19 | if os.path.isdir(d): |
|
19 | 20 | remove_tree(d) |
|
20 | 21 | |
|
21 | 22 | # Build source and binary distros |
|
22 | 23 | c('./setup.py sdist --formats=gztar,zip') |
|
23 | 24 | |
|
25 | ||
|
24 | 26 | # Build eggs |
|
25 | c('python2.5 ./setupegg.py bdist_egg') | |
|
27 | #c('python2.5 ./setupegg.py bdist_egg') | |
|
26 | 28 | c('python2.6 ./setupegg.py bdist_egg') |
|
27 | 29 | |
|
28 | 30 | # Call the windows build separately, so that the extra Windows scripts don't |
@@ -1,21 +1,25 b'' | |||
|
1 | 1 | #!/usr/bin/env python |
|
2 |
"""Simple script to create a tarball with proper |
|
|
2 | """Simple script to create a tarball with proper git info. | |
|
3 | 3 | """ |
|
4 | 4 | |
|
5 | import commands | |
|
5 | 6 | import os |
|
6 | 7 | import sys |
|
7 | 8 | import shutil |
|
8 | 9 | |
|
9 | 10 | from toollib import * |
|
10 | 11 | |
|
11 | execfile('../IPython/Release.py') # defines version_base | |
|
12 | tag = commands.getoutput('git describe') | |
|
13 | base_name = 'ipython-%s' % tag | |
|
14 | tar_name = '%s.tgz' % base_name | |
|
12 | 15 | |
|
13 | ver = version_info() | |
|
16 | # git archive is weird: Even if I give it a specific path, it still won't | |
|
17 | # archive the whole tree. It seems the only way to get the whole tree is to cd | |
|
18 | # to the top of the tree. There are long threads (since 2007) on the git list | |
|
19 | # about this and it still doesn't work in a sensible way... | |
|
14 | 20 | |
|
15 | if ver['branch-nick'] == 'ipython': | |
|
16 | tarname = 'ipython-%s.bzr.r%s.tgz' % (version_base, ver['revno']) | |
|
17 | else: | |
|
18 | tarname = 'ipython-%s.bzr.r%s.%s.tgz' % (version_base, ver['revno'], | |
|
19 | ver['branch-nick']) | |
|
20 | ||
|
21 | c('bzr export ' + tarname) | |
|
21 | start_dir = os.getcwd() | |
|
22 | cd('..') | |
|
23 | git_tpl = 'git archive --format=tar --prefix={0}/ HEAD | gzip > {1}' | |
|
24 | c(git_tpl.format(base_name, tar_name)) | |
|
25 | c('mv {0} tools/'.format(tar_name)) |
@@ -40,6 +40,7 b' cd(ipdir)' | |||
|
40 | 40 | c('./setup.py register') |
|
41 | 41 | |
|
42 | 42 | # Upload all files |
|
43 | c('./setup.py sdist --formats=gztar,zip upload') | |
|
43 | 44 | cd(distdir) |
|
44 | 45 | print "Uploading distribution files..." |
|
45 | 46 | c('scp * ipython@ipython.scipy.org:www/dist/') |
@@ -46,10 +46,3 b' def compile_tree():' | |||
|
46 | 46 | msg = '*** ERROR: Some Python files in tree do NOT compile! ***\n' |
|
47 | 47 | msg += 'See messages above for the actual file that produced it.\n' |
|
48 | 48 | raise SystemExit(msg) |
|
49 | ||
|
50 | ||
|
51 | def version_info(): | |
|
52 | """Return bzr version info as a dict.""" | |
|
53 | out = os.popen('bzr version-info') | |
|
54 | pairs = (l.split(':',1) for l in out) | |
|
55 | return dict(((k,v.strip()) for (k,v) in pairs)) |
General Comments 0
You need to be logged in to leave comments.
Login now