Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 3.2.3 #5507

Merged
merged 56 commits into from
Oct 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
eacfcb5
Merge branch 'develop' of https://github.com/OpenBB-finance/OpenBBTer…
jmaslek Aug 29, 2023
d283eae
Merge branch 'develop' of https://github.com/OpenBB-finance/OpenBBTer…
jmaslek Aug 30, 2023
3a341f9
Improve readme header (#5432)
DidierRLopes Sep 12, 2023
41eb6de
Hotfix/weird logs (#5439)
hjoaquim Sep 15, 2023
cb897af
Merge branch 'develop' of https://github.com/OpenBB-finance/OpenBBTer…
jmaslek Sep 15, 2023
bfe8afc
Hotfix/pywry 0.6.1 (#5446)
tehcoderer Sep 18, 2023
c7a2005
Merge branch 'develop' of https://github.com/OpenBB-finance/OpenBBTer…
jmaslek Sep 18, 2023
78ebeef
print message if yahoo finance load fails (#5450)
Light-JH Sep 20, 2023
bf082d1
Hotfix stock screener (#5440)
jmaslek Sep 20, 2023
b803a5b
Merge branch 'develop' of https://github.com/OpenBB-finance/OpenBBTer…
jmaslek Sep 21, 2023
29a5d27
Create holdings' performance for ETFs
nectariosouzou Sep 24, 2023
1ecd426
hotfix/delete-options-screener-intro: Removes deprecated function fro…
deeleeramone Sep 25, 2023
0e4252e
Set up controller and view flow
nectariosouzou Sep 25, 2023
c57a82b
Add basic testing for new etf endpoints
nectariosouzou Sep 27, 2023
e8e2a4a
Merge branch 'OpenBB-finance:develop' into feature/add-etf-holding-pe…
nectariosouzou Sep 27, 2023
b932f1c
Reformatting
nectariosouzou Sep 27, 2023
83d46a5
Fix url issue and change logic for edge cases
nectariosouzou Sep 27, 2023
e1bbe19
Reformat
nectariosouzou Sep 27, 2023
e877728
refactor: reviewpad configuration
ferreiratiago Sep 28, 2023
788c782
chore: update rule should run reviewpad
ferreiratiago Sep 28, 2023
b0f992a
Merge branch 'develop' of https://github.com/OpenBB-finance/OpenBBTer…
jmaslek Sep 28, 2023
4eb8ad0
pin financedatabase
jmaslek Sep 28, 2023
a1d1fbf
Merge pull request #5493 from ferreiratiago/refactor/reviewpad
jmaslek Sep 28, 2023
40ae229
Fix bug that doesn't allow to iterate through tickers with a dot (#5489)
DidierRLopes Sep 28, 2023
fed04cf
Merge branch 'develop' into feature/add-etf-holding-performance
jmaslek Sep 28, 2023
ca8eb1f
Merge branch 'develop' into hotfix/fdpin
jmaslek Sep 28, 2023
038484d
Merge branch 'develop' of https://github.com/OpenBB-finance/OpenBBTer…
jmaslek Sep 28, 2023
08aaae8
Merge pull request #5495 from OpenBB-finance/hotfix/fdpin
jmaslek Sep 28, 2023
952be3b
hotfix/forecast-make-intraday-work: An attempt to make intraday data …
deeleeramone Sep 29, 2023
583cf87
Merge branch 'develop' of https://github.com/OpenBB-finance/OpenBBTer…
jmaslek Sep 29, 2023
98a2f92
bump finvizfinance
jmaslek Sep 30, 2023
020b1ac
Merge pull request #5500 from jmaslek/hotfix/fvbump
jmaslek Sep 30, 2023
cba0c7f
fix couple of pylint errors
deeleeramone Oct 2, 2023
934e9e6
Release 3.2.3
jmaslek Oct 2, 2023
c7a5f53
Merge branch 'main' into release/3.2.3
jmaslek Oct 2, 2023
702f860
Merge pull request #5506 from OpenBB-finance/hotfix/fix-pylint-errors
jmaslek Oct 2, 2023
75a627e
Merge branch 'develop' into release/3.2.3
jmaslek Oct 2, 2023
78cfd1a
residual tests
jmaslek Oct 2, 2023
df119dd
Update readmes + changelog
jmaslek Oct 2, 2023
7aaa7bc
fixing more tests
jmaslek Oct 2, 2023
2bac506
fixing more tests 2
jmaslek Oct 2, 2023
4836170
Add progress bar and get bulk prices
nectariosouzou Oct 2, 2023
7354d6f
Merge branch 'develop' into feature/add-etf-holding-performance
nectariosouzou Oct 2, 2023
580db7d
pin codespell on linting
jmaslek Oct 3, 2023
6406451
Reverse chart and change params to start-date and end-date
jmaslek Oct 3, 2023
f319b2a
default data source
jmaslek Oct 3, 2023
6237bab
pin codespell on action
jmaslek Oct 3, 2023
db5e198
tests
jmaslek Oct 3, 2023
c23f2c8
Merge pull request #5488 from nectariosouzou/feature/add-etf-holding-…
jmaslek Oct 3, 2023
71dff15
Merge branch 'develop' into release/3.2.3
jmaslek Oct 3, 2023
dd6ccbd
Merge branch 'develop' into release/3.2.3
jmaslek Oct 3, 2023
bd23604
Merge branch 'release/3.2.3' of https://github.com/OpenBB-finance/Ope…
jmaslek Oct 3, 2023
51f77b5
test
jmaslek Oct 3, 2023
3703e5f
lint
jmaslek Oct 3, 2023
ebbff04
codesign
jmaslek Oct 3, 2023
b8f6399
trying again
jmaslek Oct 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
restore-keys: ${{ runner.os }}-linting-${{ hashFiles('**/poetry.lock') }}

- run: |
pip install bandit black codespell mypy==1.5.1 pylint==2.17.0 ruff==0.0.285
pip install bandit black codespell==2.2.5 mypy==1.5.1 pylint==2.17.0 ruff==0.0.285
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 .
Expand Down
2 changes: 1 addition & 1 deletion build/docker/compose.env
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
OPENBBTERMINAL_DOCKER_REGISTRY="ghcr.io"
OPENBBTERMINAL_DOCKER_RELEASE_VERSION="3.2.2"
OPENBBTERMINAL_DOCKER_RELEASE_VERSION="3.2.3"
8 changes: 4 additions & 4 deletions build/nsis/setup.nsi
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@
!define NAME "OpenBB Terminal"
!define COMPANY "OpenBB"
!define APPFILE "OpenBBTerminal.exe"
!define VERSION "3.2.2"
!define VERSION "3.2.3"
!define SLUG "${NAME} v${VERSION}"

;--------------------------------
; Info for Installer.exe
VIProductVersion 3.2.0.0
VIProductVersion 3.2.3.0
VIAddVersionKey ProductName "OpenBB Terminal"
VIAddVersionKey Comments "An installer for OpenBB Terminal. For additional details, visit OpenBB.co"
VIAddVersionKey CompanyName OpenBB.co
VIAddVersionKey FileDescription "OpenBB Terminal Program"
VIAddVersionKey FileVersion 3.2.2.0
VIAddVersionKey ProductVersion 3.2.2.0
VIAddVersionKey FileVersion 3.2.3.0
VIAddVersionKey ProductVersion 3.2.3.0
VIAddVersionKey InternalName "OpenBB Terminal"

;--------------------------------
Expand Down
1 change: 0 additions & 1 deletion build/pyinstaller/.env
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,3 @@ OPENBB_USE_DATETIME=true
OPENBB_OPEN_REPORT_AS_HTML=true
OPENBB_ENABLE_QUICK_EXIT=false
OPENBB_ENABLE_EXIT_AUTO_HELP=false
PYWRY_EXECUTABLE=OpenBBPlotsBackend
1 change: 1 addition & 0 deletions build/pyinstaller/macOS/build-macos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ signFiles() {
echo "Code Sign OpenBB Executable File"
codesign --deep --force --verify --verbose --options runtime --entitlements "$ENTITLEMENTS" -s "$APPLE_SIGNING_IDENTITY" build/pyinstaller/macOS/target/darwinpkg/Applications/OpenBB\ Terminal/.OpenBB/OpenBBTerminal
codesign --deep --force --verify --verbose --options runtime --entitlements "$ENTITLEMENTS" -s "$APPLE_SIGNING_IDENTITY" build/pyinstaller/macOS/target/darwinpkg/Applications/OpenBB\ Terminal/.OpenBB/OpenBBPlotsBackend
codesign --deep --force --verify --verbose --options runtime --entitlements "$ENTITLEMENTS" -s "$APPLE_SIGNING_IDENTITY" build/pyinstaller/macOS/target/darwinpkg/Applications/OpenBB\ Terminal/.OpenBB/pywry
}

createInstallationDirectory() {
Expand Down
4 changes: 2 additions & 2 deletions build/pyinstaller/setup_icons_post.applescript
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ set destPath to current_path & "../../DMG/OpenBB Terminal/.OpenBB/OpenBBTerminal
set imageData to (current application's NSImage's alloc()'s initWithContentsOfFile:sourcePath)
(current application's NSWorkspace's sharedWorkspace()'s setIcon:imageData forFile:destPath options:2)

-- Set OpenBB OpenBBPlotsBackend icon relative to script location
-- Set OpenBB pywry icon relative to script location
set sourcePath to current_path & "../../images/openbb.icns"
set destPath to current_path & "../../DMG/OpenBB Terminal/.OpenBB/OpenBBPlotsBackend"
set destPath to current_path & "../../DMG/OpenBB Terminal/.OpenBB/pywry"
set imageData to (current application's NSImage's alloc()'s initWithContentsOfFile:sourcePath)
(current application's NSWorkspace's sharedWorkspace()'s setIcon:imageData forFile:destPath options:2)
57 changes: 7 additions & 50 deletions build/pyinstaller/terminal.spec
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# -*- mode: python ; coding: utf-8 -*- # noqa
import os
from shutil import which
import subprocess
import sys
from pathlib import Path
Expand Down Expand Up @@ -27,11 +28,10 @@ venv_path = Path(sys.executable).parent.parent.resolve()
# Check if we are running in a conda environment
if is_darwin:
pathex = os.path.join(os.path.dirname(os.__file__), "site-packages")
elif "site-packages" in list(venv_path.iterdir()):
pathex = str(venv_path / "site-packages")
else:
if "site-packages" in list(venv_path.iterdir()):
pathex = str(venv_path / "site-packages")
else:
pathex = str(venv_path / "lib" / "site-packages")
pathex = str(venv_path / "lib" / "site-packages")

pathex = Path(pathex).resolve()

Expand Down Expand Up @@ -76,6 +76,7 @@ added_files = [
(str(pathex / "llama_index/VERSION"), "llama_index"),
(str(pathex / "tiktoken"), "tiktoken"),
(str(pathex / "tiktoken_ext"), "tiktoken_ext"),
(which("pywry"), "."),
]

if is_win:
Expand Down Expand Up @@ -112,7 +113,7 @@ hidden_imports = [
"_sysconfigdata__darwin_darwin",
"prophet",
"debugpy",
"pywry.pywry",
"pywry",
"scipy.sparse.linalg._isolve._iterative",
"whisper",
"transformers",
Expand Down Expand Up @@ -154,45 +155,6 @@ if is_win:
if is_darwin:
exe_icon = (str(repo_path / "images/openbb.icns"),)

block_cipher = None
# PyWry
pywry_a = Analysis(
[str(pathex / "pywry/backend.py")],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False,
)
pywry_pyz = PYZ(pywry_a.pure, pywry_a.zipped_data, cipher=block_cipher)


# PyWry EXE
pywry_exe = EXE(
pywry_pyz,
pywry_a.scripts,
[],
exclude_binaries=True,
name="OpenBBPlotsBackend",
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
console=True,
disable_windowed_traceback=False,
target_arch="x86_64",
codesign_identity=None,
entitlements_file=None,
icon=exe_icon,
)

exe_args = [
pyz,
Expand Down Expand Up @@ -252,14 +214,9 @@ if is_darwin:
exe_kwargs["argv_emulation"] = True

exe = EXE(*exe_args, **exe_kwargs)
pywry_collect_args = [
pywry_a.binaries,
pywry_a.zipfiles,
pywry_a.datas,
]

if build_type == "folder":
coll = COLLECT(
*([exe] + collect_args + [pywry_exe] + pywry_collect_args),
*([exe] + collect_args),
**collect_kwargs,
)
8 changes: 4 additions & 4 deletions build/pyinstaller/version.rc
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ VSVersionInfo(
ffi=FixedFileInfo(
# filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4)
# Set not needed items to zero 0.
filevers=(3, 2, 2, 0),
prodvers=(3, 2, 2, 0),
filevers=(3, 2, 3, 0),
prodvers=(3, 2, 3, 0),
# Contains a bitmask that specifies the valid bits 'flags'r
mask=0x0,
# Contains a bitmask that specifies the Boolean attributes of the file.
Expand All @@ -32,10 +32,10 @@ VSVersionInfo(
[StringStruct('Comments', 'The OpenBB Terminal. For additional details, visit OpenBB.co'),
StringStruct('CompanyName', 'OpenBB'),
StringStruct('FileDescription', 'OpenBB Terminal Program'),
StringStruct('FileVersion', '3.2.2.0'),
StringStruct('FileVersion', '3.2.3.0'),
StringStruct('InternalName', 'OpenBB Terminal'),
StringStruct('ProductName', 'OpenBB Terminal'),
StringStruct('ProductVersion', '3.2.2.0')])
StringStruct('ProductVersion', '3.2.3.0')])
]),
VarFileInfo([VarStruct('Translation', [1033, 1200])])
]
Expand Down
2 changes: 1 addition & 1 deletion openbb_terminal/common/technical_analysis/overlap_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def sma(data: pd.Series, length: int = 50, offset: int = 0) -> pd.DataFrame:
Returns
-------
pd.DataFrame
Dataframe containing prices and SMA
Dataframe containing prices and SMA
"""
if isinstance(data, pd.DataFrame):
console.print("[red]Please send a series and not a DataFrame.[/red]\n")
Expand Down
9 changes: 6 additions & 3 deletions openbb_terminal/core/models/credentials_model.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import json
from dataclasses import make_dataclass
from typing import Any, List, Tuple

from pydantic.dataclasses import dataclass as pydanticdataclass

Expand All @@ -13,11 +14,13 @@
LOCAL_CREDENTIALS = json.load(f)


fields: List[Tuple[str, type, Any]] = [
(k, str, "REPLACE_ME") for k in list(HUB_CREDENTIALS) + list(LOCAL_CREDENTIALS)
]

dc = make_dataclass(
cls_name="CredentialsModel",
fields=[
(k, str, "REPLACE_ME") for k in list(HUB_CREDENTIALS) + list(LOCAL_CREDENTIALS)
],
fields=fields,
bases=(BaseModel,),
)
dc.__repr__ = dc.__base__.__repr__ # type: ignore
Expand Down
2 changes: 1 addition & 1 deletion openbb_terminal/core/models/system_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class SystemModel(BaseModel):
PLATFORM: str = str(platform.platform())

# OpenBB section
VERSION: str = "3.2.2"
VERSION: str = "3.2.3"

# Logging section
LOGGING_APP_ID: str = "REPLACE_ME"
Expand Down
4 changes: 4 additions & 0 deletions openbb_terminal/core/plots/plotly_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -926,6 +926,10 @@ def chart_volume_scaling(
"""
df_volume = df_volume.apply(lambda x: f"{x:.1f}")
df_volume = pd.to_numeric(df_volume.astype(float))

if isinstance(df_volume, pd.Series):
df_volume = df_volume.to_frame()

volume_ticks = int(df_volume.max().max())
round_digits = -3
first_val = round(volume_ticks * 0.20, round_digits)
Expand Down
2 changes: 1 addition & 1 deletion openbb_terminal/core/plots/plotly_ta/ta_class.py
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ def _clear_data(self):

def calculate_indicators(self):
"""Return dataframe with all indicators"""
return self.indicators.to_dataframe(self.df_stock.copy(), self.ma_mode)
return self.indicators.to_dataframe(self.df_stock, self.ma_mode)

def get_subplot(self, subplot: str) -> bool:
"""Return True if subplots will be able to be plotted with current data"""
Expand Down
1 change: 1 addition & 0 deletions openbb_terminal/core/session/local_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ def set_credentials_from_hub(configs: dict):
"""
if configs:
credentials = configs.get("features_keys", {}) or {}
credentials = {k: v for k, v in credentials.items() if v}
for k, v in credentials.items():
set_credential(k, v)

Expand Down
7 changes: 5 additions & 2 deletions openbb_terminal/cryptocurrency/onchain/bitquery_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ def query_graph(url: str, query: str) -> dict:
) from e

if response.status_code == 500:
raise HTTPError(f"Internal sever error {response.reason}")
raise HTTPError(f"Internal sever error {response.reason}") # type: ignore

if not 200 <= response.status_code < 300:
raise BitQueryApiKeyException(
Expand Down Expand Up @@ -816,4 +816,7 @@ def get_spread_for_crypto_pair(
return df


POSSIBLE_CRYPTOS = list(get_erc20_tokens()["symbol"].unique())
@log_start_end(log=logger)
def get_possible_crypto_symbols():
"""Get possible crypto symbols."""
return list(get_erc20_tokens()["symbol"].unique())
9 changes: 5 additions & 4 deletions openbb_terminal/cryptocurrency/onchain/onchain_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -1395,7 +1395,7 @@ def call_baas(self, other_args: List[str]):
dest="coin",
type=str,
help="ERC20 token symbol or address.",
choices=bitquery_model.POSSIBLE_CRYPTOS,
choices=bitquery_model.get_possible_crypto_symbols(),
metavar="COIN",
)
parser.add_argument(
Expand Down Expand Up @@ -1444,7 +1444,8 @@ def call_baas(self, other_args: List[str]):
)
if ns_parser:
if ns_parser.coin:
if ns_parser.coin in bitquery_model.POSSIBLE_CRYPTOS:
possible_cryptos = bitquery_model.get_possible_crypto_symbols()
if ns_parser.coin in possible_cryptos:
bitquery_view.display_spread_for_crypto_pair(
symbol=ns_parser.coin,
to_symbol=ns_parser.vs,
Expand All @@ -1464,7 +1465,7 @@ def call_baas(self, other_args: List[str]):
else:
similar_cmd = difflib.get_close_matches(
ns_parser.coin,
bitquery_model.POSSIBLE_CRYPTOS,
possible_cryptos,
n=1,
cutoff=0.75,
)
Expand All @@ -1486,7 +1487,7 @@ def call_baas(self, other_args: List[str]):
except Exception:
similar_cmd = difflib.get_close_matches(
ns_parser.coin,
bitquery_model.POSSIBLE_CRYPTOS,
possible_cryptos,
n=1,
cutoff=0.5,
)
Expand Down
7 changes: 6 additions & 1 deletion openbb_terminal/dashboards/stream/pages/Indicators.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,12 @@ async def plot_indicators(
):
annotation.xshift += -5

y_min, y_max = data["Low"].min().min(), data["High"].max().max()
min_max = {"min": data["Low"].min(), "max": data["High"].max()}
for attr in min_max:
if hasattr(min_max[attr], attr):
min_max[attr] = getattr(min_max[attr], attr)()

y_min, y_max = min_max["min"], min_max["max"]
y_range = y_max - y_min
y_min -= y_range * 0.05
y_max += y_range * 0.05
Expand Down
Loading
Loading