generated from ThalesGroup/template-project
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetup.py
64 lines (59 loc) · 1.69 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
import sys
import warnings
from setuptools import setup, find_packages
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
interactive = [
'notebook==5.7.10',
'jupyter_contrib_nbextensions',
'jupyter_nbextensions_configurator',
'matplotlib',
'networkx',
'seaborn',
'plotly',
'pandas',
'prince', # for Correspondence Analysis
'nltk' # for notebook of text processing
]
metrics = ['sparsebm==1.3'] # for Co-clustering ARI (CARI) only
tests = ['pytest', 'jinja2==3.1.4']
if (sys.version_info.major, sys.version_info.minor) != (3, 7):
warnings.warn(
'Python version is different from 3.7 -> spherecluster package '
'will not be installed, so initializations with spherical k-means '
'will not be possible.'
)
initialization = ['scikit-learn']
base = [
'numpy',
'scipy',
'numba'
]
else:
warnings.warn(
'Python version is 3.7 -> spherecluster package can be installed '
'so initializations with spherical k-means are possible'
)
initialization = ['spherecluster', 'scikit-learn==0.20']
base = [
'numpy==1.21',
'scipy',
'numba'
]
all_extras = interactive + initialization + metrics + tests
setup(
name='dcblockmodels',
version='1.0.0',
description='Dynamic and constrained block models',
install_requires=base,
extras_require={
'interactive': interactive,
'intialization': initialization,
'metrics': metrics,
'all': all_extras
},
long_description=long_description,
long_description_content_type='text/markdown',
tests_require=tests,
packages=find_packages()
)