forked from ethereum/py-evm
-
Notifications
You must be signed in to change notification settings - Fork 1
/
setup.py
119 lines (110 loc) · 3.45 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
111
112
113
114
115
116
117
118
119
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from setuptools import setup, find_packages
deps = {
'eth': [
"blake2b-py>=0.1.2,<0.2",
"cached-property>=1.5.1,<2",
"eth-bloom>=1.0.3,<2.0.0",
"eth-keys>=0.2.1,<0.3.0",
"eth-typing>=2.2.0,<3.0.0",
"eth-utils>=1.7.0,<2.0.0",
"lru-dict>=1.1.6",
"mypy_extensions>=0.4.1,<1.0.0",
"py-ecc>=1.4.7,<2.0.0",
"pyethash>=0.1.27,<1.0.0",
"rlp>=1.1.0,<2.0.0",
"trie>=1.4.0,<2.0.0",
],
# The eth-extra sections is for libraries that the evm does not
# explicitly need to function and hence should not depend on.
# Installing these libraries may make the evm perform better than
# using the default fallbacks though.
'eth-extra': [
"coincurve>=10.0.0,<11.0.0",
"eth-hash[pysha3];implementation_name=='cpython'",
"eth-hash[pycryptodome];implementation_name=='pypy'",
"plyvel>=1.0.5,<1.2.0",
],
'test': [
"factory-boy==2.11.1",
"hypothesis==3.69.5",
"pexpect>=4.6, <5",
"pytest>=5.1.3,<6",
"pytest-asyncio>=0.10.0,<0.11",
"pytest-cov==2.5.1",
"pytest-watch>=4.1.0,<5",
"pytest-xdist==1.18.1",
],
'lint': [
"flake8==3.5.0",
"flake8-bugbear==18.8.0",
"mypy==0.701",
],
'benchmark': [
"termcolor>=1.1.0,<2.0.0",
"web3>=4.1.0,<5.0.0",
],
'doc': [
"py-evm>=0.2.0-alpha.14",
# We need to have pysha for autodoc to be able to extract API docs
"pysha3>=1.0.0,<2.0.0",
"pytest~=3.2",
# Sphinx pined to `<1.8.0`: https://github.com/sphinx-doc/sphinx/issues/3494
"Sphinx>=1.5.5,<1.8.0",
"sphinx_rtd_theme>=0.1.9",
"sphinxcontrib-asyncio>=0.2.0",
"towncrier>=19.2.0, <20",
],
'dev': [
"bumpversion>=0.5.3,<1",
"wheel",
"setuptools>=36.2.0",
# Fixing this dependency due to: requests 2.20.1 has requirement
# idna<2.8,>=2.5, but you'll have idna 2.8 which is incompatible.
"idna==2.7",
# idna 2.7 is not supported by requests 2.18
"requests>=2.20,<3",
"tox==2.7.0",
"twine",
],
}
deps['dev'] = (
deps['dev'] +
deps['eth'] +
deps['eth-extra'] +
deps['test'] +
deps['doc'] +
deps['lint']
)
install_requires = deps['eth']
with open('README.md') as readme_file:
long_description = readme_file.read()
setup(
name='py-evm',
# *IMPORTANT*: Don't manually change the version here. Use the 'bumpversion' utility.
version='0.3.0-alpha.8',
description='Python implementation of the Ethereum Virtual Machine',
long_description=long_description,
long_description_content_type='text/markdown',
author='Ethereum Foundation',
author_email='[email protected]',
url='https://github.com/ethereum/py-evm',
include_package_data=True,
py_modules=['eth'],
install_requires=install_requires,
extras_require=deps,
license='MIT',
zip_safe=False,
keywords='ethereum blockchain evm',
packages=find_packages(exclude=["tests", "tests.*"]),
package_data={'eth': ['py.typed']},
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Natural Language :: English',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
],
)