diff --git a/.github/workflows/intel_macos_build.yml b/.github/workflows/intel_macos_build.yml index 2b176c1831b6..fc062a0d5882 100644 --- a/.github/workflows/intel_macos_build.yml +++ b/.github/workflows/intel_macos_build.yml @@ -103,6 +103,8 @@ jobs: /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/.dylibs/*.dylib /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/stan_model/cmdstan-2.26.1/stan/lib/stan_math/lib/tbb/*.dylib /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/torch/.dylibs/*.dylib + /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/sklearn/.dylibs/*.dylib + echo "Code Signing Other Files" /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/stan_model/prophet_model.bin /usr/bin/codesign --deep --force --verify --verbose --options runtime --entitlements "build/pyinstaller/entitlements.plist" -s $MACOS_CODESIGN_IDENTITY DMG/OpenBB\ Terminal/.OpenBB/prophet/stan_model/cmdstan-2.26.1/bin/diagnose diff --git a/build/nsis/setup.nsi b/build/nsis/setup.nsi index 874d1eb8a4eb..cafeb25b492f 100644 --- a/build/nsis/setup.nsi +++ b/build/nsis/setup.nsi @@ -10,7 +10,7 @@ !define NAME "OpenBB Terminal" !define COMPANY "OpenBB" !define APPFILE "OpenBBTerminal.exe" - !define VERSION "1.9.0" + !define VERSION "2.0.0rc1" !define SLUG "${NAME} v${VERSION}" ;-------------------------------- diff --git a/build/pypi/build.sh b/build/pypi/build.sh old mode 100644 new mode 100755 index 53f67fad0efc..b02d361e4361 --- a/build/pypi/build.sh +++ b/build/pypi/build.sh @@ -6,5 +6,4 @@ OPENBB_LOGGING_APP_NAME="gst_packaged_pypi" echo "OPENBB_LOGGING_APP_NAME='${OPENBB_LOGGING_APP_NAME}'" > openbb_terminal/.env echo "OPENBB_LOGGING_COMMIT_HASH=${OPENBB_LOGGING_COMMIT_HASH}" >> openbb_terminal/.env -poetry build -poetry publish \ No newline at end of file +poetry publish --build \ No newline at end of file diff --git a/build/pypi/test_publish.sh b/build/pypi/test_publish.sh new file mode 100755 index 000000000000..ef5c2e1a3485 --- /dev/null +++ b/build/pypi/test_publish.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# BUILD `openbb_terminal/.env` +OPENBB_LOGGING_COMMIT_HASH="sha:$(git rev-parse --short=8 HEAD)" +OPENBB_LOGGING_APP_NAME="gst_packaged_pypi" +echo "OPENBB_LOGGING_APP_NAME='${OPENBB_LOGGING_APP_NAME}'" > openbb_terminal/.env +echo "OPENBB_LOGGING_COMMIT_HASH=${OPENBB_LOGGING_COMMIT_HASH}" >> openbb_terminal/.env + +poetry publish -r testpypi --build \ No newline at end of file diff --git a/docker/compose.env b/docker/compose.env index 904e3212e7a3..af5e28eee427 100644 --- a/docker/compose.env +++ b/docker/compose.env @@ -1,2 +1,2 @@ OPENBBTERMINAL_DOCKER_REGISTRY="ghcr.io" -OPENBBTERMINAL_DOCKER_RELEASE_VERSION="1.9.1" +OPENBBTERMINAL_DOCKER_RELEASE_VERSION="2.0.0rc1" diff --git a/docker/poetry.dockerfile b/docker/poetry.dockerfile index 13f2b38f9821..2028cb4c6a19 100644 --- a/docker/poetry.dockerfile +++ b/docker/poetry.dockerfile @@ -46,9 +46,10 @@ RUN curl -sSL https://install.python-poetry.org | python3 - WORKDIR $PYSETUP_PATH # Copy poetry files and install git -COPY pyproject.toml README.md poetry.lock ./ +COPY pyproject.toml openbb_terminal/SDK_README.md poetry.lock ./ RUN mkdir $PYSETUP_PATH/openbb_terminal +RUN mv SDK_README.md ./openbb_terminal RUN touch openbb_terminal/__init__.py # install runtime deps - uses $POETRY_VIRTUALENVS_IN_PROJECT internally diff --git a/openbb_terminal/feature_flags.py b/openbb_terminal/feature_flags.py index 742e791430f9..6c8e552992d7 100644 --- a/openbb_terminal/feature_flags.py +++ b/openbb_terminal/feature_flags.py @@ -137,7 +137,7 @@ try: version = pkg_resources.get_distribution("OpenBBTerminal").version except Exception: - version = "1.9.0m" + version = "2.0.0rc1" VERSION = str(os.getenv("OPENBB_VERSION", version)) # Select the terminal translation language diff --git a/openbb_terminal/terminal_helper.py b/openbb_terminal/terminal_helper.py index 81ddd9045721..701779f0d671 100644 --- a/openbb_terminal/terminal_helper.py +++ b/openbb_terminal/terminal_helper.py @@ -9,7 +9,7 @@ import os import subprocess # nosec import sys -from typing import List +from typing import List, Optional # IMPORTATION THIRDPARTY import requests @@ -220,23 +220,29 @@ def check_for_updates() -> None: r = None if r is not None and r.status_code == 200: - release: str = r.json()["html_url"].split("/")[-1].replace("v", "") - lastest_split = release.split(".") - current = obbff.VERSION.replace("m", "").split(".") - for i in range(3): - if int(lastest_split[i]) > int(current[i]): - console.print( - "[bold red]You are not using the latest version[/bold red]" - ) + latest_version = r.json()["tag_name"] + latest_version_number = get_version_number(tag=latest_version) + current_version_number = get_version_number(tag=obbff.VERSION) + + if latest_version_number and current_version_number: + + if current_version_number == latest_version_number: + console.print("[green]You are using the latest stable version[/green]") + return + else: console.print( - "[yellow]Check for updates at https://openbb.co/products/terminal#get-started[/yellow]" + "[yellow]You are not using the latest stable version[/yellow]" ) - break - if int(lastest_split[i]) < int(current[i]): - console.print("[yellow]You are using an unreleased version[/yellow]") - if release == obbff.VERSION.replace("m", ""): - console.print("[green]You are using the latest version[/green]") - break + if current_version_number < latest_version_number: + console.print( + "[yellow]Check for updates at https://openbb.co/products/terminal#get-started[/yellow]" + ) + else: + console.print( + "[yellow]You are using an unreleased version[/yellow]" + ) + else: + console.print("[red]You are using an unrecognized version.[/red]") else: console.print( "[yellow]Unable to check for updates... " @@ -245,6 +251,23 @@ def check_for_updates() -> None: console.print("\n") +def get_version_number(tag: str) -> Optional[str]: + """Get the release number from a tag.""" + + if not tag.startswith("v") and len(tag.split(".")) != 3: + return None + + if tag.startswith("v"): + tag = tag[1:] + + if "rc" in tag.split(".")[-1]: + tag_split = tag.split(".") + tag_split[-1] = tag_split[-1].split("rc")[0] + tag = ".".join(tag_split) + + return tag + + def welcome_message(): """Print the welcome message diff --git a/poetry.lock b/poetry.lock index 480bb21a5727..6b4dec37aec4 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 = ["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)"] +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)"] [[package]] name = "cachetools" @@ -585,7 +585,7 @@ optional = false python-versions = "*" [package.extras] -test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] +test = ["hypothesis (==3.55.3)", "flake8 (==3.7.8)"] [[package]] name = "convertdate" @@ -889,7 +889,7 @@ optional = false python-versions = "*" [package.extras] -tests = ["asttokens", "pytest", "littleutils", "rich"] +tests = ["rich", "littleutils", "pytest", "asttokens"] [[package]] name = "fastjsonschema" @@ -1052,8 +1052,8 @@ scipy = ">=1.6" wrapt = ">=1.0" [package.extras] -arrow = ["pyarrow (>=1)"] calculus = ["sympy (>=1.3,<1.10)"] +arrow = ["pyarrow (>=1)"] [[package]] name = "fred" @@ -1271,10 +1271,10 @@ six = ">=1.9" webencodings = "*" [package.extras] -all = ["genshi", "chardet (>=2.2)", "lxml"] -chardet = ["chardet (>=2.2)"] -genshi = ["genshi"] lxml = ["lxml"] +genshi = ["genshi"] +chardet = ["chardet (>=2.2)"] +all = ["lxml", "chardet (>=2.2)", "genshi"] [[package]] name = "httpcore" @@ -1393,7 +1393,7 @@ python-versions = ">=3.8,<4.0" httpx = ">=0.23.0,<0.24.0" [package.extras] -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)"] +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)"] [[package]] name = "investpy" @@ -1430,8 +1430,8 @@ python-versions = ">=3.6" ipywidgets = ">=7.0.0" [package.extras] -docs = ["jupyter-sphinx", "nbsphinx", "nbsphinx-link", "pytest-check-links", "pypandoc", "recommonmark", "sphinx (>=1.5)", "sphinx-rtd-theme"] -test = ["pytest (>=4.6)", "pytest-cov", "nbval"] +test = ["nbval", "pytest-cov", "pytest (>=4.6)"] +docs = ["sphinx-rtd-theme", "sphinx (>=1.5)", "recommonmark", "pypandoc", "pytest-check-links", "nbsphinx-link", "nbsphinx", "jupyter-sphinx"] [[package]] name = "ipykernel" @@ -1916,7 +1916,7 @@ colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""} win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""} [package.extras] -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)"] +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)"] [[package]] name = "lunarcalendar" @@ -1982,12 +1982,12 @@ python-versions = "~=3.6" attrs = ">=19,<22" [package.extras] -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)"] +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"] -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"] +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)"] [[package]] name = "markupsafe" @@ -2047,9 +2047,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" @@ -2587,7 +2587,7 @@ numpy = ">=1.4" six = "*" [package.extras] -test = ["pytest", "pytest-cov", "scipy"] +test = ["scipy", "pytest-cov", "pytest"] [[package]] name = "pbr" @@ -2671,8 +2671,8 @@ optional = false python-versions = ">=3.6" [package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] +testing = ["pytest-benchmark", "pytest"] +dev = ["tox", "pre-commit"] [[package]] name = "pmdarima" @@ -2724,10 +2724,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 +3012,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 +3066,8 @@ numpy = ">=1.12.0" scipy = ">=1.0.0" [package.extras] -docs = ["sphinx", "ipython", "astunparse", "sphinx-rtd-theme", "nbsphinx", "jupyter-client"] -tests = ["pytest", "pytest-xdist"] +tests = ["pytest-xdist", "pytest"] +docs = ["jupyter-client", "nbsphinx", "sphinx-rtd-theme", "astunparse", "ipython", "sphinx"] [[package]] name = "pyinstaller" @@ -3249,7 +3249,7 @@ coverage = {version = ">=5.2.1", extras = ["toml"]} pytest = ">=4.6" [package.extras] -testing = ["fields", "hunter", "process-tests", "six", "pytest-xdist", "virtualenv"] +testing = ["virtualenv", "pytest-xdist", "six", "process-tests", "hunter", "fields"] [[package]] name = "pytest-mock" @@ -3297,7 +3297,7 @@ loguru = "*" typing-extensions = "*" [package.extras] -testing = ["aiodns", "aiohttp (>=3.7.4)", "backoff", "base58", "dnspython", "flake8", "loguru", "typing-extensions", "mock", "pytest", "pytest-cov", "pytest-socket", "pytest-mock", "pytest-asyncio"] +testing = ["pytest-asyncio", "pytest-mock", "pytest-socket", "pytest-cov", "pytest", "mock", "typing-extensions", "loguru", "flake8", "dnspython", "base58", "backoff", "aiohttp (>=3.7.4)", "aiodns"] [[package]] name = "python-binance" @@ -3709,21 +3709,26 @@ scipy = ">=1.3.2" threadpoolctl = ">=2.0.0" [package.extras] -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)"] +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)"] [[package]] name = "scipy" -version = "1.8.1" -description = "SciPy: Scientific Library for Python" +version = "1.9.3" +description = "Fundamental algorithms for scientific computing in Python" category = "main" optional = false -python-versions = ">=3.8,<3.11" +python-versions = ">=3.8" [package.dependencies] -numpy = ">=1.17.3,<1.25.0" +numpy = ">=1.18.5,<1.26.0" + +[package.extras] +test = ["pytest", "pytest-cov", "pytest-xdist", "asv", "mpmath", "gmpy2", "threadpoolctl", "scikit-umfpack"] +doc = ["sphinx (!=4.1.0)", "pydata-sphinx-theme (==0.9.0)", "sphinx-panels (>=0.5.2)", "matplotlib (>2)", "numpydoc", "sphinx-tabs"] +dev = ["mypy", "typing-extensions", "pycodestyle", "flake8"] [[package]] name = "screeninfo" @@ -3957,8 +3962,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" @@ -3969,8 +3974,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" @@ -3981,8 +3986,8 @@ optional = false python-versions = ">=3.6" [package.extras] -lint = ["flake8", "mypy", "docutils-stubs"] -test = ["pytest", "html5lib"] +test = ["html5lib", "pytest"] +lint = ["docutils-stubs", "mypy", "flake8"] [[package]] name = "sphinxcontrib-jsmath" @@ -3993,7 +3998,7 @@ optional = false python-versions = ">=3.5" [package.extras] -test = ["pytest", "flake8", "mypy"] +test = ["mypy", "flake8", "pytest"] [[package]] name = "sphinxcontrib-qthelp" @@ -4004,8 +4009,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" @@ -4053,7 +4058,7 @@ executing = "*" pure-eval = "*" [package.extras] -tests = ["pytest", "typeguard", "pygments", "littleutils", "cython"] +tests = ["cython", "littleutils", "pygments", "typeguard", "pytest"] [[package]] name = "statsforecast" @@ -4195,7 +4200,7 @@ frozendict = ">=1.2" tzlocal = ">=2.0.0" [package.extras] -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)"] +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)"] [[package]] name = "tenacity" @@ -4791,7 +4796,7 @@ optional = false python-versions = ">=3.5" [package.extras] -dev = ["pytest (>=4.6.2)", "black (>=19.3b0)"] +dev = ["black (>=19.3b0)", "pytest (>=4.6.2)"] [[package]] name = "wrapt" @@ -4893,7 +4898,7 @@ prediction = ["torch", "pytorch-lightning", "u8darts"] [metadata] lock-version = "1.1" python-versions = "^3.8,<3.11, !=3.9.7" -content-hash = "0e4e519cb229055b15059365bb7f0574d6a7bd823092e9bf6db1908415139aba" +content-hash = "3909cf6de72eaf90a525f982970d3020bb39fa0ff7c183b683cf476079955e14" [metadata.files] absl-py = [] diff --git a/pyproject.toml b/pyproject.toml index 23b4e8d0e3b0..ca02d2d151f7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "OpenBBTerminal" -version = "1.9.1" +version = "2.0.0rc1" description = "Investment Research for Everyone, Anywhere." license = "MIT" authors = ["Didier Rodrigues Lopes"] @@ -17,7 +17,7 @@ openbb = 'openbb_terminal.terminal_controller:parse_args_and_run' [tool.poetry.dependencies] python = "^3.8,<3.11, !=3.9.7" -scipy = "^1.8.1" +scipy = "^1.9.3" iso8601 = "^0.1.14" FundamentalAnalysis = "^0.2.6" requests = "^2.25.1"