forked from hyperledger/indy-plenum
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
75 lines (67 loc) · 2.87 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
import os
import sys
from setuptools import setup, find_packages
v = sys.version_info
if sys.version_info < (3, 5):
msg = "FAIL: Requires Python 3.5 or later, " \
"but setup.py was run using {}.{}.{}"
v = sys.version_info
print(msg.format(v.major, v.minor, v.micro))
# noinspection PyPackageRequirements
print("NOTE: Installation failed. Run setup.py using python3")
sys.exit(1)
# Change to ioflo's source directory prior to running any command
try:
SETUP_DIRNAME = os.path.dirname(__file__)
except NameError:
# We're probably being frozen, and __file__ triggered this NameError
# Work around this
SETUP_DIRNAME = os.path.dirname(sys.argv[0])
if SETUP_DIRNAME != '':
os.chdir(SETUP_DIRNAME)
SETUP_DIRNAME = os.path.abspath(SETUP_DIRNAME)
METADATA = os.path.join(SETUP_DIRNAME, 'plenum', '__metadata__.py')
# Load the metadata using exec() so we don't trigger an import of ioflo.__init__
exec(compile(open(METADATA).read(), METADATA, 'exec'))
tests_require = ['pytest', 'pytest-xdist', 'python3-indy']
setup(
name='indy-plenum-dev',
version=__version__,
description='Plenum Byzantine Fault Tolerant Protocol',
long_description='Plenum Byzantine Fault Tolerant Protocol',
url='https://github.com/hyperledger/indy-plenum',
download_url='https://github.com/hyperledger/indy-plenum/tarball/{}'.
format(__version__),
author=__author__,
author_email='hyperledger-indy@lists.hyperledger.org',
license=__license__,
keywords='Byzantine Fault Tolerant Plenum',
packages=find_packages(exclude=['test', 'test.*', 'docs', 'docs*']) + [
'data', ],
package_data={
'': ['*.txt', '*.md', '*.rst', '*.json', '*.conf', '*.html',
'*.css', '*.ico', '*.png', 'LICENSE', 'LEGAL', 'plenum']},
include_package_data=True,
install_requires=['jsonpickle', 'ujson==1.33',
'prompt_toolkit==0.57', 'pygments',
'rlp', 'sha3', 'leveldb',
'ioflo==1.5.4', 'semver', 'base58', 'orderedset',
'sortedcontainers==1.5.7', 'psutil', 'pip',
'portalocker==0.5.7', 'pyzmq', 'raet',
'psutil', 'intervaltree', 'msgpack-python==0.4.6', 'indy-crypto==0.2.0'],
setup_requires=['pytest-runner'],
extras_require={
'tests': tests_require,
'stats': ['python-firebase'],
'benchmark': ['pympler']
},
tests_require=tests_require,
scripts=['scripts/plenum', 'scripts/init_plenum_keys',
'scripts/start_plenum_node',
'scripts/generate_plenum_pool_transactions',
'scripts/gen_steward_key', 'scripts/gen_node',
'scripts/export-gen-txns', 'scripts/get_keys',
'scripts/udp_sender', 'scripts/udp_receiver', 'scripts/filter_log',
'scripts/log_stats',
'scripts/init_bls_keys']
)