##// END OF EJS Templates
Merging -r 1189 from lp:ipython.
Brian Granger -
r2140:eaba76cd merge
parent child Browse files
Show More
@@ -1,121 +1,121 b''
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """Release data for the IPython project."""
2 """Release data for the IPython project."""
3
3
4 #*****************************************************************************
4 #*****************************************************************************
5 # Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu>
5 # Copyright (C) 2001-2006 Fernando Perez <fperez@colorado.edu>
6 #
6 #
7 # Copyright (c) 2001 Janko Hauser <jhauser@zscout.de> and Nathaniel Gray
7 # Copyright (c) 2001 Janko Hauser <jhauser@zscout.de> and Nathaniel Gray
8 # <n8gray@caltech.edu>
8 # <n8gray@caltech.edu>
9 #
9 #
10 # Distributed under the terms of the BSD License. The full license is in
10 # Distributed under the terms of the BSD License. The full license is in
11 # the file COPYING, distributed as part of this software.
11 # the file COPYING, distributed as part of this software.
12 #*****************************************************************************
12 #*****************************************************************************
13
13
14 # Name of the package for release purposes. This is the name which labels
14 # Name of the package for release purposes. This is the name which labels
15 # the tarballs and RPMs made by distutils, so it's best to lowercase it.
15 # the tarballs and RPMs made by distutils, so it's best to lowercase it.
16 name = 'ipython'
16 name = 'ipython'
17
17
18 # For versions with substrings (like 0.6.16.svn), use an extra . to separate
18 # For versions with substrings (like 0.6.16.svn), use an extra . to separate
19 # the new substring. We have to avoid using either dashes or underscores,
19 # the new substring. We have to avoid using either dashes or underscores,
20 # because bdist_rpm does not accept dashes (an RPM) convention, and
20 # because bdist_rpm does not accept dashes (an RPM) convention, and
21 # bdist_deb does not accept underscores (a Debian convention).
21 # bdist_deb does not accept underscores (a Debian convention).
22
22
23 development = True # change this to False to do a release
23 development = False # change this to False to do a release
24 version_base = '0.10'
24 version_base = '0.10.rc1'
25 branch = 'ipython'
25 branch = 'ipython'
26 revision = '1163'
26 revision = '1188'
27
27
28 if development:
28 if development:
29 if branch == 'ipython':
29 if branch == 'ipython':
30 version = '%s.bzr.r%s' % (version_base, revision)
30 version = '%s.bzr.r%s' % (version_base, revision)
31 else:
31 else:
32 version = '%s.bzr.r%s.%s' % (version_base, revision, branch)
32 version = '%s.bzr.r%s.%s' % (version_base, revision, branch)
33 else:
33 else:
34 version = version_base
34 version = version_base
35
35
36
36
37 description = "An interactive computing environment for Python"
37 description = "An interactive computing environment for Python"
38
38
39 long_description = \
39 long_description = \
40 """
40 """
41 The goal of IPython is to create a comprehensive environment for
41 The goal of IPython is to create a comprehensive environment for
42 interactive and exploratory computing. To support this goal, IPython
42 interactive and exploratory computing. To support this goal, IPython
43 has two main components:
43 has two main components:
44
44
45 * An enhanced interactive Python shell.
45 * An enhanced interactive Python shell.
46
46
47 * An architecture for interactive parallel computing.
47 * An architecture for interactive parallel computing.
48
48
49 The enhanced interactive Python shell has the following main features:
49 The enhanced interactive Python shell has the following main features:
50
50
51 * Comprehensive object introspection.
51 * Comprehensive object introspection.
52
52
53 * Input history, persistent across sessions.
53 * Input history, persistent across sessions.
54
54
55 * Caching of output results during a session with automatically generated
55 * Caching of output results during a session with automatically generated
56 references.
56 references.
57
57
58 * Readline based name completion.
58 * Readline based name completion.
59
59
60 * Extensible system of 'magic' commands for controlling the environment and
60 * Extensible system of 'magic' commands for controlling the environment and
61 performing many tasks related either to IPython or the operating system.
61 performing many tasks related either to IPython or the operating system.
62
62
63 * Configuration system with easy switching between different setups (simpler
63 * Configuration system with easy switching between different setups (simpler
64 than changing $PYTHONSTARTUP environment variables every time).
64 than changing $PYTHONSTARTUP environment variables every time).
65
65
66 * Session logging and reloading.
66 * Session logging and reloading.
67
67
68 * Extensible syntax processing for special purpose situations.
68 * Extensible syntax processing for special purpose situations.
69
69
70 * Access to the system shell with user-extensible alias system.
70 * Access to the system shell with user-extensible alias system.
71
71
72 * Easily embeddable in other Python programs and wxPython GUIs.
72 * Easily embeddable in other Python programs and wxPython GUIs.
73
73
74 * Integrated access to the pdb debugger and the Python profiler.
74 * Integrated access to the pdb debugger and the Python profiler.
75
75
76 The parallel computing architecture has the following main features:
76 The parallel computing architecture has the following main features:
77
77
78 * Quickly parallelize Python code from an interactive Python/IPython session.
78 * Quickly parallelize Python code from an interactive Python/IPython session.
79
79
80 * A flexible and dynamic process model that be deployed on anything from
80 * A flexible and dynamic process model that be deployed on anything from
81 multicore workstations to supercomputers.
81 multicore workstations to supercomputers.
82
82
83 * An architecture that supports many different styles of parallelism, from
83 * An architecture that supports many different styles of parallelism, from
84 message passing to task farming.
84 message passing to task farming.
85
85
86 * Both blocking and fully asynchronous interfaces.
86 * Both blocking and fully asynchronous interfaces.
87
87
88 * High level APIs that enable many things to be parallelized in a few lines
88 * High level APIs that enable many things to be parallelized in a few lines
89 of code.
89 of code.
90
90
91 * Share live parallel jobs with other users securely.
91 * Share live parallel jobs with other users securely.
92
92
93 * Dynamically load balanced task farming system.
93 * Dynamically load balanced task farming system.
94
94
95 * Robust error handling in parallel code.
95 * Robust error handling in parallel code.
96
96
97 The latest development version is always available from IPython's `Launchpad
97 The latest development version is always available from IPython's `Launchpad
98 site <http://launchpad.net/ipython>`_.
98 site <http://launchpad.net/ipython>`_.
99 """
99 """
100
100
101 license = 'BSD'
101 license = 'BSD'
102
102
103 authors = {'Fernando' : ('Fernando Perez','fperez@colorado.edu'),
103 authors = {'Fernando' : ('Fernando Perez','fperez@colorado.edu'),
104 'Janko' : ('Janko Hauser','jhauser@zscout.de'),
104 'Janko' : ('Janko Hauser','jhauser@zscout.de'),
105 'Nathan' : ('Nathaniel Gray','n8gray@caltech.edu'),
105 'Nathan' : ('Nathaniel Gray','n8gray@caltech.edu'),
106 'Ville' : ('Ville Vainio','vivainio@gmail.com'),
106 'Ville' : ('Ville Vainio','vivainio@gmail.com'),
107 'Brian' : ('Brian E Granger', 'ellisonbg@gmail.com'),
107 'Brian' : ('Brian E Granger', 'ellisonbg@gmail.com'),
108 'Min' : ('Min Ragan-Kelley', 'benjaminrk@gmail.com')
108 'Min' : ('Min Ragan-Kelley', 'benjaminrk@gmail.com')
109 }
109 }
110
110
111 author = 'The IPython Development Team'
111 author = 'The IPython Development Team'
112
112
113 author_email = 'ipython-dev@scipy.org'
113 author_email = 'ipython-dev@scipy.org'
114
114
115 url = 'http://ipython.scipy.org'
115 url = 'http://ipython.scipy.org'
116
116
117 download_url = 'http://ipython.scipy.org/dist'
117 download_url = 'http://ipython.scipy.org/dist'
118
118
119 platforms = ['Linux','Mac OSX','Windows XP/2000/NT','Windows 95/98/ME']
119 platforms = ['Linux','Mac OSX','Windows XP/2000/NT','Windows 95/98/ME']
120
120
121 keywords = ['Interactive','Interpreter','Shell','Parallel','Distributed']
121 keywords = ['Interactive','Interpreter','Shell','Parallel','Distributed']
@@ -1,15 +1,32 b''
1 #!/usr/bin/env python
2 """Utility to look for hard tabs and \r characters in all sources.
3 """
4
1 from IPython.external.path import path
5 from IPython.external.path import path
6
2 fs = path('..').walkfiles('*.py')
7 fs = path('..').walkfiles('*.py')
3
8
9 rets = []
10
4 for f in fs:
11 for f in fs:
5 errs = ''
12 errs = ''
6 cont = f.bytes()
13 cont = f.bytes()
7 if '\t' in cont:
14 if '\t' in cont:
8 errs+='t'
15 errs+='t'
9
16
10 if '\r' in cont:
17 if '\r' in cont:
11 errs+='r'
18 errs+='r'
19 rets.append(f)
12
20
13 if errs:
21 if errs:
14 print "%3s" % errs, f
22 print "%3s" % errs, f
15
23 if 't' in errs:
24 for ln,line in enumerate(f.lines()):
25 if '\t' in line:
26 print 'TAB:',ln,':',line,
27 if 'r' in errs:
28 for ln,line in enumerate(open(f.abspath(),'rb')):
29 if '\r' in line:
30 print 'RET:',ln,':',line,
31
32 rr = rets[-1]
@@ -1,58 +1,35 b''
1 #!/bin/sh
1 #!/bin/bash
2 # IPython release script
2 # IPython release script
3
3
4 PYVER=`python -V 2>&1 | awk '{print $2}' | awk -F '.' '{print $1$2}' `
4 PYVER=`python -V 2>&1 | awk '{print $2}' | awk -F '.' '{print $1$2}' `
5 version=`ipython -Version`
5 version=`ipython -Version`
6 ipdir=~/ipython/ipython
6 ipdir=~/ipython/ipython
7 ipbackupdir=~/ipython/backup
7 ipbackupdir=~/ipython/backup
8
8
9 echo
9 echo
10 echo "Releasing IPython version $version"
10 echo "Releasing IPython version $version"
11 echo "=================================="
11 echo "=================================="
12
12
13 # Perform local backup
13 # Perform local backup
14 cd $ipdir/tools
14 cd $ipdir/tools
15 ./make_tarball.py
15 ./make_tarball.py
16 mv ipython-*.tgz $ipbackupdir
16 mv ipython-*.tgz $ipbackupdir
17
17
18 # Clean up build/dist directories
18 # Build release files
19 rm -rf $ipdir/build/*
19 ./testrel $ipdir
20 rm -rf $ipdir/dist/*
21
22 # Build source and binary distros
23 cd $ipdir
24 ./setup.py sdist --formats=gztar
25
26 # Build version-specific RPMs, where we must use the --python option to ensure
27 # that the resulting RPM is really built with the requested python version (so
28 # things go to lib/python2.X/...)
29 #python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4
30 #python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5
31
32 # Build eggs
33 python2.4 ./setup_bdist_egg.py
34 python2.5 ./setup_bdist_egg.py
35
36 # Call the windows build separately, so that the extra Windows scripts don't
37 # get pulled into Unix builds (setup.py has code which checks for
38 # bdist_wininst)
39 ./setup.py bdist_wininst --install-script=ipython_win_post_install.py
40
41 # Change name so retarded Vista runs the installer correctly
42 rename 's/win32/win32-setup/' $ipdir/dist/*.exe
43
20
44 # Register with the Python Package Index (PyPI)
21 # Register with the Python Package Index (PyPI)
45 echo "Registering with PyPI..."
22 echo "Registering with PyPI..."
46 cd $ipdir
23 cd $ipdir
47 ./setup.py register
24 ./setup.py register
48
25
49 # Upload all files
26 # Upload all files
50 cd $ipdir/dist
27 cd $ipdir/dist
51 echo "Uploading distribution files..."
28 echo "Uploading distribution files..."
52 scp * ipython@ipython.scipy.org:www/dist/
29 scp * ipython@ipython.scipy.org:www/dist/
53
30
54 echo "Uploading backup files..."
31 echo "Uploading backup files..."
55 cd $ipbackupdir
32 cd $ipbackupdir
56 scp `ls -1tr *tgz | tail -1` ipython@ipython.scipy.org:www/backup/
33 scp `ls -1tr *tgz | tail -1` ipython@ipython.scipy.org:www/backup/
57
34
58 echo "Done!"
35 echo "Done!"
@@ -1,31 +1,35 b''
1 #!/bin/sh
1 #!/bin/bash
2
2
3 # release test
3 # Build the release files. Kept as a separate script so we can easily do local
4 # dry runs without uploading anything externally.
4
5
5 ipdir=$PWD/..
6 ipdir=${1-..}
6
7
7 cd $ipdir
8 cd $ipdir
8
9
9 # Clean up build/dist directories
10 # Clean up build/dist directories
10 rm -rf $ipdir/build/*
11 rm -rf build/*
11 rm -rf $ipdir/dist/*
12 rm -rf dist/*
13 rm -rf docs/build/*
14 rm -rf docs/dist/*
12
15
13 # build source distros
16 # Build source and binary distros
14 cd $ipdir
15 ./setup.py sdist --formats=gztar
17 ./setup.py sdist --formats=gztar
16
18
17 # Build rpms
19 # Build version-specific RPMs, where we must use the --python option to ensure
18 python2.4 ./setup.py bdist_rpm --binary-only --release=py24 --python=/usr/bin/python2.4
20 # that the resulting RPM is really built with the requested python version (so
21 # things go to lib/python2.X/...)
19 python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5
22 python2.5 ./setup.py bdist_rpm --binary-only --release=py25 --python=/usr/bin/python2.5
23 python2.6 ./setup.py bdist_rpm --binary-only --release=py26 --python=/usr/bin/python2.6
20
24
21 # Build eggs
25 # Build eggs
22 python2.4 ./setup_bdist_egg.py
23 python2.5 ./setup_bdist_egg.py
26 python2.5 ./setup_bdist_egg.py
27 python2.6 ./setup_bdist_egg.py
24
28
25 # Call the windows build separately, so that the extra Windows scripts don't
29 # Call the windows build separately, so that the extra Windows scripts don't
26 # get pulled into Unix builds (setup.py has code which checks for
30 # get pulled into Unix builds (setup.py has code which checks for
27 # bdist_wininst)
31 # bdist_wininst)
28 ./setup.py bdist_wininst --install-script=ipython_win_post_install.py
32 ./setup.py bdist_wininst --install-script=ipython_win_post_install.py
29
33
30 # Change name so retarded Vista runs the installer correctly
34 # Change name so retarded Vista runs the installer correctly
31 rename 's/win32/win32-setup/' $ipdir/dist/*.exe
35 rename 's/win32/win32-setup/' dist/*.exe
General Comments 0
You need to be logged in to leave comments. Login now