Merge pull request #4160 from OpenBB-finance/feature/remove-pyupgrade

Removed Pyupgrade From CI
This commit is contained in:
James Maslek
2023-02-07 14:31:57 -05:00
committed by GitHub
8 changed files with 44 additions and 139 deletions

View File

@@ -43,16 +43,14 @@ jobs:
restore-keys: ${{ runner.os }}-linting-${{ hashFiles('**/poetry.lock') }}
- run: |
pip install bandit black codespell mypy==0.982 pyupgrade safety pylint==2.15.2 packaging==22 ruff==0.0.236
pip install bandit black codespell mypy==0.982 safety pylint==2.15.2 packaging==22 ruff==0.0.243
pip install types-pytz types-requests types-termcolor types-tabulate types-PyYAML types-python-dateutil types-setuptools types-six
- run: bandit -x ./tests -r . || true
- run: black --diff --check .
- run: codespell --ignore-words-list=commun,statics,ro,zar,zlot,jewl,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,vie,hel,ket,toke,certi,buidl,ot,te --quiet-level=2 --skip=./tests,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,./build/pyinstaller,./website/config.toml
- run: ruff .
- run: mypy --ignore-missing-imports openbb_terminal
- run: shopt -s globstar && pyupgrade --py38-plus **/*.py
- run: |
pylint terminal.py openbb_terminal tests
- run: pylint terminal.py openbb_terminal tests
markdown-link-check:
name: Markdown Linting

View File

@@ -30,17 +30,15 @@ jobs:
key: ${{ runner.os }}-linting-${{ hashFiles('**/poetry.lock') }}
restore-keys: ${{ runner.os }}-linting-${{ hashFiles('**/poetry.lock') }}
- run: pip install bandit black codespell mypy==0.982 pyupgrade safety pylint==2.15.2 packaging==22 ruff==0.0.212
- run: pip install bandit black codespell mypy==0.982 safety pylint==2.15.2 packaging==22 ruff==0.0.243
- run: pip install types-pytz types-requests types-termcolor types-tabulate types-PyYAML types-python-dateutil types-setuptools types-six
- run: bandit -x ./tests -r . || true
- run: black --diff --check .
- run: codespell --ignore-words-list=commun,statics,ro,zar,zlot,jewl,ba,buil,coo,ether,hist,hsi,mape,navagation,operatio,pres,ser,yeld,shold,ist,varian,datas,ake,creat,vie,hel,ket,toke,certi,buidl,ot,te --quiet-level=2 --skip=./tests,.git,*.css,*.csv,*.html,*.ini,*.ipynb,*.js,*.json,*.lock,*.scss,*.txt,*.yaml,./build/pyinstaller,./website/config.toml
- run: ruff .
- run: mypy --ignore-missing-imports openbb_terminal
- run: shopt -s globstar && pyupgrade --py38-plus **/*.py
- run: safety check
- run: |
pylint terminal.py openbb_terminal tests
- run: pylint terminal.py openbb_terminal tests
test:
name: Base Tests - Ubuntu-latest - Python 3.9
runs-on: ubuntu-latest

View File

@@ -14,7 +14,7 @@ repos:
hooks:
- id: black
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: 'v0.0.236'
rev: 'v0.0.243'
hooks:
- id: ruff
- repo: https://github.com/codespell-project/codespell
@@ -64,11 +64,6 @@ repos:
"website/content/api/*",
]
exclude: package.lock.json
- repo: https://github.com/asottile/pyupgrade
rev: v3.3.1
hooks:
- id: pyupgrade
args: [--py38-plus]
- repo: local
hooks:
- id: reserved_args

3
CONTRIBUTING.md vendored
View File

@@ -1100,9 +1100,8 @@ The following linters are used by our codebase:
| bandit | security analyzer |
| black | code formatter |
| codespell | spelling checker |
| flake8 | style guide enforcer |
| ruff | a fast python linter |
| mypy | static typing checker |
| pyupgrade | upgrade syntax for newer versions |
| safety | checks security vulnerabilities |
| pylint | bug and quality checker |
| markdownlint | markdown linter |

23
poetry.lock generated vendored
View File

@@ -3499,17 +3499,6 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
"backports.zoneinfo" = {version = "*", markers = "python_version >= \"3.6\" and python_version < \"3.9\""}
tzdata = {version = "*", markers = "python_version >= \"3.6\""}
[[package]]
name = "pyupgrade"
version = "2.38.4"
description = "A tool to automatically upgrade syntax for newer versions."
category = "dev"
optional = false
python-versions = ">=3.7"
[package.dependencies]
tokenize-rt = "<5"
[[package]]
name = "pywin32"
version = "305"
@@ -4458,14 +4447,6 @@ webencodings = ">=0.4"
doc = ["sphinx", "sphinx-rtd-theme"]
test = ["pytest", "isort", "flake8"]
[[package]]
name = "tokenize-rt"
version = "4.2.1"
description = "A wrapper around the stdlib `tokenize` which roundtrips."
category = "dev"
optional = false
python-versions = ">=3.6.1"
[[package]]
name = "tokenterminal"
version = "1.0.1"
@@ -5083,7 +5064,7 @@ prediction = ["torch", "pytorch-lightning", "u8darts"]
[metadata]
lock-version = "1.1"
python-versions = "^3.8,<3.11, !=3.9.7"
content-hash = "6082422c6e0601e87e9df33daa3393f6d4afffdb867ecf6db74e33622ecf41fd"
content-hash = "8b59d3adb985f6b1586d40087f128c9f0224a0bc8d1152ece42f304be8ae3483"
[metadata.files]
absl-py = []
@@ -5351,7 +5332,6 @@ pytorch-lightning = []
pytrends = []
pytz = []
pytz-deprecation-shim = []
pyupgrade = []
pywin32 = []
pywin32-ctypes = []
pywinpty = []
@@ -5418,7 +5398,6 @@ textwrap3 = []
thepassiveinvestor = []
threadpoolctl = []
tinycss2 = []
tokenize-rt = []
tokenterminal = []
toml = []
tomli = []

12
pyproject.toml vendored
View File

@@ -117,7 +117,6 @@ pylint = "2.15.2"
mypy = "^0.930"
mock = "^4.0.3"
codespell = "^2.0.0"
pyupgrade = "^2.11.0"
sphinx = "^4.5.0"
myst-parser = "^0.15.2"
black = "^23.1.0"
@@ -160,8 +159,9 @@ target-version = "py38"
# This is an introductory addition of ruff. We should look to adding:
# D: pydocstyle, PD: pandas-vet
# All options here: https://github.com/charliermarsh/ruff#supported-rules
select = ["E", "W", "F", "Q", "W", "S", "UP", "I"]
ignore = ["S105", "S106", "S107"]
select = ["E", "W", "F", "Q", "W", "S", "UP", "I", "PLC", "PLE", "PLR", "PLW"]
# These ignores should be seen as temporary solutions to problems that will NEED fixed
ignore = ["S105", "S106", "S107", "S110", "PLR2004", "PLR0911", "PLR0913", "PLR0912", "PLR0915"]
[tool.ruff.per-file-ignores]
"tests/*" = ["S101"]
@@ -176,6 +176,12 @@ seaborn = "sns"
combine-as-imports = true
force-wrap-aliases = true
[tool.ruff.pylint]
max-args=8
max-branches=25
max-returns=9
max-statements=30
[tool.isort]
profile = "black"
line_length = 122

15
requirements-full.txt vendored
View File

@@ -9,13 +9,11 @@ ansiwrap==0.8.4; python_version >= "3.7"
anyio==3.6.2; python_full_version >= "3.6.2" and python_version >= "3.8" and python_version < "4.0"
appdirs==1.4.4
appnope==0.1.3; sys_platform == "darwin" and python_version >= "3.8" and platform_system == "Darwin" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
arch==5.3.1; python_version >= "3.7"
argon2-cffi-bindings==21.2.0; python_version >= "3.7"
argon2-cffi==21.3.0; python_version >= "3.7"
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"
astroid==2.13.5; python_full_version >= "3.7.2"
astropy==5.2.1; python_version >= "3.8"
asttokens==2.2.1; python_version >= "3.8"
async-timeout==4.0.2; python_version >= "3.8" and python_version < "4.0" 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"
@@ -51,7 +49,6 @@ convertdate==2.4.0; python_version >= "3.7" and python_version < "4"
coverage==7.1.0; python_version >= "3.7"
cryptography==39.0.0; python_version >= "3.6"
cssselect==1.2.0; python_version >= "3.8" and python_version < "4.0"
cvxpy==1.3.0; python_version >= "3.7"
cycler==0.11.0; python_version >= "3.7"
cython==0.29.33; 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.7; python_version >= "3.7"
@@ -66,7 +63,6 @@ dill==0.3.6; python_version >= "3.7" and python_full_version >= "3.7.2"
distlib==0.3.6; python_version >= "3.7"
dnspython==2.3.0; python_version >= "3.7" 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.12; python_version >= "3.7"
entrypoints==0.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
ephem==4.1.4; python_version >= "3.7" and python_version < "4"
et-xmlfile==1.1.0; python_version >= "3.6"
@@ -164,7 +160,6 @@ nbconvert==7.2.9; python_version >= "3.7"
nbformat==5.7.3; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
nbmake==1.3.5; 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.8"
networkx==3.0; python_version >= "3.8"
nfoursid==1.0.1; python_version >= "3.7"
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.2.2; python_version >= "3.7"
@@ -175,7 +170,6 @@ oandapyv20==0.6.3
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.1.0; python_version >= "3.6"
osqp==0.6.2.post8; python_version >= "3.7"
packaging==23.0; python_version >= "3.7"
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"
@@ -218,7 +212,6 @@ pycparser==2.21; python_version >= "3.6" and python_full_version < "3.0.0" or py
pydantic==1.10.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
pydeck==0.8.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
pydeprecate==0.3.2; python_version >= "3.7"
pyerfa==2.0.0.1; python_version >= "3.8"
pyex==0.5.0
pyflakes==2.5.0; python_version >= "3.6" and python_full_version >= "3.7.0"
pygments==2.14.0; python_version >= "3.6"
@@ -248,12 +241,10 @@ pytorch-lightning==1.6.5; python_version >= "3.7"
pytrends==4.9.0; python_version >= "3.7"
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.7"
pytz==2022.7.1; 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==305; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.8"
pywinpty==2.0.10; os_name == "nt" and python_version >= "3.7"
pyyaml==6.0; python_version >= "3.8"
pyyaml==6.0; python_version >= "3.7"
pyzmq==25.0.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
qdldl==0.1.5.post3; python_version >= "3.7"
quandl==3.7.0; python_version >= "3.6"
rapidfuzz==1.9.1; python_version >= "2.7"
rdflib==6.2.0; python_version >= "3.7"
@@ -262,7 +253,6 @@ requests-oauthlib==1.3.1; python_version >= "3.7" and python_full_version < "3.0
requests==2.28.2; python_version >= "3.7" and python_version < "4"
rfc3986==1.5.0; python_version >= "3.8" and python_version < "4.0"
rich==12.6.0; python_full_version >= "3.6.3" and python_full_version < "4.0.0"
riskfolio-lib==3.3.0; python_version >= "3.7"
robin-stocks==2.1.0; python_version >= "3"
rsa==4.9; python_version >= "3.6" and python_version < "4" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7")
ruamel.yaml.clib==0.2.7; platform_python_implementation == "CPython" and python_version < "3.11" and python_version >= "3.5"
@@ -271,7 +261,6 @@ ruff==0.0.236; python_version >= "3.7"
scikit-learn==1.2.1; 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.10.0; python_version >= "3.8" and python_version < "3.12"
screeninfo==0.6.7
scs==3.2.2; python_version >= "3.7"
seaborn==0.11.2; python_version >= "3.6"
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"
@@ -314,7 +303,6 @@ textwrap3==0.9.2; python_version >= "3.7"
thepassiveinvestor==1.1.2
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.2.1; python_version >= "3.7"
tokenize-rt==4.2.1; python_full_version >= "3.6.1" and python_version >= "3.7"
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"
tomli==2.0.1; python_version < "3.11" and python_full_version >= "3.7.2" and python_version >= "3.8" and python_full_version <= "3.11.0a6"
@@ -359,7 +347,6 @@ win32-setctime==1.1.0; python_version >= "3.5" and python_full_version >= "3.7.0
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"
xarray==2023.1.0; python_version >= "3.8"
xgboost==1.7.3; python_version >= "3.8"
xlsxwriter==3.0.8; python_version >= "3.7"
yarl==1.8.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
yfinance==0.2.9
zipp==3.12.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.10" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.10"

111
requirements.txt vendored
View File

@@ -1,31 +1,26 @@
aiodns==3.0.0; python_version >= "3.5.2" and python_full_version >= "3.7.0"
aiohttp==3.8.3; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
aiosignal==1.3.1; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
alabaster==0.7.13; python_version >= "3.6"
alpha-vantage==2.3.1
altair==4.2.2; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
ansiwrap==0.8.4; python_version >= "3.7"
anyio==3.6.2; python_full_version >= "3.6.2" and python_version >= "3.8" and python_version < "4.0"
appdirs==1.4.4
appnope==0.1.3; sys_platform == "darwin" and python_version >= "3.8" and platform_system == "Darwin" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
appnope==0.1.3; sys_platform == "darwin" and python_version >= "3.8" and platform_system == "Darwin"
argon2-cffi-bindings==21.2.0; python_version >= "3.7"
argon2-cffi==21.3.0; python_version >= "3.7"
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"
astroid==2.13.5; python_full_version >= "3.7.2"
asttokens==2.2.1; python_version >= "3.8"
async-timeout==4.0.2; python_version >= "3.8" and python_version < "4.0" 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.8" and python_version < "4.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_version >= "3.8" and python_version < "4.0" 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.11.0; 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"
backports.zoneinfo==0.2.1; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.9" 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.6.0" or python_full_version > "3.9.7" and python_version >= "3.7") or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.9" 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.6.0" or python_full_version > "3.9.7" and python_version >= "3.7")
bandit==1.7.4; python_version >= "3.7"
base58==2.1.1; python_version >= "3.5" and python_full_version >= "3.7.0"
beartype==0.7.1; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0"
beautifulsoup4==4.11.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0"
black==23.1.0; python_version >= "3.7"
bleach==6.0.0; python_version >= "3.7"
blinker==1.5; 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.5.0" or python_full_version > "3.9.7"
bs4==0.0.1
@@ -33,40 +28,33 @@ bt==0.2.9; (python_version >= "2.7" and python_full_version < "3.0.0") or (pytho
cachetools==5.3.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==2.7.36
certifi==2022.12.7; 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; implementation_name == "pypy" and python_version >= "3.8" and python_full_version >= "3.7.0" and python_full_version < "4.0.0"
cfgv==3.3.1; python_full_version >= "3.6.1" and python_version >= "3.7"
cffi==1.15.1; implementation_name == "pypy" and python_version >= "3.8" and python_full_version >= "3.7.0"
charset-normalizer==2.1.1; 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.2; python_version >= "3.7"
colorama==0.4.6; 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.7.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.7.0") and (python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" and platform_system == "Windows" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.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.7.0") and (python_version >= "3.8" and python_full_version < "3.0.0" and sys_platform == "win32" or sys_platform == "win32" and python_version >= "3.8" and python_full_version >= "3.7.0") and python_full_version < "4.0.0"
comm==0.1.2; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
colorama==0.4.6; python_full_version >= "3.7.0" and python_version >= "3.8" and sys_platform == "win32" and python_version < "4.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")
comm==0.1.2; python_version >= "3.8"
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==7.1.0; python_version >= "3.7"
cryptography==39.0.0; python_version >= "3.6"
cssselect==1.2.0; python_version >= "3.8" and python_version < "4.0"
cycler==0.11.0; python_version >= "3.7"
cython==0.29.33; 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.7; python_version >= "3.7"
datetime==5.0; python_version >= "3.5"
debugpy==1.6.6; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
debugpy==1.6.6; python_version >= "3.8"
decorator==5.1.1; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.6.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"
defusedxml==0.7.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.7"
degiro-connector==2.0.21; python_full_version >= "3.7.1" and python_full_version < "4.0.0"
deprecation==2.1.0
detecta==0.0.5; python_version >= "3.6"
dill==0.3.6; python_version >= "3.7" and python_full_version >= "3.7.2"
distlib==0.3.6; python_version >= "3.7"
dnspython==2.3.0; python_version >= "3.7" 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"
entrypoints==0.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
entrypoints==0.4; python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8"
et-xmlfile==1.1.0; python_version >= "3.6"
exchange-calendars==4.2.5; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
executing==1.2.0; python_version >= "3.8"
fastjsonschema==2.16.2; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
fastjsonschema==2.16.2; python_full_version >= "3.7.0" and python_version >= "3.7"
feedparser==6.0.10; python_version >= "3.6"
ffn==0.3.6; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0"
filelock==3.9.0; python_version >= "3.7"
financedatabase==1.0.2
finnhub-python==2.4.16
finviz==1.4.5; python_version >= "3.8" and python_version < "4.0"
@@ -89,31 +77,27 @@ 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")
httpcore==0.16.3; python_version >= "3.8" and python_version < "4.0"
httpx==0.23.3; python_version >= "3.8" and python_version < "4.0"
identify==2.5.17; python_version >= "3.7"
idna==3.4; 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")
imagesize==1.4.1; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
importlib-metadata==6.0.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.10" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.10"
inflection==0.5.1; python_version >= "3.6"
iniconfig==2.0.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
interface-meta==1.3.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.1" and python_full_version < "4.0.0"
investiny==0.5.0; python_version >= "3.8" and python_version < "4.0"
investpy==1.0.8; python_version >= "3.7"
ipyflex==0.2.6; python_version >= "3.6"
ipykernel==6.21.1; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
ipykernel==6.21.1; python_version >= "3.8"
ipympl==0.8.4
ipython-genutils==0.2.0; python_version >= "3.7"
ipython==8.5.0; python_version >= "3.8"
ipywidgets==8.0.4; python_version >= "3.7"
iso8601==0.1.16
isodate==0.6.1; python_version >= "3.7"
isort==5.12.0; python_full_version >= "3.8.0"
jedi==0.18.2; python_version >= "3.8"
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.11; python_version >= "3.7"
jsonschema==3.2.0
jupyter-client==7.4.1; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
jupyter-core==5.2.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
jupyter-client==7.4.1; python_full_version >= "3.7.0" and python_version >= "3.8"
jupyter-core==5.2.0; python_full_version >= "3.7.0" and python_version >= "3.8"
jupyter-server==1.23.5; python_version >= "3.7"
jupyterlab-pygments==0.2.2; python_version >= "3.7"
jupyterlab-server==2.16.6; python_version >= "3.7"
@@ -121,33 +105,25 @@ jupyterlab-widgets==3.0.5; python_version >= "3.7"
jupyterlab==3.5.3; python_version >= "3.7"
kiwisolver==1.4.4; python_version >= "3.7"
korean-lunar-calendar==0.3.1; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
lazy-object-proxy==1.9.0; python_version >= "3.7" and python_full_version >= "3.7.2"
linearmodels==4.27; python_version >= "3.8"
loguru==0.6.0; python_version >= "3.5" and python_full_version >= "3.7.0"
lxml==4.9.2; python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0"
markdown-it-py==1.1.0; python_version >= "3.6" and python_version < "4.0"
markupsafe==2.1.2; python_version >= "3.7"
matplotlib-inline==0.1.6; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
matplotlib-inline==0.1.6; python_version >= "3.8"
matplotlib==3.5.3; python_version >= "3.7"
mccabe==0.7.0; python_version >= "3.6" and python_full_version >= "3.7.2"
mdit-py-plugins==0.2.8; python_version >= "3.6" and python_version < "4.0"
mccabe==0.7.0; python_version >= "3.6" and python_full_version >= "3.7.0"
mistune==2.0.4; python_version >= "3.7"
mock==4.0.3; python_version >= "3.6"
more-itertools==9.0.0; python_version >= "3.7"
mplfinance==0.12.9b7
mstarpy==0.0.4
multidict==6.0.4; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
multitasking==0.0.11
mypy-extensions==0.4.3; python_version >= "3.8"
mypy==0.930; python_version >= "3.6"
myst-parser==0.15.2; python_version >= "3.6"
nbclassic==0.5.1; python_version >= "3.7"
nbclient==0.6.8; python_full_version >= "3.7.0" and python_version >= "3.7" and python_full_version < "4.0.0"
nbclient==0.6.8; python_full_version >= "3.7.0" and python_version >= "3.7"
nbconvert==7.2.9; python_version >= "3.7"
nbformat==5.7.3; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
nbmake==1.3.5; 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.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"
nbformat==5.7.3; 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.8"
notebook-shim==0.2.2; python_version >= "3.7"
notebook==6.5.2; python_version >= "3.7"
numpy==1.23.4; python_version >= "3.8"
@@ -163,40 +139,33 @@ pandas==1.5.3; python_version >= "3.8"
pandocfilters==1.5.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7"
papermill==2.4.0; python_version >= "3.7"
parso==0.8.3; python_version >= "3.8"
pathspec==0.11.0; python_version >= "3.7"
patsy==0.5.3; python_version >= "3.8"
pbr==5.11.1; python_version >= "3.8"
pexpect==4.8.0; sys_platform != "win32" and python_version >= "3.8"
pickleshare==0.7.5; python_version >= "3.8"
pillow==9.4.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
platformdirs==2.6.2; python_version >= "3.8" and python_full_version >= "3.7.2"
platformdirs==2.6.2; python_version >= "3.8"
plotly==5.13.0; python_version >= "3.6"
pluggy==1.0.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
praw==7.6.1; 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.21.0; python_version >= "3.7"
prometheus-client==0.16.0; python_version >= "3.7"
prompt-toolkit==3.0.36; python_full_version >= "3.6.2"
property-cached==1.6.4; python_version >= "3.8"
protobuf==3.20.1; python_version >= "3.7"
psaw==0.0.12; python_version >= "3"
psutil==5.9.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
psutil==5.9.4; python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.8"
ptyprocess==0.7.0; sys_platform != "win32" and python_version >= "3.8" and os_name != "nt"
pure-eval==0.2.2; python_version >= "3.8"
py==1.11.0; python_full_version >= "3.7.0" and python_version >= "3.7" and python_full_version < "4.0.0"
pyally==1.1.2
pyarrow==11.0.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
pycares==4.3.0; python_version >= "3.5.2" and python_full_version >= "3.7.0"
pycodestyle==2.9.1; python_version >= "3.6" and python_full_version >= "3.7.0"
pycoingecko==2.3.0
pycparser==2.21; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.6"
pydantic==1.10.4; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.7"
pydeck==0.8.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7"
pyex==0.5.0
pyflakes==2.5.0; python_version >= "3.6" and python_full_version >= "3.7.0"
pygments==2.14.0; python_version >= "3.6"
pyhdfe==0.1.2; python_version >= "3.8"
pylint==2.15.2; python_full_version >= "3.7.2"
pyluach==2.0.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
pymeeus==0.5.12; python_version >= "3.7" and python_version < "4"
pympler==1.0.1; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.6"
@@ -206,24 +175,19 @@ pyotp==2.8.0; python_version >= "3.7"
pyparsing==3.0.9; python_full_version >= "3.6.8" and python_version >= "3.7"
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"
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"
pytest==6.2.5; python_version >= "3.6"
pythclient==0.1.4; 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_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 < "4.0"
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 < "4.0" and (python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.8")
python-dotenv==0.19.2; python_version >= "3.5"
python-i18n==0.3.9
pytrends==4.9.0; python_version >= "3.7"
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.7"
pytz==2022.7.1; 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==305; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.8"
pywinpty==2.0.10; os_name == "nt" and python_version >= "3.7"
pyyaml==6.0; python_version >= "3.7"
pyzmq==25.0.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
pyzmq==25.0.0; python_version >= "3.8"
quandl==3.7.0; python_version >= "3.6"
rapidfuzz==1.9.1; python_version >= "2.7"
rdflib==6.2.0; python_version >= "3.7"
@@ -235,7 +199,6 @@ rich==12.6.0; python_full_version >= "3.6.3" and python_full_version < "4.0.0"
robin-stocks==2.1.0; python_version >= "3"
ruamel.yaml.clib==0.2.7; platform_python_implementation == "CPython" and python_version < "3.11" and python_version >= "3.5"
ruamel.yaml==0.17.21; python_version >= "3"
ruff==0.0.236; python_version >= "3.7"
scikit-learn==1.2.1; 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.10.0; python_version >= "3.8" and python_version < "3.12"
screeninfo==0.6.7
@@ -245,25 +208,16 @@ 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 < "4.0" 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") and (python_version >= "3.8" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.8")
six==1.16.0; python_full_version >= "3.7.1" and python_version >= "3.8" and python_version < "4.0" 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_full_version >= "3.3.0" and python_version >= "3.8")
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
soupsieve==2.3.2.post1; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.6.0"
sparqlwrapper==2.0.0; python_version >= "3.7"
sphinx==4.5.0; python_version >= "3.6"
sphinxcontrib-applehelp==1.0.4; python_version >= "3.8"
sphinxcontrib-devhelp==1.0.2; python_version >= "3.6"
sphinxcontrib-htmlhelp==2.0.1; python_version >= "3.8"
sphinxcontrib-jsmath==1.0.1; python_version >= "3.6"
sphinxcontrib-qthelp==1.0.3; python_version >= "3.6"
sphinxcontrib-serializinghtml==1.1.5; python_version >= "3.6"
squarify==0.4.3
sseclient==0.0.27
stack-data==0.6.2; python_version >= "3.8"
statsmodels==0.13.2; python_version >= "3.7"
stevedore==4.1.1; python_version >= "3.8"
stocksera==0.1.21; python_version >= "3.6"
streamlit==1.17.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"
@@ -274,24 +228,15 @@ textwrap3==0.9.2; python_version >= "3.7"
thepassiveinvestor==1.1.2
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.2.1; python_version >= "3.7"
tokenize-rt==4.2.1; python_full_version >= "3.6.1" and python_version >= "3.7"
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"
tomli==2.0.1; python_version < "3.11" and python_full_version >= "3.7.2" and python_version >= "3.8" and python_full_version <= "3.11.0a6"
tomlkit==0.11.6; python_version >= "3.6" and python_full_version >= "3.7.2"
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_version >= "3.8"
toolz==0.12.0; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0" and (python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.7")
tornado==6.2; 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"
tornado==6.2; python_version >= "3.8" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.8"
tqdm==4.64.1; python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.4.0"
tradingview-ta==3.3.0; python_version >= "3.6"
traitlets==5.9.0; python_full_version >= "3.7.0" and python_full_version < "4.0.0" and python_version >= "3.8"
types-python-dateutil==2.8.19.6
types-pytz==2021.3.8
types-pyyaml==6.0.12.4
types-requests==2.28.11.8
types-setuptools==57.4.18
types-six==1.16.21.4
types-urllib3==1.26.25.4
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")
traitlets==5.9.0; python_full_version >= "3.7.0" and python_version >= "3.8"
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.7; 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.7" 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.7"
ujson==5.7.0; python_version >= "3.7"
@@ -302,8 +247,6 @@ user-agent==0.1.10; python_version >= "3.8" and python_version < "4.0"
vadersentiment==3.3.2
validators==0.20.0; python_version >= "3.7" and python_full_version < "3.9.7" or python_full_version > "3.9.7" and python_version >= "3.4"
valinvest==0.0.2; python_version >= "3.6"
vcrpy==4.2.1; python_version >= "3.7"
virtualenv==20.17.1; python_version >= "3.7"
voila==0.4.0; python_version >= "3.7"
watchdog==2.2.1; python_version >= "3.6"
wcwidth==0.2.6; python_full_version >= "3.6.2" and python_version >= "3.8"
@@ -312,7 +255,7 @@ websocket-client==1.5.0; python_version >= "3.8" and python_version < "4.0"
websockets==10.4; python_version >= "3.7"
widgetsnbextension==4.0.5; python_version >= "3.7"
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"
wrapt==1.14.1; python_full_version >= "3.7.1" and python_full_version < "4.0.0" and python_version >= "3.8"
yarl==1.8.2; python_version >= "3.8" and python_version < "4.0" and python_full_version >= "3.7.0"
yfinance==0.2.9
zipp==3.12.0; python_version >= "3.7" and python_full_version < "3.9.7" and python_version < "3.10" or python_full_version > "3.9.7" and python_version >= "3.7" and python_version < "3.10"