Remove selenium (#2898)

* Removed selenium dependency

* Removed unused file

Co-authored-by: James Maslek <jmaslek11@gmail.com>
This commit is contained in:
Colin Delahunty
2022-10-18 16:15:38 +02:00
committed by GitHub
parent 84b04351de
commit 99fc1be4cf
7 changed files with 2180 additions and 646 deletions

View File

@@ -1,140 +0,0 @@
""" Check config_terminal.py """
__docformat__ = "numpy"
import sys
import os
from typing import List
# pylint: disable=W0105
"""
Disables this for a better solution. Here is the code to add in custom pre-commit items
- repo: local
hooks:
- id: check-config
name: check-config
entry: python custom_pre_commit/check_config_terminal.py
language: python
language_version: python3
types: ["file"]
pass_filenames: false
"""
# This is a dictionary of all settings to check in config_terminal.py
settings = {
"DEBUG_MODE": "DEBUG_MODE = False",
"PAPERMILL_NOTEBOOK_REPORT_PORT": 'PAPERMILL_NOTEBOOK_REPORT_PORT = "8888"',
"LOGGING_VERBOSITY": "LOGGING_VERBOSITY = 0",
"LOGGING_HANDLERS": 'LOGGING_HANDLERS = os.getenv("OPENBB_LOGGING_HANDLERS") or "file"',
"LOGGING_ID": 'LOGGING_ID = os.getenv("OPENBB_LOGGING_ID") or None',
"LOGGING_FILE": 'LOGGING_FILE = ""',
"LOGGING_VERSION": 'LOGGING_VERSION = os.getenv("OPENBB_LOGGING_VERSION") or "ver:1.0.0"',
"API_KEY_ALPHAVANTAGE": 'API_KEY_ALPHAVANTAGE = os.getenv("OPENBB_API_KEY_ALPHAVANTAGE") or "REPLACE_ME"',
"API_KEY_QUANDL": 'API_KEY_QUANDL = os.getenv("OPENBB_API_KEY_QUANDL") or "REPLACE_ME"',
"API_REDDIT_CLIENT_ID": 'API_REDDIT_CLIENT_ID = os.getenv("OPENBB_API_REDDIT_CLIENT_ID") or "REPLACE_ME"',
"API_REDDIT_CLIENT_SECRET": 'API_REDDIT_CLIENT_SECRET = os.getenv("OPENBB_API_REDDIT_CLIENT_SECRET") or "REPLACE_ME"',
"API_REDDIT_USERNAME": 'API_REDDIT_USERNAME = os.getenv("OPENBB_API_REDDIT_USERNAME") or "REPLACE_ME"',
"API_REDDIT_USER_AGENT": 'API_REDDIT_USER_AGENT = os.getenv("OPENBB_API_REDDIT_USER_AGENT") or "REPLACE_ME"',
"API_REDDIT_PASSWORD": 'API_REDDIT_PASSWORD = os.getenv("OPENBB_API_REDDIT_PASSWORD") or "REPLACE_ME"',
"API_POLYGON_KEY": 'API_POLYGON_KEY = os.getenv("OPENBB_API_POLYGON_KEY") or "REPLACE_ME"',
"API_TWITTER_KEY ": 'API_TWITTER_KEY = os.getenv("OPENBB_API_TWITTER_KEY") or "REPLACE_ME"',
"API_TWITTER_SECRET_KEY": 'API_TWITTER_SECRET_KEY = os.getenv("OPENBB_API_TWITTER_SECRET_KEY") or "REPLACE_ME"',
"API_TWITTER_BEARER_TOKEN": 'API_TWITTER_BEARER_TOKEN = os.getenv("OPENBB_API_TWITTER_BEARER_TOKEN") or "REPLACE_ME"',
"API_FRED_KEY": 'API_FRED_KEY = os.getenv("OPENBB_API_FRED_KEY") or "REPLACE_ME"',
"API_NEWS_TOKEN": 'API_NEWS_TOKEN = os.getenv("OPENBB_API_NEWS_TOKEN") or "REPLACE_ME"',
"RH_USERNAME": 'RH_USERNAME = os.getenv("OPENBB_RH_USERNAME") or "REPLACE_ME"',
"RH_PASSWORD": 'RH_PASSWORD = os.getenv("OPENBB_RH_PASSWORD") or "REPLACE_ME"',
"DG_USERNAME": 'DG_USERNAME = os.getenv("OPENBB_DG_USERNAME") or "REPLACE_ME"',
"DG_PASSWORD": 'DG_PASSWORD = os.getenv("OPENBB_DG_PASSWORD") or "REPLACE_ME"',
"DG_TOTP_SECRET": 'DG_TOTP_SECRET = os.getenv("OPENBB_DG_TOTP_SECRET") or None',
"OANDA_ACCOUNT_TYPE": 'OANDA_ACCOUNT_TYPE = os.getenv("OPENBB_OANDA_ACCOUNT_TYPE") or "practice"',
"OANDA_ACCOUNT": 'OANDA_ACCOUNT = os.getenv("OPENBB_OANDA_ACCOUNT") or "REPLACE_ME"',
"OANDA_TOKEN": 'OANDA_TOKEN = os.getenv("OPENBB_OANDA_TOKEN") or "REPLACE_ME"',
"API_TRADIER_TOKEN": 'API_TRADIER_TOKEN = os.getenv("OPENBB_API_TRADIER_TOKEN") or "REPLACE_ME"',
"WEBDRIVER_TO_USE": 'WEBDRIVER_TO_USE = "chrome"',
"PATH_TO_SELENIUM_DRIVER": 'PATH_TO_SELENIUM_DRIVER = None # Replace with "PATH"',
"API_CMC_KEY": 'API_CMC_KEY = os.getenv("OPENBB_API_CMC_KEY") or "REPLACE_ME"',
"API_BINANCE_KEY": 'API_BINANCE_KEY = os.getenv("OPENBB_API_BINANCE_KEY") or "REPLACE_ME"',
"API_BINANCE_SECRET": 'API_BINANCE_SECRET = os.getenv("OPENBB_API_BINANCE_SECRET") or "REPLACE_ME"',
"API_FINNHUB_KEY": 'API_FINNHUB_KEY = os.getenv("OPENBB_API_FINNHUB_KEY") or "REPLACE_ME"',
"API_IEX_TOKEN": 'API_IEX_TOKEN = os.getenv("OPENBB_API_IEX_TOKEN") or "REPLACE_ME"',
"API_SENTIMENTINVESTOR_TOKEN": 'API_SENTIMENTINVESTOR_TOKEN = os.getenv("OPENBB_API_SENTIMENTINVESTOR_TOKEN") or "REPLACE_ME"', # noqa
"API_COINBASE_KEY": 'API_COINBASE_KEY = os.getenv("OPENBB_API_COINBASE_KEY") or "REPLACE_ME"',
"API_COINBASE_SECRET": 'API_COINBASE_SECRET = os.getenv("OPENBB_API_COINBASE_SECRET") or "REPLACE_ME"',
"API_COINBASE_PASS_PHRASE": 'API_COINBASE_PASS_PHRASE = os.getenv("OPENBB_API_COINBASE_PASS_PHRASE") or "REPLACE_ME"',
"API_WHALE_ALERT_KEY": 'API_WHALE_ALERT_KEY = os.getenv("OPENBB_API_WHALE_ALERT_KEY") or "REPLACE_ME"',
"API_GLASSNODE_KEY": 'API_GLASSNODE_KEY = os.getenv("OPENBB_API_GLASSNODE_KEY") or "REPLACE_ME"',
"API_COINGLASS_KEY": 'API_COINGLASS_KEY = os.getenv("OPENBB_API_COINGLASS_KEY") or "REPLACE_ME"',
"API_ETHPLORER_KEY": 'API_ETHPLORER_KEY = os.getenv("OPENBB_API_ETHPLORER_KEY") or "freekey"',
"API_CRYPTO_PANIC_KEY": 'API_CRYPTO_PANIC_KEY = os.getenv("OPENBB_API_CRYPTO_PANIC_KEY") or "REPLACE_ME"',
"API_BITQUERY_KEY": 'API_BITQUERY_KEY = os.getenv("OPENBB_API_BITQUERY_KEY") or "REPLACE_ME"',
}
def search(lst: List[str], search_item: str):
"""
Searches a list for an item
Parameters
----------
lst : List[str]
The list of strings to search
search_item : str
The item to search for in the strings
"""
for i, val in enumerate(lst):
if search_item + " " in val:
return i, val
return None, None
def check_setting(lines: List[str], setting: str, value: str) -> bool:
"""
Checks the setting, replaces if not compliant
Parameters
----------
lines : List[str]
The list of strings to search
setting : str
The setting to check
value : str
The correct value of the setting
Returns
----------
correct : bool
Returns whether the setting was already correct
"""
debug_line, debug_val = search(lines, setting)
if debug_val == value:
return True
lines[debug_line] = value
return False
def main():
base = os.path.dirname(os.path.dirname(__file__))
path = os.path.join(base, "openbb_terminal", "config_terminal.py")
with open(path) as file:
lines = file.readlines()
lines = [line.rstrip() for line in lines]
returns = [check_setting(lines, k, v) for k, v in settings.items()]
if False not in returns:
print("Success")
sys.exit(0)
with open(path, "w") as file:
for element in lines:
file.write(element + "\n")
sys.exit(1)
if __name__ == "__main__":
main()

View File

@@ -116,24 +116,6 @@
"description": "Path to the terminal.py",
"default": "terminal.py",
"value": ""
},
"PATH_TO_SELENIUM_DRIVER":
{
"type": "string",
"form": "text",
"title": "Path to webdriver",
"description": "Path to the selenium driver",
"default": "",
"value": ""
},
"WEBDRIVER_TO_USE":
{
"type": "string",
"form": "text",
"title": "Webdriver",
"description": "Selenium browser drivers can be found at https://selenium-python.readthedocs.io/installation.html",
"default": "chrome",
"value": ""
}
}
},

