forked from iotaledger/iota.py
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
110 lines (89 loc) · 3.22 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
108
109
110
#!/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
from distutils.version import LooseVersion
import setuptools
##
# 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
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('docs/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
setuptools.setup(
name='PyOTA',
description='IOTA API library for Python',
url='https://github.com/iotaledger/iota.py',
version='2.3.0b1',
long_description=long_description,
packages=setuptools.find_packages('.', exclude=(
'examples', 'examples.*',
'test', 'test.*',
)),
include_package_data=True,
# http://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',
],
},
# filters is no longer maintained and does not support Python 3.7
# phx-filters is a fork that supports 3.7 and 3.8 but not 2.7
install_requires=[
'filters; python_version < "3.5"',
'phx-filters; python_version >= "3.5"',
'pysha3',
# ``security`` extra wasn't introduced until 2.4.1
# http://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'],
'pow': ['pyota-pow >= 1.0.2'],
'docs-builder': ['sphinx', 'sphinx_rtd_theme'],
# tox is able to run the tests in parallel since version 3.7
'test-runner': ['tox >= 3.7'] + 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',
'Programming Language :: Python :: 3.7',
'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]',
)