1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
#!/usr/bin/env python
##########################################################
# The setup.py for the Sage Notebook
##########################################################
import os
from setuptools import setup
def lremove(string, prefix):
while string.startswith(prefix):
string = string[len(prefix):]
return string
def all_files(dir, prefix):
"""
Return list of all filenames in the given directory, with prefix
stripped from the left of the filenames.
"""
X = []
for F in os.listdir(dir):
ab = dir+'/'+F
if os.path.isfile(ab):
X.append(lremove(ab, prefix))
elif os.path.isdir(ab):
X.extend(all_files(ab, prefix))
return X
install_requires = [
'twisted>=11.0.0',
'flask>=0.10.1',
'flask-oldsessions>=0.10',
'flask-openid',
'flask-autoindex',
'flask-babel'
]
setup(name='sagenb',
version = '0.13',
description = 'The Sage Notebook',
license = 'GNU General Public License (GPL) v3+',
author = 'William Stein et al.',
author_email= 'sage-notebook@googlegroups.com',
url = 'http://github.com/sagemath/sagenb',
install_requires = install_requires,
dependency_links = [
'http://github.com/mitsuhiko/flask-oldsessions/tarball/master#egg=flask-oldsessions-0.10'
],
test_suite = 'sagenb.testing.run_tests.all_tests',
packages = [ 'sagenb'
, 'sagenb.flask_version'
, 'sagenb.interfaces'
, 'sagenb.misc'
, 'sagenb.notebook'
, 'sagenb.notebook.compress'
, 'sagenb.simple'
, 'sagenb.storage'
, 'sagenb.testing'
, 'sagenb.testing.tests'
, 'sagenb.testing.selenium'
],
scripts = [ 'sagenb/data/sage3d/sage3d',
],
package_data = {'sagenb':
all_files('sagenb/data', 'sagenb/') +
all_files('sagenb/translations', 'sagenb/')
},
zip_safe = False,
)
|