-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathsetup.py
77 lines (62 loc) · 1.99 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
from __future__ import absolute_import, division, print_function
from setuptools import setup, find_packages
import os
from os.path import isdir, isfile
import glob
# Makes setup work inside of a virtualenv
use_system_lib = True
if os.environ.get("BUILD_LIB") == "1":
use_system_lib = False
base_dir = os.path.dirname(__file__)
__author__ = "Wu Haifeng"
__email__ = "[email protected]"
# Change this line to the module name you want to create
__title__ = "pyshifu"
__version__ = "0.0.9"
__summary__ = "An end-to-end machine learning and data mining framework on Hadoop."
__uri__ = "https://github.com/shifuml/pyshifu"
__requirements__ = [
'six>=1.11.0'
]
def get_shifu_package_data():
_data_files = add_recursively('pyshifu/java/')
return _data_files
with open(os.path.join(base_dir, "README.rst")) as f:
long_description = f.read()
def add_recursively(directory):
_data_files = {}
if not directory.endswith("/"):
directory += "/"
items = glob.glob(directory + '*')
_files = []
_dirs = []
for item in items:
if isfile(item):
_files.append(item)
elif isdir(item):
_dirs.append(item)
_data_files[directory] = _files
for _dir in _dirs:
_data_files.update(add_recursively(_dir))
return _data_files
setup(
name=__title__,
version=__version__,
description=__summary__,
long_description=long_description,
packages=find_packages(exclude=['tests']),
include_package_data=True,
package_data=get_shifu_package_data(),
author=__author__,
author_email=__email__,
url=__uri__,
zip_safe=False,
install_requires=__requirements__,
data_files=[
('', ['ReleaseNotes.md']),
],
# For data inside packages can use the automatic inclusion
# include_package_data = True,
# or the explicit inclusion, eg:
# package_data = { 'package_name': ['data.file1', 'data.file2' , ...] }
)