forked from iotaledger/iota.py
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
107 lines (84 loc) · 2.79 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#!/usr/bin/env python
# coding=utf-8
# :bc: Not importing unicode_literals because in Python 2 distutils,
# some values are expected to be byte strings.
from __future__ import absolute_import, division, print_function
from codecs import StreamReader, open
import setuptools
from setuptools import find_packages, setup
##
# Because of the way PyOTA declares its dependencies, it requires a
# more recent version of setuptools.
# https://www.python.org/dev/peps/pep-0508/#environment-markers
from distutils.version import LooseVersion
if LooseVersion(setuptools.__version__) < LooseVersion('20.5'):
import sys
sys.exit('Installation failed: Upgrade setuptools to version 20.5 or later')
##
# Load long description for PyPi.
with open('README.rst', 'r', 'utf-8') as f: # type: StreamReader
long_description = f.read()
##
# Declare test dependencies separately, so that they can be installed
# either automatically (``python setup.py test``) or manually
# (``pip install -e .[test-runner]``).
tests_require = [
'mock; python_version < "3.0"',
'nose',
]
##
# Off we go!
# noinspection SpellCheckingInspection
setup(
name = 'PyOTA',
description = 'IOTA API library for Python',
url = 'https://github.com/iotaledger/iota.lib.py',
version = '2.0.6',
long_description = long_description,
packages =
find_packages('.', exclude=(
'examples', 'examples.*',
'test', 'test.*',
)),
include_package_data = True,
# https://python-packaging.readthedocs.io/en/latest/command-line-scripts.html#the-console-scripts-entry-point
entry_points = {
'console_scripts': [
'pyota-cli=iota.bin.repl:main',
],
},
install_requires = [
'filters',
'pysha3',
# ``security`` extra wasn't introduced until 2.4.1
# https://docs.python-requests.org/en/latest/community/updates/#id35
'requests[security] >= 2.4.1',
'six',
'typing; python_version < "3.0"',
],
extras_require = {
'ccurl': ['pyota-ccurl'],
'docs-builder': ['sphinx', 'sphinx_rtd_theme'],
'test-runner': ['detox'] + tests_require,
},
test_suite = 'test',
test_loader = 'nose.loader:TestLoader',
tests_require = tests_require,
license = 'MIT',
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Topic :: Software Development :: Libraries :: Python Modules',
],
keywords =
'iota,tangle,iot,internet of things,api,library,cryptocurrency,'
'balanced ternary',
author = 'Phoenix Zerin',
author_email = '[email protected]',
)