freqtrade_origin/setup.py
2024-07-08 06:44:52 +02:00

127 lines
2.4 KiB
Python

from setuptools import setup
# Requirements used for submodules
plot = ["plotly>=4.0"]
hyperopt = [
"scipy",
"scikit-learn",
"ft-scikit-optimize>=0.9.2",
"filelock",
]
freqai = [
"scikit-learn",
"joblib",
'catboost; platform_machine != "aarch64"',
"lightgbm",
"xgboost",
"tensorboard",
"datasieve>=0.1.5",
]
freqai_rl = [
"torch",
"gymnasium",
"stable-baselines3",
"sb3-contrib",
"tqdm",
]
hdf5 = [
"tables",
"blosc",
]
develop = [
"coveralls",
"isort",
"mypy",
"pre-commit",
"pytest-asyncio",
"pytest-cov",
"pytest-mock",
"pytest-random-order",
"pytest",
"ruff",
"time-machine",
"types-cachetools",
"types-filelock",
"types-python-dateutil" "types-requests",
"types-tabulate",
]
jupyter = [
"jupyter",
"nbstripout",
"ipykernel",
"nbconvert",
]
all_extra = plot + develop + jupyter + hyperopt + hdf5 + freqai + freqai_rl
setup(
tests_require=[
"pytest",
"pytest-asyncio",
"pytest-cov",
"pytest-mock",
],
install_requires=[
# from requirements.txt
"ccxt>=4.3.24",
"SQLAlchemy>=2.0.6",
"python-telegram-bot>=20.1",
"humanize>=4.0.0",
"cachetools",
"requests",
"httpx>=0.24.1",
"urllib3",
"jsonschema",
"numpy<2.0",
"pandas>=2.2.0,<3.0",
"TA-Lib",
"pandas-ta",
"technical",
"tabulate",
"pycoingecko",
"py_find_1st",
"python-rapidjson",
"orjson",
"jinja2",
"questionary",
"prompt-toolkit",
"joblib>=1.2.0",
"rich",
'pyarrow; platform_machine != "armv7l"',
"fastapi",
"pydantic>=2.2.0",
"pyjwt",
"websockets",
"uvicorn",
"psutil",
"schedule",
"janus",
"ast-comments",
"aiofiles",
"aiohttp",
"cryptography",
"sdnotify",
"python-dateutil",
"pytz",
"packaging",
"freqtrade-client",
],
extras_require={
"dev": all_extra,
"plot": plot,
"jupyter": jupyter,
"hyperopt": hyperopt,
"hdf5": hdf5,
"freqai": freqai,
"freqai_rl": freqai_rl,
"all": all_extra,
},
url="https://github.com/freqtrade/freqtrade",
)