#!/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!"