summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormontezdesousa <79287829+montezdesousa@users.noreply.github.com>2024-02-15 12:19:18 +0000
committerGitHub <noreply@github.com>2024-02-15 12:19:18 +0000
commit7deb4e69f646e9212e65eceec9762d9b964516c3 (patch)
treeff8613f4ab90acfbc8a0d24d2858a3097a095c9f
parentf288c411f4f4ec6d7170c480656dee8df1a99fb0 (diff)
[Feature] - Comma separated string and list inputs (#6062)
* feat: balancesheet * feat: income statement * fix: cash flow statement * feat: financial ratios * feat: reported financials * feat: revenue business line * feat: revenue per geography * fix: warnings * Update balance_sheet.py * fix: remove warning imports * feat: balance sheet growth * feat: calendar ipo * feat: cashflow growth * feat: __validators__ * fix: typing * fix: validator msg * feat: trailing dividend_yield * feat: short volume * feat: share statistics * feat: price target + consensus * fix: update validator * feat: historical dividends * feat: key executives * fix: getattr directly * fix: type hint validator * fix: add default to getattr * typo * feat: otc * feat: options chains * fix: remove list validators * feat: add validator dict to fetchers * lint * update standard models * lint * feat: rename validator * fix: ownership * feat: query params description * fix: balance yfinance * key execs, income statement * remove change * fix: revenue geographic * fix: disable pylint * fix: unusual + balance * unit test validator * minor fix * explicit validators * update test * feat: multiple items allowed * rebuild * move check_single_value * crypto historical * order providers * fix typing * rename extra dict * marking multiple items allowed * Revert "marking multiple items allowed" This reverts commit 7da04817e18b2c9e373ffde9134f3949d11f58dd. * error msg * fix: default provider runtime vs configuration * minor fix * docstring * revert default changes * get provider before executing cmd * fix container bug * clean filter * add comment * prevent bad defaults * update docstring * typing * fix * black * fix docstring generation * [Feature] - Mark multiple item fetchers (#6074) * feat: price target * bezinga company news * equity quote * marking multiple items allowed * more multiple items * black * rebuild * another batch * rebuild * another * cpi * move prop * rebuild --------- Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt> * rename var * update msg * rename func * fix test * mypy * ruff --------- Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
-rw-r--r--openbb_platform/core/openbb_core/app/provider_interface.py15
-rw-r--r--openbb_platform/core/openbb_core/app/static/container.py19
-rw-r--r--openbb_platform/core/openbb_core/app/static/package_builder.py86
-rw-r--r--openbb_platform/core/openbb_core/app/static/utils/filters.py36
-rw-r--r--openbb_platform/core/openbb_core/app/utils.py10
-rw-r--r--openbb_platform/core/openbb_core/provider/abstract/query_params.py37
-rw-r--r--openbb_platform/core/openbb_core/provider/registry_map.py30
-rw-r--r--openbb_platform/core/openbb_core/provider/utils/descriptions.py2
-rw-r--r--openbb_platform/core/tests/app/test_utils.py20
-rw-r--r--openbb_platform/openbb/package/crypto.py6
-rw-r--r--openbb_platform/openbb/package/crypto_price.py23
-rw-r--r--openbb_platform/openbb/package/currency.py6
-rw-r--r--openbb_platform/openbb/package/currency_price.py23
-rw-r--r--openbb_platform/openbb/package/derivatives_options.py12
-rw-r--r--openbb_platform/openbb/package/economy.py122
-rw-r--r--openbb_platform/openbb/package/economy_gdp.py30
-rw-r--r--openbb_platform/openbb/package/equity.py38
-rw-r--r--openbb_platform/openbb/package/equity_calendar.py40
-rw-r--r--openbb_platform/openbb/package/equity_compare.py6
-rw-r--r--openbb_platform/openbb/package/equity_discovery.py52
-rw-r--r--openbb_platform/openbb/package/equity_estimates.py40
-rw-r--r--openbb_platform/openbb/package/equity_fundamental.py216
-rw-r--r--openbb_platform/openbb/package/equity_ownership.py38
-rw-r--r--openbb_platform/openbb/package/equity_price.py62
-rw-r--r--openbb_platform/openbb/package/equity_shorts.py6
-rw-r--r--openbb_platform/openbb/package/etf.py87
-rw-r--r--openbb_platform/openbb/package/fixedincome.py10
-rw-r--r--openbb_platform/openbb/package/fixedincome_corporate.py48
-rw-r--r--openbb_platform/openbb/package/fixedincome_government.py18
-rw-r--r--openbb_platform/openbb/package/fixedincome_rate.py76
-rw-r--r--openbb_platform/openbb/package/fixedincome_spreads.py30
-rw-r--r--openbb_platform/openbb/package/index.py34
-rw-r--r--openbb_platform/openbb/package/module_map.json4
-rw-r--r--openbb_platform/openbb/package/news.py60
-rw-r--r--openbb_platform/openbb/package/regulators_sec.py64
-rw-r--r--openbb_platform/providers/alpha_vantage/openbb_alpha_vantage/models/equity_historical.py2
-rw-r--r--openbb_platform/providers/benzinga/openbb_benzinga/models/company_news.py2
-rw-r--r--openbb_platform/providers/benzinga/openbb_benzinga/models/price_target.py1
-rw-r--r--openbb_platform/providers/cboe/openbb_cboe/models/equity_historical.py2
-rw-r--r--openbb_platform/providers/cboe/openbb_cboe/models/equity_quote.py2
-rw-r--r--openbb_platform/providers/cboe/openbb_cboe/models/index_historical.py2
-rw-r--r--openbb_platform/providers/finra/openbb_finra/models/otc_aggregate.py1
-rw-r--r--openbb_platform/providers/finviz/openbb_finviz/models/equity_profile.py2
-rw-r--r--openbb_platform/providers/finviz/openbb_finviz/models/key_metrics.py2
-rw-r--r--openbb_platform/providers/finviz/openbb_finviz/models/price_target.py2
-rw-r--r--openbb_platform/providers/fmp/openbb_fmp/models/crypto_historical.py1
-rw-r--r--openbb_platform/providers/fmp/openbb_fmp/models/equity_historical.py1
-rw-r--r--openbb_platform/providers/fmp/openbb_fmp/models/equity_peers.py2
-rw-r--r--openbb_platform/providers/fmp/openbb_fmp/models/equity_profile.py1
-rw-r--r--openbb_platform/providers/fmp/openbb_fmp/models/equity_quote.py2
-rw-r--r--openbb_platform/providers/fmp/openbb_fmp/models/equity_valuation_multiples.py2
-rw-r--r--openbb_platform/providers/fmp/openbb_fmp/models/executive_compensation.py2
-rw-r--r--openbb_platform/providers/fmp/openbb_fmp/models/key_metrics.py2
-rw-r--r--openbb_platform/providers/fred/openbb_fred/models/cpi.py2
-rw-r--r--openbb_platform/providers/fred/openbb_fred/models/series.py2
-rw-r--r--openbb_platform/providers/intrinio/openbb_intrinio/models/company_news.py1
-rw-r--r--openbb_platform/providers/intrinio/openbb_intrinio/models/equity_info.py2
-rw-r--r--openbb_platform/providers/intrinio/openbb_intrinio/models/equity_quote.py2
-rw-r--r--openbb_platform/providers/intrinio/openbb_intrinio/models/historical_attributes.py1
-rw-r--r--openbb_platform/providers/intrinio/openbb_intrinio/models/index_historical.py1
-rw-r--r--openbb_platform/providers/intrinio/openbb_intrinio/models/latest_attributes.py2
-rw-r--r--openbb_platform/providers/nasdaq/openbb_nasdaq/models/economic_calendar.py2
-rw-r--r--openbb_platform/providers/nasdaq/openbb_nasdaq/models/historical_dividends.py2
-rw-r--r--openbb_platform/providers/polygon/openbb_polygon/models/crypto_historical.py2
-rw-r--r--openbb_platform/providers/polygon/openbb_polygon/models/currency_historical.py2
-rw-r--r--openbb_platform/providers/polygon/openbb_polygon/models/equity_historical.py2
-rw-r--r--openbb_platform/providers/polygon/openbb_polygon/models/index_historical.py2
-rw-r--r--openbb_platform/providers/stockgrid/openbb_stockgrid/models/short_volume.py2
-rw-r--r--openbb_platform/providers/tiingo/openbb_tiingo/models/equity_historical.py1
-rw-r--r--openbb_platform/providers/tradingeconomics/openbb_tradingeconomics/models/economic_calendar.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/crypto_historical.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/currency_historical.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/equity_historical.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/equity_profile.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/equity_quote.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/etf_info.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/futures_historical.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/historical_dividends.py14
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/index_historical.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/key_executives.py14
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/market_indices.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/price_target_consensus.py2
-rw-r--r--openbb_platform/providers/yfinance/openbb_yfinance/models/share_statistics.py2
83 files changed, 1158 insertions, 359 deletions
diff --git a/openbb_platform/core/openbb_core/app/provider_interface.py b/openbb_platform/core/openbb_core/app/provider_interface.py
index 0e37ea7fa73..9755ccdb77c 100644
--- a/openbb_platform/core/openbb_core/app/provider_interface.py
+++ b/openbb_platform/core/openbb_core/app/provider_interface.py
@@ -217,13 +217,24 @@ class ProviderInterface(metaclass=SingletonMeta):
# field.outer_type_ don't work for Optional nested types
type_ = field.annotation
+ additional_description = ""
+ if (extra := field.json_schema_extra) and (
+ multiple := extra.get("multiple_items_allowed")
+ ):
+ if provider_name:
+ additional_description += " Multiple items allowed."
+ else:
+ additional_description += (
+ " Multiple items allowed: " + ", ".join(multiple) + "."
+ )
+
provider_field = (
f"(provider: {provider_name})" if provider_name != "openbb" else ""
)
description = (
- f"{field.description} {provider_field}"
+ f"{field.description}{additional_description} {provider_field}"
if provider_name and field.description
- else f"{field.description}"
+ else f"{field.description}{additional_description}"
)
if field.is_required():
diff --git a/openbb_platform/core/openbb_core/app/static/container.py b/openbb_platform/core/openbb_core/app/static/container.py
index 0f0e483678d..333f3913712 100644
--- a/openbb_platform/core/openbb_core/app/static/container.py
+++ b/openbb_platform/core/openbb_core/app/static/container.py
@@ -1,8 +1,9 @@
"""Container class."""
-from typing import Any
+from typing import Any, Optional, Tuple
from openbb_core.app.command_runner import CommandRunner
+from openbb_core.app.model.abstract.er