summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrique Joaquim <h.joaquim@campus.fct.unl.pt>2022-11-28 17:13:22 +0000
committerGitHub <noreply@github.com>2022-11-28 12:13:22 -0500
commitcca3b318565e3331b05b3cad5806298cfc4650e8 (patch)
tree3a8057b59d67e23970a8f546eb0a2262fe183363
parentb1f3dc1bf143c1280e40ec36ce9c877977d0c454 (diff)
Fix dashboards (#3577)
* updating dependencies * poetry export * removed breakline from input * Export dependencies * Workflow * Tests * Workflow * Dependencies update * Linting * Tests readme * Dependencies update * Workflow update * Linting * Workflow update * Fix import * Tests * Linting * Workflow update * Re-solve the dependencies with poetry 1.1.13 * Workflow update Co-authored-by: James Maslek <jmaslek11@gmail.com> Co-authored-by: Chavithra PARANA <chavithra@gmail.com> Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
-rw-r--r--.github/workflows/test.yml21
-rw-r--r--openbb_terminal/dashboards/dashboards_controller.py4
-rw-r--r--openbb_terminal/feature_flags.py2
-rw-r--r--poetry.lock229
-rw-r--r--pyproject.toml8
-rw-r--r--requirements-full.txt56
-rw-r--r--requirements.txt18
-rw-r--r--tests/README.md2
-rw-r--r--tests/conftest.py2
-rw-r--r--tests/openbb_terminal/portfolio/portfolio_optimization/test_optimizer_view.py77
-rw-r--r--tests/openbb_terminal/portfolio/portfolio_optimization/test_po_controller.py5
-rw-r--r--tests/openbb_terminal/portfolio/test_portfolio_controller.py7
-rw-r--r--tests/website/__init__.py0
-rw-r--r--tests/website/test_generate_docs.py13
14 files changed, 132 insertions, 312 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8013f9608c6..74b41db9548 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -69,23 +69,14 @@ jobs:
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
- run: poetry install --no-interaction --no-root
-
- - name: Install Extra Doc
- run: poetry install --no-interaction -E doc
-
- - name: Install Extra Optimization
run: poetry install --no-interaction -E optimization
- - name: Run Extra prediction
- run: poetry install --no-interaction -E prediction
-
- name: Run tests
env:
MPLBACKEND: Agg
run: |
source $VENV
- pytest tests/ --autodoc
+ pytest tests/ --optimization
- name: Start Terminal and exit
run: |
@@ -141,10 +132,7 @@ jobs:
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
- run: poetry install --no-interaction --no-root
-
- - name: Install Package
- run: poetry install --no-interaction -E doc
+ run: poetry install --no-interaction -E optimization
- name: List installed packages
shell: bash -l {0}
@@ -157,7 +145,7 @@ jobs:
MPLBACKEND: Agg
run: |
source $VENV
- pytest tests/
+ pytest tests/ --optimization
- name: Start Terminal and exit
run: |
@@ -251,7 +239,6 @@ jobs:
shell: bash -l {0}
run: |
pip install --requirement requirements-full.txt
- pip install docstring_parser
- name: List installed packages (Bash)
shell: bash -l {0}
@@ -263,7 +250,7 @@ jobs:
env:
MPLBACKEND: Agg
shell: bash -l {0}
- run: pytest tests/ -m "not linux"
+ run: pytest tests/ -m "not linux" --optimization
- name: Start Terminal and exit
shell: bash -l {0}
diff --git a/openbb_terminal/dashboards/dashboards_controller.py b/openbb_terminal/dashboards/dashboards_controller.py
index e81b7dd9d16..0b657707457 100644
--- a/openbb_terminal/dashboards/dashboards_controller.py
+++ b/openbb_terminal/dashboards/dashboards_controller.py
@@ -155,7 +155,7 @@ def create_call_voila(other_args: List[str], name: str, filename: str = None) ->
console.print(
f"Warning: opens a port on your computer to run a {cmd} server."
)
- response = input("Would you like us to run the server for you? y/n\n")
+ response = input("Would you like us to run the server for you [yn]? ")
args = ""
if ns_parser.dark and not ns_parser.jupyter:
args += "--theme=dark"
@@ -201,7 +201,7 @@ def create_call_streamlit(
console.print(
f"Warning: opens a port on your computer to run a {cmd} server."
)
- response = input("Would you like us to run the server for you? y/n\n")
+ response = input("Would you like us to run the server for you [yn]? ")
args = ""
if ns_parser.input or response.lower() == "y":
subprocess.Popen(
diff --git a/openbb_terminal/feature_flags.py b/openbb_terminal/feature_flags.py
index 14e9d0c6479..7131e8d8052 100644
--- a/openbb_terminal/feature_flags.py
+++ b/openbb_terminal/feature_flags.py
@@ -4,7 +4,6 @@ import os.path
# IMPORTATION THIRDPARTY
from dotenv import load_dotenv
-import pkg_resources
import i18n
# IMPORTATION INTERNAL
@@ -143,6 +142,7 @@ GUESS_EASTER_EGG_FILE = str(
try:
if not WITH_GIT:
+ import pkg_resources
version = pkg_resources.get_distribution("OpenBB").version
else:
raise Exception("Using git")
diff --git a/poetry.lock b/poetry.lock
index 6b4dec37aec..37db566a7f9 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -341,10 +341,10 @@ optional = false
python-versions = ">=3.6.0"
[package.extras]
+dev = ["coverage (>=5.5)", "mypy (>=0.800)", "pytest (>=4.0.0)", "tox (>=3.20.1)", "sphinx (>=3.4.3)"]
+doc-rtd = ["sphinx (==3.4.3)", "sphinx-rtd-theme (==0.5.1)"]
+test-tox = ["mypy (>=0.800)", "pytest (>=4.0.0)"]
test-tox-coverage = ["coverage (>=5.5)"]
-test-tox = ["pytest (>=4.0.0)", "mypy (>=0.800)"]
-doc-rtd = ["sphinx-rtd-theme (==0.5.1)", "sphinx (==3.4.3)"]
-dev = ["sphinx (>=3.4.3)", "tox (>=3.20.1)", "pytest (>=4.0.0)", "mypy (>=0.800)", "coverage (>=5.5)"]
[[package]]
name = "beautifulsoup4"
@@ -433,7 +433,7 @@ ffn = ">=0.3.5"
pyprind = ">=2.11"
[package.extras]
-dev = ["pyprind (>=2.11)", "ffn (>=0.3.5)", "matplotlib (>=2)", "pandas (>=0.19)", "numpy (>=1)", "nose", "mock", "future", "flake8-black", "flake8", "cython (>=0.25)", "coverage", "codecov", "black (>=20.8b1)"]
+dev = ["black (>=20.8b1)", "codecov", "coverage", "cython (>=0.25)", "flake8", "flake8-black", "future", "mock", "nose", "numpy (>=1)", "pandas (>=0.19)", "matplotlib (>=2)", "ffn (>=0.3.5)", "pyprind (>=2.11)"]
[[package]]
name = "cachetools"
@@ -585,7 +585,7 @@ optional = false
python-versions = "*"
[package.extras]
-test = ["hypothesis (==3.55.3)", "flake8 (==3.7.8)"]
+test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"]
[[package]]
name = "convertdate"
@@ -889,7 +889,7 @@ optional = false
python-versions = "*"
[package.extras]
-tests = ["rich", "littleutils", "pytest", "asttokens"]
+tests = ["asttokens", "pytest", "littleutils", "rich"]
[[package]]
name = "fastjsonschema"
@@ -1052,8 +1052,8 @@ scipy = ">=1.6"
wrapt = ">=1.0"
[package.extras]
-calculus = ["sympy (>=1.3,<1.10)"]
arrow = ["pyarrow (>=1)"]
+calculus = ["sympy (>=1.3,<1.10)"]
[[package]]
name = "fred"
@@ -1271,10 +1271,10 @@ six = ">=1.9"
webencodings = "*"
[package.extras]
-lxml = ["lxml"]
-genshi = ["genshi"]
+all = ["genshi", "chardet (>=2.2)", "lxml"]
chardet = ["chardet (>=2.2)"]
-all = ["lxml", "chardet (>=2.2)", "genshi"]
+genshi = ["genshi"]
+lxml = ["lxml"]
[[package]]
name = "httpcore"
@@ -1393,7 +1393,7 @@ python-versions = ">=3.8,<4.0"
httpx = ">=0.23.0,<0.24.0"
[package.extras]
-docs = ["mkdocstrings[python] (>=0.19.0,<0.20.0)", "mkdocs-git-revision-date-localized-plugin (>=1.1.0,<2.0.0)", "mkdocs-material (>=8.5.4,<9.0.0)", "mkdocs (>=1.4.0,<2.0.0)"]
+docs = ["mkdocs (>=1.4.0,<2.0.0)", "mkdocs-material (>=8.5.4,<9.0.0)", "mkdocs-git-revision-date-localized-plugin (>=1.1.0,<2.0.0)", "mkdocstrings[python] (>=0.19.0,<0.20.0)"]
[[package]]
name = "investpy"
@@ -1430,8 +1430,8 @@ python-versions = ">=3.6"
ipywidgets = ">=7.0.0"
[package.extras]
-test = ["nbval", "pytest-cov", "pytest (>=4.6)"]
-docs = ["sphinx-rtd-theme", "sphinx (>=1.5)", "recommonmark", "pypandoc", "pytest-check-links", "nbsphinx-link", "nbsphinx", "jupyter-sphinx"]
+docs = ["jupyter-sphinx", "nbsphinx", "nbsphinx-link", "pytest-check-links", "pypandoc", "recommonmark", "sphinx (>=1.5)", "sphinx-rtd-theme"]
+test = ["pytest (>=4.6)", "pytest-cov", "nbval"]
[[package]]
name = "ipykernel"
@@ -1460,20 +1460,16 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest-cov", "pytest-timeout", "p
[[package]]
name = "ipympl"
-version = "0.8.8"
+version = "0.8.4"
description = "Matplotlib Jupyter Extension"
category = "main"
optional = false
python-versions = "*"
[package.dependencies]
-ipython = "<9"
-ipython-genutils = "*"
-ipywidgets = ">=7.6.0,<8"
-matplotlib = ">=2.0.0,<4"
-numpy = "*"
-pillow = "*"
-traitlets = "<6"
+ipykernel = ">=4.7"
+ipywidgets = ">=7.6.0"
+matplotlib = ">=2.0.0"
[[package]]
name = "ipython"
@@ -1520,22 +1516,21 @@ python-versions = "*"
[[package]]
name = "ipywidgets"
-version = "7.7.2"
-description = "IPython HTML widgets for Jupyter"
+version = "8.0.2"
+description = "Jupyter interactive widgets"
category = "main"
optional = false
-python-versions = "*"
+python-versions = ">=3.7"
[package.dependencies]
ipykernel = ">=4.5.1"
-ipython = {version = ">=4.0.0", markers = "python_version >= \"3.3\""}
-ipython-genutils = ">=0.2.0,<0.3.0"
-jupyterlab-widgets = {version = ">=1.0.0,<3", markers = "python_version >= \"3.6\""}
+ipython = ">=6.1.0"
+jupyterlab-widgets = ">=3.0,<4.0"
traitlets = ">=4.3.1"
-widgetsnbextension = ">=3.6.0,<3.7.0"
+widgetsnbextension = ">=4.0,<5.0"
[package.extras]
-test = ["pytest (>=3.6.0)", "pytest-cov", "mock"]
+test = ["jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"]
[[package]]
name = "iso8601"
@@ -1639,24 +1634,8 @@ format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors
format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"]
[[package]]
-name = "jupyter"
-version = "1.0.0"
-description = "Jupyter metapackage. Install all the Jupyter components in one go."
-category = "main"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-ipykernel = "*"
-ipywidgets = "*"
-jupyter-console = "*"
-nbconvert = "*"
-notebook = "*"
-qtconsole = "*"
-
-[[package]]
name = "jupyter-client"
-version = "7.4.3"
+version = "7.4.1"
description = "Jupyter protocol implementation and client libraries"
category = "main"
optional = false
@@ -1673,25 +1652,7 @@ traitlets = "*"
[package.extras]
doc = ["ipykernel", "myst-parser", "sphinx-rtd-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt"]
-test = ["codecov", "coverage", "ipykernel (>=6.12)", "ipython", "mypy", "pre-commit", "pytest", "pytest-asyncio (>=0.18)", "pytest-cov", "pytest-timeout"]
-
-[[package]]
-name = "jupyter-console"
-version = "6.4.4"
-description = "Jupyter terminal console"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-
-[package.dependencies]
-ipykernel = "*"
-ipython = "*"
-jupyter-client = ">=7.0.0"
-prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0"
-pygments = "*"
-
-[package.extras]
-test = ["pexpect"]
+test = ["codecov", "coverage", "ipykernel (>=6.5)", "ipython", "mypy", "pre-commit", "pytest", "pytest-asyncio (>=0.18)", "pytest-cov", "pytest-timeout"]
[[package]]
name = "jupyter-core"
@@ -1829,11 +1790,11 @@ test = ["codecov", "ipykernel", "jupyter-server", "openapi-core (>=0.14.2,<0.15.
[[package]]
name = "jupyterlab-widgets"
-version = "1.1.1"
-description = "A JupyterLab extension."
+version = "3.0.3"
+description = "Jupyter interactive widgets for JupyterLab"
category = "main"
optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
[[package]]
name = "kiwisolver"
@@ -1916,7 +1877,7 @@ colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""}
win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""}
[package.extras]
-dev = ["sphinx-rtd-theme (>=0.4.3)", "sphinx-autobuild (>=0.7.1)", "Sphinx (>=4.1.1)", "isort (>=5.1.1)", "black (>=19.10b0)", "pytest-cov (>=2.7.1)", "pytest (>=4.6.2)", "tox (>=3.9.0)", "flake8 (>=3.7.7)", "docutils (==0.16)", "colorama (>=0.3.4)"]
+dev = ["colorama (>=0.3.4)", "docutils (==0.16)", "flake8 (>=3.7.7)", "tox (>=3.9.0)", "pytest (>=4.6.2)", "pytest-cov (>=2.7.1)", "black (>=19.10b0)", "isort (>=5.1.1)", "Sphinx (>=4.1.1)", "sphinx-autobuild (>=0.7.1)", "sphinx-rtd-theme (>=0.4.3)"]
[[package]]
name = "lunarcalendar"
@@ -1982,12 +1943,12 @@ python-versions = "~=3.6"
attrs = ">=19,<22"
[package.extras]
-testing = ["pytest-regressions", "pytest-cov", "pytest-benchmark (>=3.2,<4.0)", "pytest (>=3.6,<4)", "psutil", "coverage"]
-rtd = ["sphinx-book-theme", "sphinx-panels (>=0.4.0,<0.5.0)", "sphinx-copybutton", "sphinx (>=2,<4)", "pyyaml", "myst-nb (==0.13.0a1)"]
-plugins = ["mdit-py-plugins"]
-linkify = ["linkify-it-py (>=1.0,<2.0)"]
-compare = ["panflute (>=1.12,<2.0)", "mistune (>=0.8.4,<0.9.0)", "mistletoe-ebp (>=0.10.0,<0.11.0)", "markdown (>=3.2.2,<3.3.0)", "commonmark (>=0.9.1,<0.10.0)"]
code_style = ["pre-commit (==2.6)"]
+compare = ["commonmark (>=0.9.1,<0.10.0)", "markdown (>=3.2.2,<3.3.0)", "mistletoe-ebp (>=0.10.0,<0.11.0)", "mistune (>=0.8.4,<0.9.0)", "panflute (>=1.12,<2.0)"]
+linkify = ["linkify-it-py (>=1.0,<2.0)"]
+plugins = ["mdit-py-plugins"]
+rtd = ["myst-nb (==0.13.0a1)", "pyyaml", "sphinx (>=2,<4)", "sphinx-copybutton", "sphinx-panels (>=0.4.0,<0.5.0)", "sphinx-book-theme"]
+testing = ["coverage", "psutil", "pytest (>=3.6,<4)", "pytest-benchmark (>=3.2,<4.0)", "pytest-cov", "pytest-regressions"]
[[package]]
name = "markupsafe"
@@ -2047,9 +2008,9 @@ python-versions = "~=3.6"
markdown-it-py = ">=1.0,<2.0"
[package.extras]
-testing = ["pytest-regressions", "pytest-cov", "pytest (>=3.6,<4)", "coverage"]
-rtd = ["sphinx-book-theme (>=0.1.0,<0.2.0)", "myst-parser (==0.14.0a3)"]
code_style = ["pre-commit (==2.6)"]
+rtd = ["myst-parser (==0.14.0a3)", "sphinx-book-theme (>=0.1.0,<0.2.0)"]
+testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions"]
[[package]]
name = "mistune"
@@ -2568,7 +2529,7 @@ testing = ["docopt", "pytest (<6.0.0)"]
[[package]]
name = "pathspec"
-version = "0.10.1"
+version = "0.10.2"
description = "Utility library for gitignore style pattern matching of file paths."
category = "dev"
optional = false
@@ -2587,7 +2548,7 @@ numpy = ">=1.4"
six = "*"
[package.extras]
-test = ["scipy", "pytest-cov", "pytest"]
+test = ["pytest", "pytest-cov", "scipy"]
[[package]]
name = "pbr"
@@ -2671,8 +2632,8 @@ optional = false
python-versions = ">=3.6"
[package.extras]
-testing = ["pytest-benchmark", "pytest"]
-dev = ["tox", "pre-commit"]
+dev = ["pre-commit", "tox"]
+testing = ["pytest", "pytest-benchmark"]
[[package]]
name = "pmdarima"
@@ -2724,10 +2685,10 @@ python-versions = "~=3.6"
requests = ">=2.6.0,<3.0"
[package.extras]
-test = ["testfixtures (>4.13.2,<7)", "pytest", "mock (>=0.8)", "betamax-serializers (>=0.2.0,<0.3)", "betamax-matchers (>=0.4.0,<0.5)", "betamax (>=0.8,<0.9)"]
-lint = ["flynt", "pydocstyle", "pre-commit", "flake8", "black"]
-dev = ["testfixtures (>4.13.2,<7)", "pytest", "mock (>=0.8)", "betamax-serializers (>=0.2.0,<0.3)", "betamax-matchers (>=0.4.0,<0.5)", "betamax (>=0.8,<0.9)", "flynt", "pydocstyle", "pre-commit", "flake8", "black"]
ci = ["coveralls"]
+dev = ["black", "flake8", "pre-commit", "pydocstyle", "flynt", "betamax (>=0.8,<0.9)", "betamax-matchers (>=0.4.0,<0.5)", "betamax-serializers (>=0.2.0,<0.3)", "mock (>=0.8)", "pytest", "testfixtures (>4.13.2,<7)"]
+lint = ["black", "flake8", "pre-commit", "pydocstyle", "flynt"]
+test = ["betamax (>=0.8,<0.9)", "betamax-matchers (>=0.4.0,<0.5)", "betamax-serializers (>=0.2.0,<0.3)", "mock (>=0.8)", "pytest", "testfixtures (>4.13.2,<7)"]
[[package]]
name = "pre-commit"
@@ -3012,9 +2973,9 @@ sseclient = ">=0.0.22"
temporal-cache = ">=0.1.1"
[package.extras]
+async = ["deprecation (>=2.0.6)", "ipython (>=7.2.0)", "Pillow (>=5.3.0)", "pandas (>=0.22)", "pytz (>=2019.1)", "requests (>=2.21.0)", "six", "socketIO-client-nexus (>=0.7.6)", "sseclient (>=0.0.22)", "temporal-cache (>=0.1.1)", "aiohttp (>=3.2)", "aiohttp-sse-client (>=0.2.0)", "aiostream (>=0.3.1)"]
+dev = ["deprecation (>=2.0.6)", "ipython (>=7.2.0)", "Pillow (>=5.3.0)", "pandas (>=0.22)", "pytz (>=2019.1)", "requests (>=2.21.0)", "six", "socketIO-client-nexus (>=0.7.6)", "sseclient (>=0.0.22)", "temporal-cache (>=0.1.1)", "aiohttp (>=3.2)", "aiohttp-sse-client (>=0.2.0)", "aiostream (>=0.3.1)", "TA-Lib (>=0.4.17)", "black (>=20)", "bump2version (>=1.0.0)", "flake8 (>=3.7.8)", "flake8-black (>=0.2.1)", "mock", "pytest (>=4.3.0)", "pytest-cov (>=2.6.1)", "recommonmark", "Sphinx (>=1.8.4)", "sphinx-markdown-builder (>=0.5.2)", "sphinx-rtd-theme"]
studies = ["TA-Lib (>=0.4.17)"]
-dev = ["sphinx-rtd-theme", "sphinx-markdown-builder (>=0.5.2)", "Sphinx (>=1.8.4)", "recommonmark", "pytest-cov (>=2.6.1)", "pytest (>=4.3.0)", "mock", "flake8-black (>=0.2.1)", "flake8 (>=3.7.8)", "bump2version (>=1.0.0)", "black (>=20)", "TA-Lib (>=0.4.17)", "aiostream (>=0.3.1)", "aiohttp-sse-client (>=0.2.0)", "aiohttp (>=3.2)", "temporal-cache (>=0.1.1)", "sseclient (>=0.0.22)", "socketIO-client-nexus (>=0.7.6)", "six", "requests (>=2.21.0)", "pytz (>=2019.1)", "pandas (>=0.22)", "Pillow (>=5.3.0)", "ipython (>=7.2.0)", "deprecation (>=2.0.6)"]
-async = ["aiostream (>=0.3.1)", "aiohttp-sse-client (>=0.2.0)", "aiohttp (>=3.2)", "temporal-cache (>=0.1.1)", "sseclient (>=0.0.22)", "socketIO-client-nexus (>=0.7.6)", "six", "requests (>=2.21.0)", "pytz (>=2019.1)", "pandas (>=0.22)", "Pillow (>=5.3.0)", "ipython (>=7.2.0)", "deprecation (>=2.0.6)"]
[[package]]
name = "pyflakes"
@@ -3066,8 +3027,8 @@ numpy = ">=1.12.0"
scipy = ">=1.0.0"
[package.extras]
-tests = ["pytest-xdist", "pytest"]
-docs = ["jupyter-client", "nbsphinx", "sphinx-rtd-theme", "astunparse", "ipython", "sphinx"]
+docs = ["sphinx", "ipython", "astunparse", "sphinx-rtd-theme", "nbsphinx", "jupyter-client"]
+tests = ["pytest", "pytest-xdist"]
[[package]]
name = "pyinstaller"
@@ -3249,7 +3210,7 @@ coverage = {version = ">=5.2.1", extras = ["toml"]}
pytest = ">=4.6"
[package.extras]
-testing = ["virtualenv", "pytest-xdist", "six", "process-tests", "hunter", "fields"]
+testing = ["fields", "hunter", "process-tests", "six", "pytest-xdist", "virtualenv"]
[[package]]
name = "pytest-mock"
@@ -3297,7 +3258,7 @@ loguru = "*"
typing-extensions = "*"
[package.extras]
-testing = ["pytest-asyncio", "pytest-mock", "pytest-socket", "pytest-cov", "pytest", "mock", "typing-extensions", "loguru", "flake8", "dnspython", "base58", "backoff", "aiohttp (>=3.7.4)", "aiodns"]
+testing = ["aiodns", "aiohttp (>=3.7.4)", "backoff", "base58", "dnspython", "flake8", "loguru", "typing-extensions", "mock", "pytest", "pytest-cov", "pytest-socket", "pytest-mock", "pytest-asyncio"]
[[package]]
name = "python-binance"
@@ -3491,42 +3452,6 @@ numpy = ">=1.7"
scipy = ">=0.13.2"
[[package]]
-name = "qtconsole"
-version = "5.3.2"
-description = "Jupyter Qt console"
-category = "main"
-optional = false
-python-versions = ">= 3.7"
-
-[package.dependencies]
-ipykernel = ">=4.1"
-ipython-genutils = "*"
-jupyter-client = ">=4.1"
-jupyter-core = "*"
-pygments = "*"
-pyzmq = ">=17.1"
-qtpy = ">=2.0.1"
-traitlets = "<5.2.1 || >5.2.1,<5.2.2 || >5.2.2"
-
-[package.extras]
-doc = ["Sphinx (>=1.3)"]
-test = ["flaky", "pytest", "pytest-qt"]
-
-[[package]]
-name = "qtpy"
-version = "2.2.1"
-description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)."
-category = "main"
-optional = false
-python-versions = ">=3.7"
-
-[package.dependencies]
-packaging = "*"
-
-[package.extras]
-test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"]
-
-[[package]]
name = "quandl"
version = "3.7.0"
description = "Package for quandl API access"
@@ -3709,10 +3634,10 @@ scipy = ">=1.3.2"
threadpoolctl = ">=2.0.0"
[package.extras]
-tests = ["numpydoc (>=1.2.0)", "pyamg (>=4.0.0)", "mypy (>=0.961)", "black (>=22.3.0)", "flake8 (>=3.8.2)", "pytest-cov (>=2.9.0)", "pytest (>=5.0.1)", "pandas (>=1.0.5)", "scikit-image (>=0.16.2)", "matplotlib (>=3.1.2)"]
-examples = ["seaborn (>=0.9.0)", "pandas (>=1.0.5)", "scikit-image (>=0.16.2)", "matplotlib (>=3.1.2)"]
-docs = ["sphinxext-opengraph (>=0.4.2)", "sphinx-prompt (>=1.3.0)", "Pillow (>=7.1.2)", "numpydoc (>=1.2.0)", "sphinx-gallery (>=0.7.0)", "sphinx (>=4.0.1)", "memory-profiler (>=0.57.0)", "seaborn (>=0.9.0)", "pandas (>=1.0.5)", "scikit-image (>=0.16.2)", "matplotlib (>=3.1.2)"]
-benchmark = ["memory-profiler (>=0.57.0)", "pandas (>=1.0.5)", "matplotlib (>=3.1.2)"]
+benchmark = ["matplotlib (>=3.1.2)", "pandas (>=1.0.5)", "memory-profiler (>=0.57.0)"]
+docs = ["matplotlib (>=3.1.2)", "scikit-image (>=0.16.2)", "pandas (>=1.0.5)", "seaborn (>=0.9.0)", "memory-profiler (>=0.57.0)", "sphinx (>=4.0.1)", "sphinx-gallery (>=0.7.0)", "numpydoc (>=1.2.0)", "Pillow (>=7.1.2)", "sphinx-prompt (>=1.3.0)", "sphinxext-opengraph (>=0.4.2)"]
+examples = ["matplotlib (>=3.1.2)", "scikit-image (>=0.16.2)", "pandas (>=1.0.5)", "seaborn (>=0.9.0)"]
+tests = ["matplotlib (>=3.1.2)", "scikit-image (>=0.16.2)", "pandas (>=1.0.5)", "pytest (>=5.0.1)", "pytest-cov (>=2.9.0)", "flake8 (>=3.8.2)", "black (>=22.3.0)", "mypy (>=0.961)", "pyamg (>=4.0.0)", "numpydoc (>=1.2.0)"]
[[package]]
name = "scipy"
@@ -3962,8 +3887,8 @@ optional = false
python-versions = ">=3.5"
[package.extras]
+lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
-lint = ["docutils-stubs", "mypy", "flake8"]
[[package]]
name = "sphinxcontrib-devhelp"
@@ -3974,8 +3899,8 @@ optional = false
python-versions = ">=3.5"
[package.extras]
+lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
-lint = ["docutils-stubs", "mypy", "flake8"]
[[package]]
name = "sphinxcontrib-htmlhelp"
@@ -3986,8 +3911,8 @@ optional = false
python-versions = ">=3.6"
[package.extras]
-test = ["html5lib", "pytest"]
-lint = ["docutils-stubs", "mypy", "flake8"]
+lint = ["flake8", "mypy", "docutils-stubs"]
+test = ["pytest", "html5lib"]
[[package]]
name = "sphinxcontrib-jsmath"
@@ -3998,7 +3923,7 @@ optional = false
python-versions = ">=3.5"
[package.extras]
-test = ["mypy", "flake8", "pytest"]
+test = ["pytest", "flake8", "mypy"]
[[package]]
name = "sphinxcontrib-qthelp"
@@ -4009,8 +3934,8 @@ optional = false
python-versions = ">=3.5"
[package.extras]
+lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
-lint = ["docutils-stubs", "mypy", "flake8"]
[[package]]
name = "sphinxcontrib-serializinghtml"
@@ -4058,7 +3983,7 @@ executing = "*"
pure-eval = "*"
[package.extras]
-tests = ["cython", "littleutils", "pygments", "typeguard", "pytest"]
+tests = ["pytest", "typeguard", "pygments", "littleutils", "cython"]
[[package]]
name = "statsforecast"
@@ -4200,7 +4125,7 @@ frozendict = ">=1.2"
tzlocal = ">=2.0.0"
[package.extras]
-dev = ["tzlocal (>=2.0.0)", "frozendict (>=1.2)", "sphinx-markdown-builder (>=0.5.2)", "Sphinx (>=1.8.4)", "pytest-cov (>=2.6.1)", "pytest (>=4.3.0)", "mock", "flake8-black (>=0.2.1)", "flake8 (>=3.7.8)", "bump2version (>=1.0.0)", "black (>=20)"]
+dev = ["black (>=20)", "bump2version (>=1.0.0)", "flake8 (>=3.7.8)", "flake8-black (>=0.2.1)", "mock", "pytest (>=4.3.0)", "pytest-cov (>=2.6.1)", "Sphinx (>=1.8.4)", "sphinx-markdown-builder (>=0.5.2)", "frozendict (>=1.2)", "tzlocal (>=2.0.0)"]
[[package]]
name = "tenacity"
@@ -4693,26 +4618,25 @@ testing = ["coverage (>=6.2)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7
[[package]]
name = "voila"
-version = "0.3.6"
+version = "0.4.0"
description = "VoilĂ  turns Jupyter notebooks into standalone web applications"
category = "main"
optional = false
python-versions = ">=3.7"
[package.dependencies]
-jupyter-client = ">=6.1.3,<8"
+jupyter-client = ">=6.1.3,<=7.4.1"
jupyter-core = ">=4.11.0"
jupyter-server = ">=1.18,<2.0.0"
jupyterlab-server = ">=2.3.0,<3"
-nbclient = ">=0.4.0,<0.6"
-nbconvert = ">=6.4.5,<7"
+nbclient = ">=0.4.0,<0.8"
+nbconvert = ">=6.4.5,<8"
traitlets = ">=5.0.3,<6"
websockets = ">=9.0"
[package.extras]
-dev = ["black", "bump2version", "jupyter-releaser (>=0.6,<1.0)"]
-test = ["numpy", "pandas", "ipywidgets", "matplotlib", "mock", "pytest", "pytest-rerunfailures", "pytest-tornasync"]
-visual_test = ["jupyterlab (>=3.0,<4.0)", "bqplot", "scipy", "ipympl (==0.8.7)", "ipyvolume", "jupyterlab-miami-nights (==0.3.2)"]
+dev = ["black", "hatch", "jupyter-releaser"]
+test = ["ipywidgets", "matplotlib", "mock", "numpy", "pandas", "papermill", "pytest", "pytest-rerunfailures", "pytest-tornasync"]
[[package]]
name = "watchdog"
@@ -4778,14 +4702,11 @@ watchdog = ["watchdog"]
[[package]]
name = "widgetsnbextension"
-version = "3.6.1"
-description = "IPython HTML widgets for Jupyter"
+version = "4.0.3"
+description = "Jupyter interactive widgets for Jupyter Notebook"
category = "main"
optional = false
-python-versions = "*"
-
-[package.dependencies]
-notebook = ">=4.4.1"
+python-versions = ">=3.7"
[[package]]
name = "win32-setctime"
@@ -4796,7 +4717,7 @@ optional = false
python-versions = ">=3.5"
[package.extras]
-dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"]
+dev = ["pytest (>=4.6.2)", "black (>=19.3b0)"]
[[package]]
name = "wrapt"
@@ -4898,7 +4819,7 @@ prediction = ["torch", "pytorch-lightning", "u8darts"]
[metadata]
lock-version = "1.1"
python-versions = "^3.8,<3.11, !=3.9.7"
-content-hash = "3909cf6de72eaf90a525f982970d3020bb39fa0ff7c183b683cf476079955e14"
+content-hash = "8ca9e9770f3a1000767ced3d201968914db06136cde19041d046b2ea8d2ca8c1"
[metadata.files]
absl-py = []
@@ -5028,9 +4949,7 @@ jinja2 = []
joblib = []
json5 = []
jsonschema = []
-jupyter = []
jupyter-client = []
-jupyter-console = []
jupyter-core = []
jupyter-lsp = []
jupyter-server = []
@@ -5167,8 +5086,6 @@ pywinpty = []
pyyaml = []
pyzmq = []
qdldl = []
-qtconsole = []
-qtpy = []
quandl = []
rapidfuzz = []
regex = []
diff --git a/pyproject.toml b/pyproject.toml
index 9aa43b065e0..305574d41e7 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -33,7 +33,6 @@ pytrends = "^4.7.3"
matplotlib = "^3.3.3"
plotly = "^5.0.0"
prompt-toolkit = "^3.0.16"
-jupyter = "^1.0.0"
jupyterlab = "^3.2.4"
mplfinance = "^0.