View File

@@ -51,7 +51,6 @@ def get_performance_map(period: str = "1d", map_filter: str = "sp500"):
# Conversion from period and type, to fit url requirements
d_period = {"1d": "", "1w": "w1", "1m": "w4", "3m": "w13", "6m": "w26", "1y": "w52"}
d_type = {"sp500": "sec", "world": "geo", "full": "sec_all", "etf": "etf"}
# TODO: Try to get this image and output it instead of opening browser
url = f"https://finviz.com/map.ashx?t={d_type[map_filter]}&st={d_period[period]}"
webbrowser.open(url)
console.print("")

2532
poetry.lock generated vendored

File diff suppressed because it is too large Load Diff

1
pyproject.toml vendored
View File

@@ -42,7 +42,6 @@ tradingview-ta = "^3.2.3"
finvizfinance = "^0.14.0"
statsmodels = "^0.13"
pyportfolioopt = "^1.4.1"
selenium = "^4.1.3"
python-coinmarketcap = "^0.2"
oandapyV20 = "^0.6.3"
valinvest = "^0.0.2"

71
requirements-full.txt vendored
View File

@@ -14,10 +14,9 @@ astor==0.8.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" a
astroid==2.12.11; python_full_version >= "3.7.2"
astropy==5.1; python_version >= "3.8"
asttokens==2.0.8; python_version >= "3.8" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
async-generator==1.10; python_version >= "3.7" and python_version < "4.0"
async-timeout==4.0.2; python_version >= "3.6" and python_full_version >= "3.7.0"
atomicwrites==1.4.1; sys_platform == "win32" and python_version >= "3.7" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
attrs==21.4.0; python_full_version >= "3.7.0" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.5.0") and (python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.5.0") and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7" and python_full_version < "4.0.0")
attrs==21.4.0; python_full_version >= "3.7.0" and python_version >= "3.7" and (python_version >= "3.6" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.6" and python_version < "4.0" and python_full_version >= "3.5.0") and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7" and python_full_version < "4.0.0")
babel==2.10.3; python_version >= "3.7"
backcall==0.2.0; python_version >= "3.8" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
backoff==2.2.1; python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.7.0"
@@ -32,20 +31,20 @@ blinker==1.5; python_version >= "3.7" and python_full_version < "3.0.0" or pytho
bs4==0.0.1
bt==0.2.9; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.6.0")
cachetools==5.2.0; python_version >= "3.7" and python_version < "4.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
ccxt==1.95.35
ccxt==1.95.43
certifi==2022.9.24; python_version >= "3.8" and python_version < "4" and python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
cffi==1.15.1
cffi==1.15.1; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7" and implementation_name == "pypy"
cfgv==3.3.1; python_full_version >= "3.6.1" and python_version >= "3.7"
charset-normalizer==2.1.0; python_full_version >= "3.6.0"
click==8.1.3; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
codespell==2.2.1; python_version >= "3.6"
codespell==2.2.2; python_version >= "3.7"
colorama==0.4.5; python_full_version >= "3.7.2" and python_version >= "3.8" and sys_platform == "win32" and (python_version >= "3.6" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.6" and python_full_version >= "3.5.0") and (python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or platform_system == "Windows" and python_version >= "3.7" and python_full_version >= "3.5.0") and (python_version >= "2.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_full_version >= "3.5.0" and platform_system == "Windows") and (python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7") or platform_system == "Windows" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7") and python_full_version >= "3.5.0") and python_full_version < "4.0.0"
commonmark==0.9.1; python_full_version >= "3.6.3" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
convertdate==2.4.0; python_version >= "3.7" and python_version < "4"
coverage==6.5.0; python_version >= "3.7"
cryptography==38.0.1; python_version >= "3.6"
cryptography==38.0.2; python_version >= "3.6"
cssselect==1.1.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0"
cvxpy==1.2.1; python_version >= "3.8" and python_version < "3.11"
cvxpy==1.2.1; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
cycler==0.11.0; python_version >= "3.7"
cython==0.29.32; python_version >= "3.8" and python_full_version < "3.0.0" and sys_platform == "darwin" or python_full_version >= "3.3.0" and sys_platform == "darwin" and python_version >= "3.8"
dateparser==1.1.1; python_version >= "3.5"
@@ -60,10 +59,9 @@ dill==0.3.5.1; python_full_version >= "3.7.2"
distlib==0.3.6; python_version >= "3.7"
dnspython==2.2.1; python_version >= "3.6" and python_version < "4.0"
docutils==0.17.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.6"
ecos==2.0.10; python_version >= "3.8" and python_version < "3.11"
ecos==2.0.10; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
entrypoints==0.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
et-xmlfile==1.1.0; python_version >= "3.6"
exceptiongroup==1.0.0rc9; python_version >= "3.7" and python_version < "3.11"
exchange-calendars==4.2.3; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
executing==1.1.1; python_version >= "3.8" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
fastjsonschema==2.16.2; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
@@ -73,7 +71,7 @@ filelock==3.8.0; python_version >= "3.7"
financedatabase==1.0.2
finnhub-python==2.4.15
finviz==1.4.4
finvizfinance==0.14.3; python_version >= "3.5"
finvizfinance==0.14.4; python_version >= "3.5"
flake8==3.9.2; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
fonttools==4.37.4; python_version >= "3.7"
formulaic==0.3.4; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8"
@@ -86,7 +84,7 @@ future==0.18.2; python_version >= "2.7" and python_full_version < "3.0.0" or pyt
gitdb==4.0.9; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
gitpython==3.1.29; python_version >= "3.7"
grpcio==1.49.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.7"
h11==0.12.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
h11==0.12.0; python_version >= "3.8" and python_version < "4.0"
hijri-converter==2.2.4; python_version >= "3.7"
holidays==0.14.2; python_version >= "3.7"
html5lib==1.1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
@@ -114,13 +112,13 @@ jinja2==3.1.2; python_version >= "3.7"
joblib==1.2.0; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
json5==0.9.10; python_version >= "3.7"
jsonschema==3.2.0
jupyter-client==7.3.5; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
jupyter-client==7.4.2; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
jupyter-console==6.4.4; python_version >= "3.7"
jupyter-core==4.11.1; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
jupyter-server==1.19.1; python_version >= "3.7"
jupyter-server==1.21.0; python_version >= "3.7"
jupyter==1.0.0
jupyterlab-pygments==0.2.2; python_version >= "3.7"
jupyterlab-server==2.15.2; python_version >= "3.7"
jupyterlab-server==2.16.0; python_version >= "3.7"
jupyterlab-widgets==1.1.1; python_version >= "3.6"
jupyterlab==3.4.8; python_version >= "3.7"
kiwisolver==1.4.4; python_version >= "3.7"
@@ -152,15 +150,14 @@ nbmake==1.3.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0"
nest-asyncio==1.5.6; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
networkx==2.8.7; python_version >= "3.8"
nodeenv==1.7.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.7.0" and python_version >= "3.7"
notebook-shim==0.1.0; python_version >= "3.7"
notebook==6.4.12; python_version >= "3.7"
numpy==1.23.3; python_version >= "3.8"
notebook-shim==0.2.0; python_version >= "3.7"
notebook==6.5.1; python_version >= "3.7"
numpy==1.21.6; python_version >= "3.7" and python_version < "3.11"
oandapyv20==0.6.3
oauthlib==3.2.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
oauthlib==3.2.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
onetimepass==1.0.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
openpyxl==3.0.10; python_version >= "3.6"
osqp==0.6.2.post5; python_version >= "3.8" and python_version < "3.11"
outcome==1.2.0; python_version >= "3.7" and python_version < "4.0"
osqp==0.6.2.post5; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
packaging==21.3; python_version >= "3.8" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.8" and python_full_version < "4.0.0"
pandas-datareader==0.10.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
pandas-market-calendars==3.2; python_full_version >= "3.7.0"
@@ -181,7 +178,7 @@ pmdarima==1.8.5; python_version >= "3.7"
praw==7.6.0; python_version >= "3.7" and python_version < "4.0"
prawcore==2.3.0; python_version >= "3.7" and python_version < "4.0"
pre-commit==2.20.0; python_version >= "3.7"
prometheus-client==0.14.1; python_version >= "3.7"
prometheus-client==0.15.0; python_version >= "3.7"
prompt-toolkit==3.0.31; python_full_version >= "3.6.2"
property-cached==1.6.4; python_version >= "3.8"
protobuf==3.20.3; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
@@ -195,9 +192,9 @@ pyarrow==9.0.0; python_version >= "3.7" and python_full_version < "3.9.7" or pyt
pycares==4.2.2; python_version >= "3.5.2" and python_full_version >= "3.7.0"
pycodestyle==2.7.0; python_full_version >= "3.7.0"
pycoingecko==2.3.0
pycparser==2.21
pycparser==2.21; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7" and implementation_name == "pypy"
pydantic==1.8.2; python_full_version >= "3.7.0" and python_full_version < "4.0.0"
pydeck==0.8.0b3; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
pydeck==0.8.0b4; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
pyerfa==2.0.0.1; python_version >= "3.8"
pyex==0.5.0
pyflakes==2.3.1; python_full_version >= "3.7.0"
@@ -212,10 +209,9 @@ pyobjc-core==8.5.1; python_version >= "3.6" and sys_platform == "darwin"
pyobjc-framework-cocoa==8.5.1; python_version >= "3.6" and sys_platform == "darwin"
pyotp==2.7.0; python_version >= "3.6"
pyparsing==3.0.9; python_full_version >= "3.6.8" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.6.8" or python_full_version > "3.9.7" and python_version >= "3.7")
pyportfolioopt==1.5.3; python_version >= "3.8" and python_version < "3.11"
pyportfolioopt==1.5.2; python_full_version >= "3.6.1" and python_full_version < "4.0.0"
pyprind==2.11.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
pyrsistent==0.18.1; python_version >= "3.7"
pysocks==1.7.1; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.7"
pytest-cov==3.0.0; python_version >= "3.6"
pytest-mock==3.10.0; python_version >= "3.7"
pytest-recording==0.12.1; python_version >= "3.5"
@@ -223,18 +219,18 @@ pytest==6.2.5; python_version >= "3.6"
pythclient==0.1.2; python_full_version >= "3.7.0"
python-binance==1.0.16
python-coinmarketcap==0.2
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "3.11" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5")
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_version >= "3.8" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5") and python_version < "4.0"
python-dotenv==0.19.2; python_version >= "3.5"
python-i18n==0.3.9
pytrends==4.8.0
pytz-deprecation-shim==0.1.0.post0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.6"
pytz==2022.4; python_version >= "3.8" and python_version < "3.11" and python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8")
pytz==2022.4; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8" and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and python_version < "4.0"
pyupgrade==2.38.4; python_version >= "3.7"
pywin32==304; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.7"
pywinpty==2.0.8; os_name == "nt" and python_version >= "3.7"
pyyaml==6.0; python_version >= "3.8"
pyzmq==24.0.1; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
qdldl==0.1.5.post2; python_version >= "3.8" and python_version < "3.11"
qdldl==0.1.5.post2; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
qtconsole==5.3.2; python_version >= "3.7"
qtpy==2.2.1; python_version >= "3.7"
quandl==3.7.0; python_version >= "3.6"
@@ -252,20 +248,18 @@ ruamel.yaml==0.17.21; python_version >= "3"
scikit-learn==1.1.2; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
scipy==1.8.1; python_version >= "3.8" and python_version < "3.11"
screeninfo==0.6.7
scs==3.2.0; python_version >= "3.8" and python_version < "3.11"
scs==3.2.0; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
seaborn==0.11.2; python_version >= "3.6"
selenium==4.5.0; python_version >= "3.7" and python_version < "4.0"
semver==2.13.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.4.0" or python_full_version > "3.9.7"
send2trash==1.8.0; python_version >= "3.7"
sentiment-investor==2.1.0; python_version >= "3.8" and python_version < "4.0"
setuptools-scm==6.4.2; python_version >= "3.8"
sgmllib3k==1.0.0; python_version >= "3.6"
six==1.16.0; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "3.11" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7" and python_full_version < "4.0.0")
six==1.16.0; python_full_version >= "3.7.1" and python_version >= "3.8" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7" and python_full_version < "4.0.0")
smmap==5.0.0; python_version >= "3.7"
sniffio==1.3.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.2"
snowballstemmer==2.2.0; python_version >= "3.6"
socketio-client-nexus==0.7.6
sortedcontainers==2.4.0; python_version >= "3.7" and python_version < "4.0"
soupsieve==2.3.2.post1; python_version >= "3.6" and python_full_version >= "3.6.0"
sphinx==4.5.0; python_version >= "3.6"
sphinxcontrib-applehelp==1.0.2; python_version >= "3.6"
@@ -278,7 +272,7 @@ squarify==0.4.3
sseclient==0.0.27
stack-data==0.5.1; python_version >= "3.8" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
statsmodels==0.13.2; python_version >= "3.7"
stevedore==4.0.0; python_version >= "3.8"
stevedore==4.0.1; python_version >= "3.8"
streamlit==1.13.0; (python_version >= "3.7" and python_full_version < "3.9.7") or (python_full_version > "3.9.7")
tabulate==0.9.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7"
temporal-cache==0.1.4
@@ -286,7 +280,7 @@ tenacity==8.1.0; python_version >= "3.6"
terminado==0.16.0; python_version >= "3.7"
thepassiveinvestor==1.0.10
threadpoolctl==3.1.0; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
tinycss2==1.1.1; python_version >= "3.7"
tinycss2==1.2.1; python_version >= "3.7"
tokenize-rt==4.2.1; python_version >= "3.7" and python_full_version >= "3.6.1"
tokenterminal==1.0.1
toml==0.10.2; python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7" and python_full_version < "4.0.0"
@@ -298,17 +292,15 @@ tornado==6.2; python_version >= "3.7" and python_full_version < "3.9.7" and pyth
tqdm==4.64.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0"
tradingview-ta==3.3.0; python_version >= "3.6"
traitlets==5.4.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
trio-websocket==0.9.2; python_version >= "3.7" and python_version < "4.0"
trio==0.22.0; python_version >= "3.7" and python_version < "4.0"
types-python-dateutil==2.8.19
types-python-dateutil==2.8.19.2
types-pytz==2021.3.8
types-pyyaml==6.0.12
types-requests==2.28.11.2
types-setuptools==57.4.18
types-six==1.16.21
types-urllib3==1.26.25
types-urllib3==1.26.25.1
typing-extensions==4.4.0; python_full_version >= "3.7.2" and python_full_version < "4.0.0" and python_version < "3.9" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7") and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
tzdata==2022.4; python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_version >= "3.7" and python_full_version < "3.9.7" and platform_system == "Windows" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.6" and platform_system == "Windows"
tzdata==2022.5; python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_version >= "3.7" and python_full_version < "3.9.7" and platform_system == "Windows" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.6" and platform_system == "Windows"
tzlocal==4.2; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.6"
ujson==5.5.0; python_version >= "3.7"
unidecode==1.3.6; python_version >= "3.7"
@@ -329,7 +321,6 @@ websockets==10.3; python_version >= "3.7"
widgetsnbextension==3.6.1; python_version >= "3.6"
win32-setctime==1.1.0; python_version >= "3.5" and python_full_version >= "3.7.0" and sys_platform == "win32"
wrapt==1.14.1; python_full_version >= "3.7.2" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7") and python_version >= "3.8" and python_version < "3.11"
wsproto==1.2.0; python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.7.0"
xlsxwriter==3.0.3; python_version >= "3.7"
yarl==1.8.1; python_version >= "3.7" and python_full_version >= "3.7.0"
yfinance==0.1.74

