tensortrade-org / tensortrade

An open source reinforcement learning framework for training, evaluating, and deploying robust trading agents.
https://discord.gg/ZZ7BGWh
Apache License 2.0
4.52k stars 1.02k forks source link

All packages now refer to setup.py. #427

Closed abstractguy closed 2 years ago

abstractguy commented 2 years ago
requirements.txt and examples/requirements.txt now reference setup.py.
install_requires is now only numpy>=1.17.0, pandas>=0.25.0, gym>=0.15.7, pyyaml>=5.1.2, matplotlib>=3.1.1, plotly>=4.5.0 and deprecated>=1.2.13.
Upgraded to ray==1.10.0 as a separate extra.
Added stable-baselines3[extra] and sb3-contrib as a separate extra.
Upgraded to tensorflow==2.8.0 as a separate extra.
torch>=1.10.2 is a separate extra.
indicators_requires now include pandas-ta, TA-Lib, quantstats as well as ta>=0.4.7
agents_requires (borrowed from xagents, for a later update) require pyarrow, wandb, tensorflow-probability>=0.15.0 and opencv-python, which will be removed when the code is cleansed from it
support is added for python-binance and binance-futures for a later update
Jupyter notebook is supported as an extra with jupyterlab>=1.1.4, ipython>=7.12.0 and ipywidgets>=7.0.0
tests_requires and docs_requires are unchanged.
optional_requires concatenates all the above options for a one option install of all options.
carlogrisetti commented 2 years ago

Doesn't this prevent users to do a pip install -r requirements.txt ? How do you keep that "functionality" ?

abstractguy commented 2 years ago

Doesn't this prevent users to do a pip install -r requirements.txt ? How do you keep that "functionality" ?

It doesn't change the old behavior at all. The single dot inside requirements.txt just refers to the packages defined in install_requires, in the setup.py file. This will prevent multiple (and conflicting) definitions, such as those inconsistencies fixed by the commits from yesterday, while enabling custom (partial) installs, say you don't want tensorflow or pytorch or ray or stable_baselines; you just specify those extras you want in that case. The "optional" extra groups all extra requirements, for a more concise install (pip install tensortrade[optional]).