-
Notifications
You must be signed in to change notification settings - Fork 147
/
setup.py
102 lines (89 loc) · 3.43 KB
/
setup.py
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/usr/bin/env python
# -*- coding: utf-8 -*-
""" distribute- and pip-enabled setup.py """
import logging
import os
import shutil
import glob
import sys
DISTNAME = 'skdata'
DESCRIPTION = 'Data Sets for Machine Learning in Python'
LONG_DESCRIPTION = """
Skdata is a library of datasets for empirical computer science. Lots of
disciplines such as machine learning, natural language processing, and computer
vision have data sets. This module makes the most popular and standard datasets
(even the big awkward ones) easy to access from Python programs.
Thanks
------
This work was supported in part by the National Science Foundation (IIS-0963668).
"""
MAINTAINER = 'James Bergstra'
MAINTAINER_EMAIL = '[email protected]'
URL = 'http://jaberg.github.com/skdata/'
LICENSE = 'BSD License'
DOWNLOAD_URL = 'https://github.com/jaberg/skdata/tarball/master'
VERSION = '0.0.4'
import setuptools # we are using a setuptools namespace
from numpy.distutils.core import setup
if __name__ == "__main__":
old_path = os.getcwd()
local_path = os.path.dirname(os.path.abspath(sys.argv[0]))
# python 3 compatibility stuff.
# Simplified version of scipy strategy: copy files into
# build/py3k, and patch them using lib2to3.
if sys.version_info[0] == 3:
try:
import lib2to3cache
except ImportError:
pass
local_path = os.path.join(local_path, 'build', 'py3k')
if os.path.exists(local_path):
shutil.rmtree(local_path)
print("Copying source tree into build/py3k for 2to3 transformation"
"...")
shutil.copytree(os.curdir, local_path,
ignore=shutil.ignore_patterns('build', '.git'))
import lib2to3.main
from io import StringIO
print("Converting to Python3 via 2to3...")
_old_stdout = sys.stdout
try:
sys.stdout = StringIO() # supress noisy output
res = lib2to3.main.main("lib2to3.fixes",
['-w', local_path])
finally:
sys.stdout = _old_stdout
if res != 0:
raise Exception('2to3 failed, exiting ...')
os.chdir(local_path)
sys.path.insert(0, local_path)
setup(name=DISTNAME,
maintainer=MAINTAINER,
packages=setuptools.find_packages(),
include_package_data=True,
package_data={'skdata': ['data/*', 'descr/*', 'images/*.jpg',
'iris/*.csv', 'tests/*.xml']},
maintainer_email=MAINTAINER_EMAIL,
description=DESCRIPTION,
license=LICENSE,
url=URL,
version=VERSION,
download_url=DOWNLOAD_URL,
long_description=LONG_DESCRIPTION,
zip_safe=True, # the package can run out of an .egg file
install_requires=open('requirements.txt').read().split('\n'),
scripts=glob.glob(os.path.join("bin","*")),
classifiers=[
'Intended Audience :: Science/Research',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
#'Programming Language :: C',
'Programming Language :: Python',
'Topic :: Software Development',
'Topic :: Scientific/Engineering',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Operating System :: Unix',
'Operating System :: MacOS'
]
)