forked from ricklupton/floweaver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
73 lines (63 loc) · 2.23 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
# To use a consistent encoding
import codecs
import re
from os import path
import sys
# Always prefer setuptools over distutils
from setuptools import setup, find_packages
here = path.abspath(path.dirname(__file__))
# This check is here if the user does not have a new enough pip to recognize
# the minimum Python requirement in the metadata.
if sys.version_info < (3, 4):
error = """
floWeaver 2.0.0+ does not support Python 2.x, 3.0, 3.1, 3.2, or 3.3.
Python 3.4 and above is required. This may be due to an out of date pip.
Make sure you have pip >= 9.0.1.
"""
sys.exit(error)
def read(*parts):
with codecs.open(path.join(here, *parts), 'r') as fp:
return fp.read()
def find_version(*file_paths):
version_file = read(*file_paths)
version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]",
version_file, re.M)
if version_match:
return version_match.group(1)
raise RuntimeError("Unable to find version string.")
# Get the long description from the README file
with codecs.open(path.join(here, 'README.rst'), encoding='utf-8') as f:
long_description = f.read()
setup(
name='floweaver',
version=find_version('floweaver', '__init__.py'),
description="View flow data as Sankey diagrams.",
long_description=long_description,
url='https://github.com/ricklupton/floweaver',
author='Rick Lupton',
author_email='[email protected]',
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
],
keywords='Sankey diagram flow data visualisation',
packages=find_packages(exclude=['docs', 'tests']),
python_requires='>=3.5',
install_requires=[
'numpy',
'pandas',
'networkx >=2.1',
'attrs >=17.4',
'palettable',
],
extras_require={
'dev': [],
'test': ['pytest', 'matplotlib', 'codecov', 'pytest-cov'],
'docs': ['sphinx', 'nbsphinx', 'jupyter_client', 'ipykernel', 'ipysankeywidget']
},
)