##// END OF EJS Templates
Fix broken download URL for PyPI in setup call, minor readme updates.
Fix broken download URL for PyPI in setup call, minor readme updates.

File last commit:

r4457:464280a0
r4459:bee5f8ab
Show More
release
63 lines | 1.5 KiB | text/plain | TextLexer
#!/usr/bin/env python
"""IPython release script.
This should ONLY be run at real release time.
"""
from __future__ import print_function
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'))
# Build site addresses for file uploads
release_site = '%s/release/%s' % (archive, version)
backup_site = '%s/backup/' % archive
# Start actual release process
print()
print('Releasing IPython')
print('=================')
print()
print('Version:', version)
print()
print('Source IPython directory:', ipdir)
print()
# Perform local backup, go to tools dir to run it.
cd(tooldir)
sh('./make_tarball.py')
sh('mv ipython-*.tgz %s' % ipbackupdir)
# Build release files
sh('./build_release %s' % ipdir)
# Register with the Python Package Index (PyPI)
print( 'Registering with PyPI...')
cd(ipdir)
sh('./setup.py register')
# Upload all files
sh('./setup.py sdist --formats=gztar,zip upload')
cd(distdir)
print( 'Uploading distribution files...')
# FIXME: this assumes the path *with the version number* exists on the server
sh('scp * %s' % release_site)
print( 'Uploading backup files...')
cd(ipbackupdir)
# FIXME: this assumes the path *with the version number* exists on the server
sh('scp `ls -1tr *tgz | tail -1` %s' % backup_site)
print('Done!')