forked from anttttti/Wordbatch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
86 lines (82 loc) · 3.18 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
#!/usr/bin/env python
import os
import numpy
from Cython.Distutils import build_ext
from setuptools import Extension, setup
if os.name == 'nt':
extra_compile_args = ["/openmp", "/Ox", "/arch:AVX2", "/fp:fast"]
extra_link_args = []
else:
extra_compile_args = ["-O3", "-fopenmp", "-ffast-math", "-mavx2", "-ftree-vectorize", "-std=gnu11"]
extra_link_args = ["-fopenmp"]
setup(
name='Wordbatch',
version='2.0.0.dev0',
description='Python library for distributed AI processing pipelines, using swappable scheduler backends',
url='https://github.com/anttttti/Wordbatch',
author='Antti Puurula',
author_email='[email protected]',
packages=['wordbatch',
'wordbatch.pipelines',
'wordbatch.extractors',
'wordbatch.models',
'wordbatch.transformers'
],
license='GNU GPL 2.0',
classifiers=[
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Cython",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development :: Libraries :: Python Modules",
],
install_requires=['Cython', 'scikit-learn', 'python-Levenshtein', 'py-lz4framed', 'randomgen==1.21.2', 'numpy',
'scipy', 'pandas', 'wheel>=0.33.4'],
extras_require={'dev': ['nltk', 'textblob', 'keras', 'pyspark', 'dask', 'distributed', 'ray']},
cmdclass= {'build_ext': build_ext},
ext_modules= [
Extension("wordbatch.extractors.extractors",
["wordbatch/extractors/extractors.pyx", "wordbatch/extractors/MurmurHash3.cpp"],
libraries= [],
include_dirs=[numpy.get_include(), '.'],
extra_compile_args = extra_compile_args,
extra_link_args=extra_link_args),
Extension("wordbatch.models.ftrl",
["wordbatch/models/ftrl.pyx"],
libraries=[],
include_dirs=[numpy.get_include(), '.'],
extra_compile_args=extra_compile_args,
extra_link_args=extra_link_args),
Extension("wordbatch.models.ftrl32",
["wordbatch/models/ftrl32.pyx"],
libraries=[],
include_dirs=[numpy.get_include(), '.'],
extra_compile_args=extra_compile_args,
extra_link_args=extra_link_args),
Extension("wordbatch.models.fm_ftrl",
["wordbatch/models/fm_ftrl.pyx", "wordbatch/models/avx_ext.c"],
libraries= [],
include_dirs=[numpy.get_include(), '.'],
extra_compile_args = extra_compile_args,
extra_link_args=extra_link_args),
Extension("wordbatch.models.nn_relu_h1",
["wordbatch/models/nn_relu_h1.pyx"],
libraries= [],
include_dirs=[numpy.get_include(), '.'],
extra_compile_args = extra_compile_args,
extra_link_args=extra_link_args),
Extension("wordbatch.models.nn_relu_h2",
["wordbatch/models/nn_relu_h2.pyx"],
libraries= [],
include_dirs=[numpy.get_include(), '.'],
extra_compile_args = extra_compile_args,
extra_link_args=extra_link_args),
]
)