##// END OF EJS Templates
command-line pass...
command-line pass * profile create does *not* include redundant '--init', inherited from parent app * --init message more verbose * include aliases in items scrubbed from the argv passed to the kernel from the frontend, now that unrecognized aliases throw a warning * remove plain/pure as aliases, leaving only bool flags * make <engine|controller>_launcher_class help message more verbose, including example values * engines inherit work_dir from launching ipcluster by default, rather than using profile_dir * unimportable launcher classes won't cause a crash in ipcluster

File last commit:

r3135:44b12ab0
r4247:7115b61b
Show More
release
52 lines | 1.2 KiB | text/plain | TextLexer
#!/usr/bin/env python
"""IPython release script.
This should only be run at real release time.
"""
from toollib import *
# Get main ipython dir, this will raise if it doesn't pass some checks
ipdir = get_ipdir()
tooldir = pjoin(ipdir,'tools')
distdir = pjoin(ipdir,'dist')
# Where I keep static backups of each release
ipbackupdir = os.path.expanduser('~/ipython/backup')
# Start in main IPython dir
cd(ipdir)
# Load release info
execfile(pjoin('IPython','core','release.py'))
print
print "Releasing IPython"
print "================="
print
print 'Source IPython directory:', ipdir
print
# Perform local backup, go to tools dir to run it.
cd(tooldir)
c('./make_tarball.py')
c('mv ipython-*.tgz %s' % ipbackupdir)
# Build release files
c('./build_release %s' % ipdir)
# Register with the Python Package Index (PyPI)
print "Registering with PyPI..."
cd(ipdir)
c('./setup.py register')
# Upload all files
c('./setup.py sdist --formats=gztar,zip upload')
cd(distdir)
print "Uploading distribution files..."
c('scp * ipython@ipython.scipy.org:www/dist/')
print "Uploading backup files..."
cd(ipbackupdir)
c('scp `ls -1tr *tgz | tail -1` ipython@ipython.scipy.org:www/backup/')
print "Done!"