From 44172b0123ed6723d21a1fae19e39c4386410b91 Mon Sep 17 00:00:00 2001 From: colin99d Date: Tue, 7 Feb 2023 08:30:30 -0500 Subject: [PATCH 1/3] Got pyupgrade removed and ruff pylint added --- .github/workflows/linting.yml | 6 ++---- .github/workflows/test.yml | 6 ++---- .pre-commit-config.yaml | 7 +------ CONTRIBUTING.md | 3 +-- poetry.lock | 23 +---------------------- pyproject.toml | 12 +++++++++--- 6 files changed, 16 insertions(+), 41 deletions(-) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 403722379eb7..0b03c7f4c8f4 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -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 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c6cd57ebaf5d..724bfbffe97a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -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 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 494719fa2655..e26d51713d3d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7881ddcb781b..8ab18f89799d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 | diff --git a/poetry.lock b/poetry.lock index 196b008177b7..2260e2df8642 100644 --- a/poetry.lock +++ b/poetry.lock @@ -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 = [] diff --git a/pyproject.toml b/pyproject.toml index 7c0edb1937e1..52c8b86afeef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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 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 From 9c7f97ad041625c9e35edf326eb0907f49019496 Mon Sep 17 00:00:00 2001 From: colin99d Date: Tue, 7 Feb 2023 08:31:18 -0500 Subject: [PATCH 2/3] Finishing touches --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 52c8b86afeef..e84cf0bf91e7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -160,7 +160,7 @@ target-version = "py38" # D: pydocstyle, PD: pandas-vet # All options here: https://github.com/charliermarsh/ruff#supported-rules select = ["E", "W", "F", "Q", "W", "S", "UP", "I", "PLC", "PLE", "PLR", "PLW"] -# These ignores should be seen as temporary solutions to problems that NEED fixed +# 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] From b49e7d249d90164b707d0678734b93ef403e3461 Mon Sep 17 00:00:00 2001 From: colin99d Date: Tue, 7 Feb 2023 11:30:39 -0500 Subject: [PATCH 3/3] Added fixes --- requirements-full.txt | 15 +----- requirements.txt | 111 ++++++++++-------------------------------- 2 files changed, 28 insertions(+), 98 deletions(-) diff --git a/requirements-full.txt b/requirements-full.txt index adff7a1466f7..14273ab8505c 100644 --- a/requirements-full.txt +++ b/requirements-full.txt @@ -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" diff --git a/requirements.txt b/requirements.txt index dda32b922bb0..c65c4d042fec 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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"