-
Notifications
You must be signed in to change notification settings - Fork 135
/
pyproject.toml
126 lines (107 loc) · 4.78 KB
/
pyproject.toml
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
120
121
122
123
124
125
126
[tool.poetry]
name = "web3-ethereum-defi"
version = "0.27"
description = "Python library for Uniswap, Aave, ChainLink, Enzyme and other protocols on BNB Chain, Polygon, Ethereum and other blockchains"
authors = ["Mikko Ohtamaa <[email protected]>"]
license = "MIT"
homepage = "https://web3-ethereum-defi.readthedocs.io/"
repository = "https://github.com/tradingstrategy-ai/web3-ethereum-defi"
readme = "README.md"
keywords = ["ethereum", "cryptocurrency", "uniswap", "erc-20", "pancakeswap", "bnb smart chain", "polygon", "web3", "blockchain", "avalanche", "arbitrum", "chainlink"]
packages = [
{ include = "eth_defi" },
]
# See PyPi for supported links https://github.com/pypi/warehouse/blob/main/warehouse/templates/packaging/detail.html
# https://stackoverflow.com/a/74394591/315168
# https://pypi.org/project/links-demo/
[tool.poetry.urls]
Changelog = "https://github.com/tradingstrategy-ai/web3-ethereum-defi/blob/master/CHANGELOG.md"
Documentation = "https://web3-ethereum-defi.readthedocs.io/"
Twitter = "https://twitter.com/tradingprotocol"
Youtube = "https://www.youtube.com/@tradingstrategyprotocol"
Discord = "https://discord.gg/5M88m9nM8H"
Sponsor = "https://tradingstrategy.ai"
[tool.poetry.dependencies]
python = ">=3.10,<4"
# https://github.com/apache/arrow/pull/35412
# Last checked 2023-07, still broken
urllib3 = "<2"
psutil = "^5.9.0"
ujson = ">=5.8.0"
cachetools = ">=4,<=6"
futureproof = "^0.3.1"
setuptools = {version = ">=64.0.2,<=70"}
eth-bloom = "^2.0.0"
evm-trace = "^0.1.0a17"
web3 = {version = "6.14.0", extras = ["tester"]}
tqdm-loggable = ">=0.1.3"
sigfig = "^1.3.2"
tqdm = {version = ">=4.66.1", optional = true}
# Some packages have still compatibility issues with Numpy 2.x release,
# too tired to deal with them now
numpy = {version = "<2", optional = true}
pandas = {version = ">=1.5", optional = true}
gql = {extras = ["requests"], version = "^3.3.0", optional = true}
jupyter = {version = "^1.0.0", optional = true}
matplotlib = {version = "^3.5.2", optional = true}
plotly = {version = "^5.8.2", optional = true}
pyarrow = {version = "*", optional = true}
pytest-xdist = {version = "^3.3.1", optional = true}
# Docs
Sphinx = {version = "^4.5.0", optional = true}
sphinx-sitemap = {version = "^2.2.0", optional = true}
sphinx-autodoc-typehints = {version = "^1.16.0", optional = true}
nbsphinx = {version = "^0.8.9", optional = true}
sphinx-rtd-theme = {version = "^1.0.0", optional = true}
zope-dottedname = {version = "^6.0", optional = true}
furo = {version = "^2022.6.4.1", optional = true}
sphinxcontrib-applehelp = {version = "1.0.4", optional = true} # Version pindowns https://github.com/sphinx-doc/sphinxcontrib-applehelp/blob/master/CHANGES
sphinxcontrib-devhelp = {version = "1.0.2", optional = true} # Version pindowns https://github.com/sphinx-doc/sphinxcontrib-devhelp/blob/master/CHANGES
sphinxcontrib-htmlhelp = {version = "2.0.1", optional = true} # Version pindowns https://github.com/sphinx-doc/sphinxcontrib-htmlhelp/blob/master/CHANGES
sphinxcontrib-serializinghtml = {version = "1.1.5", optional = true} # Version pindowns https://github.com/sphinx-doc/sphinxcontrib-serializinghtml/blob/master/CHANGES
sphinxcontrib-qthelp = {version = "1.0.3", optional = true} # Version pindowns https://github.com/sphinx-doc/sphinxcontrib-qthelp/blob/master/CHANGES
# Removed
# Only soft dependency in tests, but RTD complains
# terms-of-service = {path = "contracts/terms-of-service", develop = true}
multicall = "^0.9.0"
safe-eth-py = "6.0.0b42"
[tool.poetry.dev-dependencies]
pytest = "^7.4.3"
pytest-mock = "^3.7.0"
ipdb = "^0.13.9"
flake8 = "^4.0.1"
flaky = "^3.7.0"
# See discussion https://github.com/python-poetry/poetry/issues/3348#issuecomment-726534462
[tool.poetry.extras]
docs = ["Sphinx", "sphinx-rtd-theme", "sphinx-sitemap", "sphinx-autodoc-typehints", "furo", "nbsphinx", "zope.dottedname", "sphinx-sitemap", "sphinx-rtd-theme"]
data = ["jupyter", "tqdm", "pandas", "gql", "matplotlib", "plotly", "pyarrow", "numpy"]
test = ["pytest-xdist"]
# Since new Poetry version
# TODO: CLean up dev dep gorups
[tool.poetry.group.dev.dependencies]
black = "^23.3.0"
coloredlogs = "^15.0.1"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
addopts = "--capture=no"
# Do not let pytest to crawl into contracts/ subprojects
# that contain tests and are independent from us
# https://stackoverflow.com/a/58306308/315168
norecursedirs="contracts/*"
filterwarnings = [
"ignore::DeprecationWarning:pkg_resources.*:",
"ignore::DeprecationWarning:eth_tester.*:",
]
# We hate arbitrary line lengths
[tool.black]
line-length = 999
[tool.isort]
profile = "black"
# We hate arbitrary line lengths
[flake8]
max-line-length = 999
extend-ignore = "E203"
[tool.poetry.scripts]
install-aave-for-testing = 'eth_defi.aave_v3.deployer:install_aave_for_testing'