63
requirements.txt vendored
View File

@@ -12,9 +12,8 @@ ascii-magic==1.6; python_version >= "3.5"
astor==0.8.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8"
astropy==5.1; python_version >= "3.8"
asttokens==2.0.8; python_version >= "3.8"
async-generator==1.10; python_version >= "3.7" and python_version < "4.0"
async-timeout==4.0.2; python_version >= "3.6" and python_full_version >= "3.7.0"
attrs==21.4.0; python_version >= "3.6" and python_full_version >= "3.7.0" and (python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.5.0") and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7")
attrs==21.4.0; python_version >= "3.6" and python_full_version >= "3.7.0" and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7")
babel==2.10.3; python_version >= "3.7"
backcall==0.2.0; python_version >= "3.8"
backoff==2.2.1; python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.7.0"
@@ -28,17 +27,17 @@ blinker==1.5; python_version >= "3.7" and python_full_version < "3.0.0" or pytho
bs4==0.0.1
bt==0.2.9; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.6.0")
cachetools==5.2.0; python_version >= "3.7" and python_version < "4.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
ccxt==1.95.35
ccxt==1.95.43
certifi==2022.9.24; python_version >= "3.8" and python_version < "4" and python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
cffi==1.15.1
cffi==1.15.1; implementation_name == "pypy" and python_version >= "3.7" and python_full_version >= "3.7.0"
charset-normalizer==2.1.0; python_full_version >= "3.6.0"
click==8.1.3; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
colorama==0.4.5; python_full_version >= "3.7.0" and python_version >= "3.8" and platform_system == "Windows" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7") and sys_platform == "win32"
commonmark==0.9.1; python_full_version >= "3.6.3" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
convertdate==2.4.0; python_version >= "3.7" and python_version < "4"
cryptography==38.0.1; python_version >= "3.6"
cryptography==38.0.2; python_version >= "3.6"
cssselect==1.1.0; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0"
cvxpy==1.2.1; python_version >= "3.8" and python_version < "3.11"
cvxpy==1.2.1; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
cycler==0.11.0; python_version >= "3.7"
cython==0.29.32; python_version >= "3.8" and python_full_version < "3.0.0" and sys_platform == "darwin" or python_full_version >= "3.3.0" and sys_platform == "darwin" and python_version >= "3.8"
dateparser==1.1.1; python_version >= "3.5"
@@ -50,10 +49,9 @@ degiro-connector==2.0.21; python_full_version >= "3.7.1" and python_full_version
deprecation==2.1.0
detecta==0.0.5; python_version >= "3.6"
dnspython==2.2.1; python_version >= "3.6" and python_version < "4.0"
ecos==2.0.10; python_version >= "3.8" and python_version < "3.11"
ecos==2.0.10; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
entrypoints==0.4; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
et-xmlfile==1.1.0; python_version >= "3.6"
exceptiongroup==1.0.0rc9; python_version >= "3.7" and python_version < "3.11"
exchange-calendars==4.2.3; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
executing==1.1.1; python_version >= "3.8"
fastjsonschema==2.16.2; python_full_version >= "3.7.0" and python_version >= "3.7"
@@ -62,7 +60,7 @@ ffn==0.3.6; python_version >= "2.7" and python_full_version < "3.0.0" or python_
financedatabase==1.0.2
finnhub-python==2.4.15
finviz==1.4.4
finvizfinance==0.14.3; python_version >= "3.5"
finvizfinance==0.14.4; python_version >= "3.5"
flake8==3.9.2; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
fonttools==4.37.4; python_version >= "3.7"
formulaic==0.3.4; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8"
@@ -75,7 +73,7 @@ future==0.18.2; python_version >= "2.7" and python_full_version < "3.0.0" or pyt
gitdb==4.0.9; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
gitpython==3.1.29; python_version >= "3.7"
grpcio==1.49.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.7"
h11==0.12.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
h11==0.12.0; python_version >= "3.8" and python_version < "4.0"
hijri-converter==2.2.4; python_version >= "3.7"
holidays==0.14.2; python_version >= "3.7"
html5lib==1.1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.5.0")
@@ -99,13 +97,13 @@ jinja2==3.1.2; python_version >= "3.7"
joblib==1.2.0; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
json5==0.9.10; python_version >= "3.7"
jsonschema==3.2.0
jupyter-client==7.3.5; python_full_version >= "3.7.0" and python_version >= "3.7"
jupyter-client==7.4.2; python_full_version >= "3.7.0" and python_version >= "3.7"
jupyter-console==6.4.4; python_version >= "3.7"
jupyter-core==4.11.1; python_full_version >= "3.7.0" and python_version >= "3.7"
jupyter-server==1.19.1; python_version >= "3.7"
jupyter-server==1.21.0; python_version >= "3.7"
jupyter==1.0.0
jupyterlab-pygments==0.2.2; python_version >= "3.7"
jupyterlab-server==2.15.2; python_version >= "3.7"
jupyterlab-server==2.16.0; python_version >= "3.7"
jupyterlab-widgets==1.1.1; python_version >= "3.6"
jupyterlab==3.4.8; python_version >= "3.7"
kiwisolver==1.4.4; python_version >= "3.7"
@@ -130,15 +128,14 @@ nbconvert==6.5.4; python_version >= "3.7"
nbformat==5.7.0; python_full_version >= "3.7.0" and python_version >= "3.7"
nest-asyncio==1.5.6; python_full_version >= "3.7.0" and python_version >= "3.7"
networkx==2.8.7; python_version >= "3.8"
notebook-shim==0.1.0; python_version >= "3.7"
notebook==6.4.12; python_version >= "3.7"
numpy==1.23.3; python_version >= "3.8"
notebook-shim==0.2.0; python_version >= "3.7"
notebook==6.5.1; python_version >= "3.7"
numpy==1.21.6; python_version >= "3.7" and python_version < "3.11"
oandapyv20==0.6.3
oauthlib==3.2.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
oauthlib==3.2.2; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
onetimepass==1.0.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
openpyxl==3.0.10; python_version >= "3.6"
osqp==0.6.2.post5; python_version >= "3.8" and python_version < "3.11"
outcome==1.2.0; python_version >= "3.7" and python_version < "4.0"
osqp==0.6.2.post5; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
packaging==21.3; python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8"
pandas-datareader==0.10.0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
pandas-market-calendars==3.2; python_full_version >= "3.7.0"
@@ -156,7 +153,7 @@ plotly==5.10.0; python_version >= "3.6"
pmdarima==1.8.5; python_version >= "3.7"
praw==7.6.0; python_version >= "3.7" and python_version < "4.0"
prawcore==2.3.0; python_version >= "3.7" and python_version < "4.0"
prometheus-client==0.14.1; python_version >= "3.7"
prometheus-client==0.15.0; python_version >= "3.7"
prompt-toolkit==3.0.31; python_full_version >= "3.6.2"
property-cached==1.6.4; python_version >= "3.8"
protobuf==3.20.3; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
@@ -170,8 +167,8 @@ pyarrow==9.0.0; python_version >= "3.7" and python_full_version < "3.9.7" or pyt
pycares==4.2.2; python_version >= "3.5.2" and python_full_version >= "3.7.0"
pycodestyle==2.7.0; python_full_version >= "3.7.0"
pycoingecko==2.3.0
pycparser==2.21
pydeck==0.8.0b3; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
pycparser==2.21; python_version >= "3.7" and python_full_version < "3.0.0" and implementation_name == "pypy" or implementation_name == "pypy" and python_version >= "3.7" and python_full_version >= "3.4.0"
pydeck==0.8.0b4; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
pyerfa==2.0.0.1; python_version >= "3.8"
pyex==0.5.0
pyflakes==2.3.1; python_full_version >= "3.7.0"
@@ -185,24 +182,23 @@ pyobjc-core==8.5.1; python_version >= "3.6" and sys_platform == "darwin"
pyobjc-framework-cocoa==8.5.1; python_version >= "3.6" and sys_platform == "darwin"
pyotp==2.7.0; python_version >= "3.6"
pyparsing==3.0.9; python_full_version >= "3.6.8" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.6.8" or python_full_version > "3.9.7" and python_version >= "3.7")
pyportfolioopt==1.5.3; python_version >= "3.8" and python_version < "3.11"
pyportfolioopt==1.5.2; python_full_version >= "3.6.1" and python_full_version < "4.0.0"
pyprind==2.11.3; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
pyrsistent==0.18.1; python_version >= "3.7"
pysocks==1.7.1; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4" or python_full_version >= "3.6.0" and python_version < "4" and python_version >= "3.7"
pythclient==0.1.2; python_full_version >= "3.7.0"
python-binance==1.0.16
python-coinmarketcap==0.2
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "3.11" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5")
python-dateutil==2.8.2; python_full_version >= "3.7.1" and python_version >= "3.8" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5") and python_version < "4.0"
python-dotenv==0.19.2; python_version >= "3.5"
python-i18n==0.3.9
pytrends==4.8.0
pytz-deprecation-shim==0.1.0.post0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.6"
pytz==2022.4; python_version >= "3.8" and python_version < "3.11" and python_full_version >= "3.7.1" and python_full_version < "4.0.0" and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8")
pytz==2022.4; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8" and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and python_version < "4.0"
pywin32==304; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.7"
pywinpty==2.0.8; os_name == "nt" and python_version >= "3.7"
pyyaml==6.0; python_version >= "3.8"
pyzmq==24.0.1; python_version >= "3.7"
qdldl==0.1.5.post2; python_version >= "3.8" and python_version < "3.11"
qdldl==0.1.5.post2; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
qtconsole==5.3.2; python_version >= "3.7"
qtpy==2.2.1; python_version >= "3.7"
quandl==3.7.0; python_version >= "3.6"
@@ -220,19 +216,17 @@ ruamel.yaml==0.17.21; python_version >= "3"
scikit-learn==1.1.2; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
scipy==1.8.1; python_version >= "3.8" and python_version < "3.11"
screeninfo==0.6.7
scs==3.2.0; python_version >= "3.8" and python_version < "3.11"
scs==3.2.0; python_full_version >= "3.6.1" and python_full_version < "4.0.0" and python_version >= "3.7"
seaborn==0.11.2; python_version >= "3.6"
selenium==4.5.0; python_version >= "3.7" and python_version < "4.0"
semver==2.13.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.4.0" or python_full_version > "3.9.7"
send2trash==1.8.0; python_version >= "3.7"
sentiment-investor==2.1.0; python_version >= "3.8" and python_version < "4.0"
setuptools-scm==6.4.2; python_version >= "3.8"
sgmllib3k==1.0.0; python_version >= "3.6"
six==1.16.0; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "3.11" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7") and (python_version >= "3.8" and python_full_version < "3.0.0" or python_version >= "3.8" and python_full_version >= "3.3.0")
six==1.16.0; python_full_version >= "3.7.1" and python_version >= "3.8" and python_full_version < "4.0.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7") and (python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.7") and (python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0") and (python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.7.0" or python_full_version > "3.9.7" and python_version >= "3.7") and (python_version >= "3.8" and python_full_version < "3.0.0" or python_version >= "3.8" and python_full_version >= "3.3.0")
smmap==5.0.0; python_version >= "3.7"
sniffio==1.3.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.2"
socketio-client-nexus==0.7.6
sortedcontainers==2.4.0; python_version >= "3.7" and python_version < "4.0"
soupsieve==2.3.2.post1; python_version >= "3.6" and python_full_version >= "3.6.0"
squarify==0.4.3
sseclient==0.0.27
@@ -245,7 +239,7 @@ tenacity==8.1.0; python_version >= "3.6"
terminado==0.16.0; python_version >= "3.7"
thepassiveinvestor==1.0.10
threadpoolctl==3.1.0; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.8"
tinycss2==1.1.1; python_version >= "3.7"
tinycss2==1.2.1; python_version >= "3.7"
tokenterminal==1.0.1
toml==0.10.2; python_version >= "3.7" and python_full_version < "3.0.0" or python_version >= "3.7" and python_full_version < "3.9.7" and python_full_version >= "3.3.0" or python_full_version > "3.9.7"
tomli==2.0.1; python_full_version < "3.11.0a7" and python_version >= "3.8"
@@ -254,10 +248,8 @@ tornado==6.2; python_version >= "3.7" and python_full_version < "3.9.7" or pytho
tqdm==4.64.1; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0"
tradingview-ta==3.3.0; python_version >= "3.6"
traitlets==5.4.0; python_version >= "3.8" and python_full_version >= "3.7.0"
trio-websocket==0.9.2; python_version >= "3.7" and python_version < "4.0"
trio==0.22.0; python_version >= "3.7" and python_version < "4.0"
typing-extensions==4.4.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version < "3.9" and python_version >= "3.7" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7") and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7")
tzdata==2022.4; python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_version >= "3.7" and python_full_version < "3.9.7" and platform_system == "Windows" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.6" and platform_system == "Windows"
tzdata==2022.5; python_version >= "3.7" and python_full_version < "3.0.0" and platform_system == "Windows" or python_version >= "3.7" and python_full_version < "3.9.7" and platform_system == "Windows" and python_full_version >= "3.6.0" or python_full_version > "3.9.7" and python_version >= "3.6" and platform_system == "Windows"
tzlocal==4.2; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.6"
ujson==5.5.0; python_version >= "3.7"
unidecode==1.3.6; python_version >= "3.7"
@@ -276,7 +268,6 @@ websockets==10.3; python_version >= "3.7"
widgetsnbextension==3.6.1; python_version >= "3.6"
win32-setctime==1.1.0; python_version >= "3.5" and python_full_version >= "3.7.0" and sys_platform == "win32"
wrapt==1.14.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8"
wsproto==1.2.0; python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.7.0"
xlsxwriter==3.0.3; python_version >= "3.7"
yarl==1.8.1; python_version >= "3.7" and python_full_version >= "3.7.0"
yfinance==0.1.74