forked from nautechsystems/nautilus_trader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
124 lines (116 loc) · 3.83 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
[tool.poetry]
name = "nautilus_trader"
version = "1.154.0"
description = "A high-performance algorithmic trading platform and event-driven backtester"
authors = ["Nautech Systems <[email protected]>"]
license = "LGPL-3.0-or-later"
readme = "README.md"
homepage = "https://nautilustrader.io"
repository = "https://github.com/nautechsystems/nautilus_trader"
classifiers = [
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
"Operating System :: OS Independent",
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Scientific/Engineering",
"Topic :: Office/Business :: Financial",
"Topic :: Office/Business :: Financial :: Investment",
"Intended Audience :: Developers",
"Intended Audience :: Financial and Insurance Industry",
"Intended Audience :: Science/Research",
]
include = [
# Rust source must be included in the source distributions
{ path = "nautilus_core/*", format = "sdist" },
{ path = "nautilus_core/*[!target]*/*", format = "sdist" },
# Compiled extensions must be included in the wheel distributions
{ path = "nautilus_trader/**/*.so", format = "wheel" },
{ path = "nautilus_trader/**/*.pyd", format = "wheel" },
]
[build-system]
requires = [
"setuptools",
"poetry-core>=1.1.0",
"numpy>=1.23.2",
"Cython==3.0.0a9",
]
build-backend = "poetry.core.masonry.api"
[tool.poetry.build]
script = "build.py"
generate-setup-file = false
[tool.poetry.dependencies]
python = ">=3.8,<3.11"
cython = "3.0.0a9" # Pinned at 3.0.0a9
aiodns = "^3.0.0"
aiohttp = "^3.8.1"
click = "^8.1.3"
cloudpickle = "^2.2.0"
frozendict = "^2.3.2"
fsspec = "^2022.8.2"
msgspec = "^0.8.0"
numpy = "^1.23.2"
pandas = "^1.4.4"
psutil = "^5.9.2"
pyarrow = "^8.0.0"
pydantic = "^1.10.2"
pytz = "^2022.2.1"
tabulate = "^0.8.10"
toml = "^0.10.2"
tqdm = "^4.64.1"
uvloop = { version = "^0.16.0", markers = "sys_platform != 'win32'" }
hiredis = { version = "^2.0.0", optional = true }
hyperopt = { version = "^0.2.7", optional = true }
ib_insync = { version = "^0.9.70", optional = true }
redis = { version = "^4.3.4", optional = true }
# Removed due to 3.10 windows build issue - https://github.com/docker/docker-py/issues/2902
# docker = {version = "^5.0.3", optional = true }
[tool.poetry.dev-dependencies]
coverage = "6.4.4"
nox = "^2022.8.7"
numpydoc = "^1.4.0"
pre-commit = "^2.20.0"
pytest = "^7.1.3"
pytest-asyncio = "^0.18.3" # Pinned at 0.18.x due breaking changes for 0.19.x
pytest-benchmark = "^3.4.1"
pytest-cov = "3.0.0"
pytest-mock = "^3.8.2"
pytest-xdist = { version = "^2.5.0", extras = ["psutil"] }
linkify-it-py = "^2.0.0"
myst-parser = "^0.18.0"
sphinx_comments = "^0.0.3"
sphinx_copybutton = "^0.5.0"
sphinx-external-toc = "^0.3.0"
sphinx-material = "^0.0.35"
sphinx_togglebutton = "^0.3.0"
[tool.poetry.extras]
hyperopt = ["hyperopt"]
ib = ["ib_insync"]
redis = ["hiredis", "redis"]
##########################################################
# Test configs #
##########################################################
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra --new-first --failed-first --doctest-modules --doctest-glob=\"*.pyx\""
filterwarnings = [
"ignore::UserWarning",
"ignore::DeprecationWarning",
]
[tool.coverage.run]
plugins = ["Cython.Coverage"]
source = ["nautilus_trader"]
omit = [
"nautilus_trader/adapters/binance*",
"nautilus_trader/adapters/deribit*",
"nautilus_trader/adapters/ftx*",
"nautilus_trader/adapters/ib*",
"nautilus_trader/examples*",
"nautilus_trader/persistence/migrations/*",
]
[tool.coverage.report]
fail_under = 0
show_missing = true