##// END OF EJS Templates
don't import numpy in pickleutil until it is used...
don't import numpy in pickleutil until it is used can affect startup time, memory usage, etc. as seen in #4199

File last commit:

r12487:3975d000
r12541:68af896f
Show More
release
72 lines | 1.8 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 *
from gh_api import post_download
# 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(sdists + ' upload')
cd(distdir)
print( 'Uploading distribution files...')
for fname in os.listdir('.'):
# GitHub doesn't have an API for uploads at the moment
continue
print('uploading %s to GitHub' % fname)
desc = "IPython %s source distribution" % version
post_download("ipython/ipython", fname, description=desc)
# Make target dir if it doesn't exist
sh('ssh %s "mkdir -p %s/release/%s" ' % (archive_user, archive_dir, version))
sh('scp * %s' % release_site)
print( 'Uploading backup files...')
cd(ipbackupdir)
sh('scp `ls -1tr *tgz | tail -1` %s' % backup_site)
print('Done!')