From e012aa82da486112f1dffbe6100ce8345d58bf55 Mon Sep 17 00:00:00 2001 From: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> Date: Thu, 7 Sep 2023 16:30:31 +0200 Subject: [PATCH] MyPy --- openbb_sdk/openbb/__init__.py | 10 +- openbb_sdk/openbb/package/crypto.py | 6 +- openbb_sdk/openbb/package/economy.py | 8 +- openbb_sdk/openbb/package/extension_map.json | 27 ++-- openbb_sdk/openbb/package/forex.py | 18 +-- openbb_sdk/openbb/package/news.py | 18 +-- openbb_sdk/openbb/package/stocks.py | 128 ++++-------------- openbb_sdk/openbb/package/stocks_fa.py | 30 ++-- openbb_sdk/openbb/package/stocks_options.py | 29 +--- .../openbb_cboe/models/available_indices.py | 12 +- .../models/major_indices_historical.py | 41 +++--- .../openbb_cboe/models/stock_historical.py | 41 +++--- .../fmp/openbb_fmp/models/income_statement.py | 10 +- .../openbb_intrinio/models/options_chains.py | 10 +- .../openbb_intrinio/models/stock_quote.py | 10 +- .../openbb_yfinance/models/balance_sheet.py | 4 +- .../openbb_yfinance/models/cash_flow.py | 4 +- .../core/openbb_core/app/command_runner.py | 5 +- openbb_sdk/sdk/core/openbb_core/app/router.py | 11 +- .../__init__.py | 0 .../test_system.py | 0 .../test_user.py | 0 .../api/{router => test_router}/__init__.py | 0 .../test_router_coverage.py | 0 .../test_router_system.py | 0 .../test_router_user.py | 0 26 files changed, 134 insertions(+), 288 deletions(-) rename openbb_sdk/sdk/core/tests/api/{dependency => test_dependency}/__init__.py (100%) rename openbb_sdk/sdk/core/tests/api/{dependency => test_dependency}/test_system.py (100%) rename openbb_sdk/sdk/core/tests/api/{dependency => test_dependency}/test_user.py (100%) rename openbb_sdk/sdk/core/tests/api/{router => test_router}/__init__.py (100%) rename openbb_sdk/sdk/core/tests/api/{router => test_router}/test_router_coverage.py (100%) rename openbb_sdk/sdk/core/tests/api/{router => test_router}/test_router_system.py (100%) rename openbb_sdk/sdk/core/tests/api/{router => test_router}/test_router_user.py (100%) diff --git a/openbb_sdk/openbb/__init__.py b/openbb_sdk/openbb/__init__.py index 6937de92af8..9474186adb0 100644 --- a/openbb_sdk/openbb/__init__.py +++ b/openbb_sdk/openbb/__init__.py @@ -5,14 +5,14 @@ import os from pathlib import Path from typing import List, Optional, Union +from openbb_core.app.static.app_factory import ( + BaseApp as _BaseApp, + create_app as _create_app, +) from openbb_core.app.static.build_utils import ( auto_build as _auto_build, build as _build, ) -from openbb_core.app.static.app_factory import ( - create_app as _create_app, - BaseApp as _BaseApp, -) _this_dir = Path(os.path.dirname(os.path.realpath(__file__))) @@ -44,7 +44,7 @@ try: # pylint: disable=import-outside-toplevel from openbb.package.__extensions__ import Extensions as _Extensions - obb: Union[_BaseApp, _Extensions] = _create_app(_Extensions) + obb: Union[_BaseApp, _Extensions] = _create_app(_Extensions) # type: ignore sdk = obb except (ImportError, ModuleNotFoundError): print("Failed to import extensions.") diff --git a/openbb_sdk/openbb/package/crypto.py b/openbb_sdk/openbb/package/crypto.py index 8a5574dd000..3937c437fac 100644 --- a/openbb_sdk/openbb/package/crypto.py +++ b/openbb_sdk/openbb/package/crypto.py @@ -41,7 +41,7 @@ class CLASS_crypto(Container): provider: Optional[Literal["fmp", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[List]: - """Crypto Historical Price. + r"""Crypto Historical Price. Parameters ---------- @@ -115,11 +115,11 @@ class CLASS_crypto(Container): change : Optional[float] Change in the price of the symbol from the previous day. (provider: fmp) change_percent : Optional[float] - Change \\% in the price of the symbol. (provider: fmp) + Change \% in the price of the symbol. (provider: fmp) label : Optional[str] Human readable format of the date. (provider: fmp) change_over_time : Optional[float] - Change \\% in the price of the symbol over a period of time. (provider: fmp) + Change \% in the price of the symbol over a period of time. (provider: fmp) n : Optional[PositiveInt] Number of transactions for the symbol in the time period. (provider: polygon) """ # noqa: E501 diff --git a/openbb_sdk/openbb/package/economy.py b/openbb_sdk/openbb/package/economy.py index 30c962f2726..eb6e3845693 100644 --- a/openbb_sdk/openbb/package/economy.py +++ b/openbb_sdk/openbb/package/economy.py @@ -382,7 +382,7 @@ class CLASS_economy(Container): EuropeanIndexHistorical ----------------------- - date : Union[date, datetime] + date : Optional[datetime] The date of the data. close : Optional[float] The close price of the symbol. @@ -517,7 +517,7 @@ class CLASS_economy(Container): provider: Optional[Literal["cboe", "fmp", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[List]: - """Get historical levels for an index. + r"""Get historical levels for an index. Parameters ---------- @@ -595,11 +595,11 @@ class CLASS_economy(Container): change : Optional[float] Change in the price of the symbol from the previous day. (provider: fmp) change_percent : Optional[float] - Change \\% in the price of the symbol. (provider: fmp) + Change \% in the price of the symbol. (provider: fmp) label : Optional[str] Human readable format of the date. (provider: fmp) change_over_time : Optional[float] - Change \\% in the price of the symbol over a period of time. (provider: fmp) + Change \% in the price of the symbol over a period of time. (provider: fmp) """ # noqa: E501 inputs = filter_inputs( diff --git a/openbb_sdk/openbb/package/extension_map.json b/openbb_sdk/openbb/package/extension_map.json index bfff08afd9a..cf5a80bf118 100644 --- a/openbb_sdk/openbb/package/extension_map.json +++ b/openbb_sdk/openbb/package/extension_map.json @@ -1,25 +1,22 @@ { "openbb_core_extension": [ - "crypto@0.1.0", - "economy@0.1.0", - "fixedincome@0.1.0", - "forex@0.1.0", - "futures@0.1.0", - "news@0.1.0", + "crypto@0.1.1", + "economy@0.1.1", + "fixedincome@0.1.1", + "forex@0.1.1", + "futures@0.1.1", + "news@0.1.1", "openbb_charting@0.1.0", "qa@0.1.0", "stocks@0.1.0", "ta@0.1.0" ], "openbb_provider_extension": [ - "alpha_vantage@0.1.0", - "benzinga@0.1.0", - "cboe@0.1.0", - "fmp@0.1.0", - "fred@0.1.0", - "intrinio@0.1.0", - "polygon@0.1.0", - "quandl@0.1.0", - "yfinance@0.1.0" + "benzinga@0.1.1", + "cboe@0.1.1", + "fmp@0.1.1", + "fred@0.1.1", + "polygon@0.1.1", + "yfinance@0.1.1" ] } \ No newline at end of file diff --git a/openbb_sdk/openbb/package/forex.py b/openbb_sdk/openbb/package/forex.py index 8f065eba540..06050e6f06d 100644 --- a/openbb_sdk/openbb/package/forex.py +++ b/openbb_sdk/openbb/package/forex.py @@ -42,7 +42,7 @@ class CLASS_forex(Container): provider: Optional[Literal["fmp", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[List]: - """Forex Intraday Price. + r"""Forex Intraday Price. Parameters ---------- @@ -114,11 +114,11 @@ class CLASS_forex(Container): change : Optional[float] Change in the price of the symbol from the previous day. (provider: fmp) change_percent : Optional[float] - Change \\% in the price of the symbol. (provider: fmp) + Change \% in the price of the symbol. (provider: fmp) label : Optional[str] Human readable format of the date. (provider: fmp) change_over_time : Optional[float] - Change \\% in the price of the symbol over a period of time. (provider: fmp) + Change \% in the price of the symbol over a period of time. (provider: fmp) n : Optional[PositiveInt] Number of transactions for the symbol in the time period. (provider: polygon) """ # noqa: E501 @@ -142,13 +142,13 @@ class CLASS_forex(Container): @validate_arguments def pairs( - self, provider: Optional[Literal["fmp", "intrinio", "polygon"]] = None, **kwargs + self, provider: Optional[Literal["fmp", "polygon"]] = None, **kwargs ) -> OBBject[List]: """Forex Available Pairs. Parameters ---------- - provider : Optional[Literal['fmp', 'intrinio', 'polygon']] + provider : Optional[Literal['fmp', 'polygon']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'fmp' if there is no default. @@ -172,7 +172,7 @@ class CLASS_forex(Container): OBBject results : List[ForexPairs] Serializable results. - provider : Optional[Literal['fmp', 'intrinio', 'polygon']] + provider : Optional[Literal['fmp', 'polygon']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -193,12 +193,6 @@ class CLASS_forex(Container): Stock exchange of the currency pair. (provider: fmp) exchange_short_name : Optional[str] Short name of the stock exchange of the currency pair. (provider: fmp) - code : Optional[str] - Code of the currency pair. (provider: intrinio) - base_currency : Optional[str] - ISO 4217 currency code of the base currency. (provider: intrinio) - quote_currency : Optional[str] - ISO 4217 currency code of the quote currency. (provider: intrinio) market : Optional[str] The name of the trading market. Always 'fx'. (provider: polygon) locale : Optional[str] diff --git a/openbb_sdk/openbb/package/news.py b/openbb_sdk/openbb/package/news.py index 3e72297931b..9567a3d6a2f 100644 --- a/openbb_sdk/openbb/package/news.py +++ b/openbb_sdk/openbb/package/news.py @@ -26,7 +26,7 @@ class CLASS_news(Container): pydantic.types.NonNegativeInt, OpenBBCustomParameter(description="Page of the global news."), ] = 0, - provider: Optional[Literal["benzinga", "fmp", "intrinio"]] = None, + provider: Optional[Literal["benzinga", "fmp"]] = None, **kwargs ) -> OBBject[List]: """Global News. @@ -35,7 +35,7 @@ class CLASS_news(Container): ---------- page : NonNegativeInt Page of the global news. - provider : Optional[Literal['benzinga', 'fmp', 'intrinio']] + provider : Optional[Literal['benzinga', 'fmp']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'benzinga' if there is no default. @@ -69,19 +69,13 @@ class CLASS_news(Container): Authors of the news to retrieve. (provider: benzinga) content_types : Optional[str] Content types of the news to retrieve. (provider: benzinga) - next_page : str - Token to get the next page of data from a previous API call. (provider: intrinio) - limit : Optional[int] - The number of data entries to return. (provider: intrinio) - all_pages : Optional[bool] - Returns all pages of data from the API call at once. (provider: intrinio) Returns ------- OBBject results : List[GlobalNews] Serializable results. - provider : Optional[Literal['benzinga', 'fmp', 'intrinio']] + provider : Optional[Literal['benzinga', 'fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -111,11 +105,7 @@ class CLASS_news(Container): teaser : Optional[str] Teaser of the news. (provider: benzinga) site : Optional[str] - Site of the news. (provider: fmp) - id : Optional[str] - Intrinio ID for the news article. (provider: intrinio) - company : Optional[Mapping[str, Any]] - Company details related to the news article. (provider: intrinio)""" # noqa: E501 + Site of the news. (provider: fmp)""" # noqa: E501 inputs = filter_inputs( provider_choices={ diff --git a/openbb_sdk/openbb/package/stocks.py b/openbb_sdk/openbb/package/stocks.py index a96fdf114c4..3d98282c849 100644 --- a/openbb_sdk/openbb/package/stocks.py +++ b/openbb_sdk/openbb/package/stocks.py @@ -183,12 +183,10 @@ class CLASS_stocks(Container): ), ] = None, chart: bool = False, - provider: Optional[ - Literal["alpha_vantage", "cboe", "fmp", "intrinio", "polygon", "yfinance"] - ] = None, + provider: Optional[Literal["cboe", "fmp", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[List]: - """Load stock data for a specific ticker. + r"""Load stock data for a specific ticker. Parameters ---------- @@ -200,46 +198,26 @@ class CLASS_stocks(Container): End date of the data, in YYYY-MM-DD format. chart : bool Whether to create a chart or not, by default False. - provider : Optional[Literal['alpha_vantage', 'cboe', 'fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['cboe', 'fmp', 'polygon', 'yfinance']] The provider to use for the query, by default None. - If None, the provider specified in defaults is selected or 'alpha_vantage' if there is + If None, the provider specified in defaults is selected or 'cboe' if there is no default. - period : Union[Literal['intraday', 'daily', 'weekly', 'monthly'], Literal['1d', '5d', '1mo', '3mo', '6mo', '1y', '2y', '5y', '10y', 'ytd', 'max'], NoneType] + interval : Union[Literal['1d', '1m'], NoneType, Literal['1min', '5min', '15min', '30min', '1hour', '4hour', '1day'], Literal['1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1wk', '1mo', '3mo']] None - interval : Union[Literal['1min', '5min', '15min', '30min', '60min'], NoneType, Literal['1d', '1m'], Literal['1min', '5min', '15min', '30min', '1hour', '4hour', '1day'], Literal['1m', '2m', '5m', '15m', '30m', '60m', '90m', '1h', '1d', '5d', '1wk', '1mo', '3mo']] - None - adjusted : Optional[bool] - None - extended_hours : Optional[bool] - Extended trading hours during pre-market and after-hours. (provider: alpha_vantage) - month : Optional[str] - Query a specific month in history (in YYYY-MM format). (provider: alpha_vantage) - outputsize : Optional[Literal['compact', 'full']] - Compact returns only the latest 100 data points in the intraday time series; full returns trailing 30 days of the most recent intraday data if the month parameter (see above) is not specified, or the full intraday data for a specific month in history if the month parameter is specified. (provider: alpha_vantage) timeseries : Optional[pydantic.types.NonNegativeInt] Number of days to look back. (provider: fmp) - timezone : Optional[Literal['Africa/Algiers', 'Africa/Cairo', 'Africa/Casablanca', 'Africa/Harare', 'Africa/Johannesburg', 'Africa/Monrovia', 'Africa/Nairobi', 'America/Argentina/Buenos_Aires', 'America/Bogota', 'America/Caracas', 'America/Chicago', 'America/Chihuahua', 'America/Denver', 'America/Godthab', 'America/Guatemala', 'America/Guyana', 'America/Halifax', 'America/Indiana/Indianapolis', 'America/Juneau', 'America/La_Paz', 'America/Lima', 'America/Los_Angeles', 'America/Mazatlan', 'America/Mexico_City', 'America/Monterrey', 'America/Montevideo', 'America/New_York', 'America/Phoenix', 'America/Regina', 'America/Santiago', 'America/Sao_Paulo', 'America/St_Johns', 'America/Tijuana', 'Asia/Almaty', 'Asia/Baghdad', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Chongqing', 'Asia/Colombo', 'Asia/Dhaka', 'Asia/Hong_Kong', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi', 'Asia/Kathmandu', 'Asia/Kolkata', 'Asia/Krasnoyarsk', 'Asia/Kuala_Lumpur', 'Asia/Kuwait', 'Asia/Magadan', 'Asia/Muscat', 'Asia/Novosibirsk', 'Asia/Rangoon', 'Asia/Riyadh', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore', 'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi', 'Asia/Tehran', 'Asia/Tokyo', 'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yekaterinburg', 'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Cape_Verde', 'Atlantic/South_Georgia', 'Australia/Adelaide', 'Australia/Brisbane', 'Australia/Darwin', 'Australia/Hobart', 'Australia/Melbourne', 'Australia/Perth', 'Australia/Sydney', 'Etc/UTC', 'UTC', 'Europe/Amsterdam', 'Europe/Athens', 'Europe/Belgrade', 'Europe/Berlin', 'Europe/Bratislava', 'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest', 'Europe/Copenhagen', 'Europe/Dublin', 'Europe/Helsinki', 'Europe/Istanbul', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London', 'Europe/Madrid', 'Europe/Minsk', 'Europe/Moscow', 'Europe/Paris', 'Europe/Prague', 'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/Sarajevo', 'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd', 'Europe/Warsaw', 'Europe/Zagreb', 'Pacific/Apia', 'Pacific/Auckland', 'Pacific/Chatham', 'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Guadalcanal', 'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Majuro', 'Pacific/Midway', 'Pacific/Noumea', 'Pacific/Pago_Pago', 'Pacific/Port_Moresby', 'Pacific/Tongatapu']] - Returns trading times in this timezone. (provider: intrinio) - source : Optional[Literal['realtime', 'delayed', 'nasdaq_basic']] - The source of the data. (provider: intrinio) - start_time : Optional[datetime.time] - Return intervals starting at the specified time on the `start_date` formatted as 'hh:mm:ss'. (provider: intrinio) - end_time : Optional[datetime.time] - Return intervals stopping at the specified time on the `end_date` formatted as 'hh:mm:ss'. (provider: intrinio) - interval_size : Optional[Literal['1m', '5m', '10m', '15m', '30m', '60m', '1h']] - The data time frequency. (provider: intrinio) - limit : Union[pydantic.types.NonNegativeInt, NoneType, pydantic.types.PositiveInt] - None - next_page : Optional[str] - Token to get the next page of data from a previous API call. (provider: intrinio) - all_pages : Optional[bool] - Returns all pages of data from the API call at once. (provider: intrinio) timespan : Literal['minute', 'hour', 'day', 'week', 'month', 'quarter', 'year'] Timespan of the data. (provider: polygon) sort : Literal['asc', 'desc'] Sort order of the data. (provider: polygon) + limit : PositiveInt + The number of data entries to return. (provider: polygon) + adjusted : bool + Whether the data is adjusted. (provider: polygon) multiplier : PositiveInt Multiplier of the timespan. (provider: polygon) + period : Optional[Literal['1d', '5d', '1mo', '3mo', '6mo', '1y', '2y', '5y', '10y', 'ytd', 'max']] + Period of the data to return. (provider: yfinance) prepost : bool Include Pre and Post market data. (provider: yfinance) adjust : bool @@ -252,7 +230,7 @@ class CLASS_stocks(Container): OBBject results : List[StockHistorical] Serializable results. - provider : Optional[Literal['alpha_vantage', 'cboe', 'fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['cboe', 'fmp', 'polygon', 'yfinance']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -277,12 +255,6 @@ class CLASS_stocks(Container): The volume of the symbol. vwap : Optional[PositiveFloat] Volume Weighted Average Price of the symbol. - adjusted_close : Optional[PositiveFloat] - The adjusted close price of the symbol. (provider: alpha_vantage) - dividend_amount : Optional[NonNegativeFloat] - Dividend amount paid for the corresponding date. (provider: alpha_vantage) - split_coefficient : Optional[NonNegativeFloat] - Split coefficient for the corresponding date. (provider: alpha_vantage) calls_volume : Optional[float] Number of calls traded during the most recent trading period. Only valid if interval is 1m. (provider: cboe) puts_volume : Optional[float] @@ -296,17 +268,11 @@ class CLASS_stocks(Container): change : Optional[float] Change in the price of the symbol from the previous day. (provider: fmp) change_percent : Optional[float] - Change \\% in the price of the symbol. (provider: fmp) + Change \% in the price of the symbol. (provider: fmp) label : Optional[str] Human readable format of the date. (provider: fmp) change_over_time : Optional[float] - Change \\% in the price of the symbol over a period of time. (provider: fmp) - close_time : Optional[datetime] - The timestamp that represents the end of the interval span. (provider: intrinio) - interval : Optional[str] - The data time frequency. (provider: intrinio) - average : Optional[float] - Average trade price of an individual stock during the interval. (provider: intrinio) + Change \% in the price of the symbol over a period of time. (provider: fmp) transactions : Optional[PositiveInt] Number of transactions for the symbol in the time period. (provider: polygon) """ # noqa: E501 @@ -530,9 +496,7 @@ class CLASS_stocks(Container): OpenBBCustomParameter(description="Number of results to return per page."), ] = 15, chart: bool = False, - provider: Optional[ - Literal["benzinga", "fmp", "intrinio", "polygon", "yfinance"] - ] = None, + provider: Optional[Literal["benzinga", "fmp", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[BaseModel]: """Get news for one or more stock tickers. @@ -547,7 +511,7 @@ class CLASS_stocks(Container): Number of results to return per page. chart : bool Whether to create a chart or not, by default False. - provider : Optional[Literal['benzinga', 'fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['benzinga', 'fmp', 'polygon', 'yfinance']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'benzinga' if there is no default. @@ -577,10 +541,6 @@ class CLASS_stocks(Container): Authors of the news to retrieve. (provider: benzinga) content_types : Optional[str] Content types of the news to retrieve. (provider: benzinga) - next_page : Optional[str] - Token to get the next page of data from a previous API call. (provider: intrinio) - all_pages : Optional[bool] - Returns all pages of data from the API call at once. (provider: intrinio) ticker_lt : Optional[str] Less than, by default None (provider: polygon) ticker_lte : Optional[str] @@ -607,7 +567,7 @@ class CLASS_stocks(Container): OBBject results : List[StockNews] Serializable results. - provider : Optional[Literal['benzinga', 'fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['benzinga', 'fmp', 'polygon', 'yfinance']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -642,12 +602,12 @@ class CLASS_stocks(Container): URL to the image of the news source. (provider: fmp) site : Optional[str] Name of the news source. (provider: fmp) - id : Optional[str] - Intrinio ID for the news article. (provider: intrinio) amp_url : Optional[str] AMP URL. (provider: polygon) author : Optional[str] Author of the article. (provider: polygon) + id : Optional[str] + Article ID. (provider: polygon) image_url : Optional[str] Image URL. (provider: polygon) keywords : Optional[List[str]] @@ -696,7 +656,7 @@ class CLASS_stocks(Container): Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Optional[Literal["fmp", "intrinio"]] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List]: """Load stock data for a specific ticker. @@ -705,19 +665,17 @@ class CLASS_stocks(Container): ---------- symbol : Union[str, List[str]] Symbol to get data for. - provider : Optional[Literal['fmp', 'intrinio']] + provider : Optional[Literal['fmp']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'fmp' if there is no default. - source : Literal['iex', 'bats', 'bats_delayed', 'utp_delayed', 'cta_a_delayed', 'cta_b_delayed', 'intrinio_mx', 'intrinio_mx_plus', 'delayed_sip'] - Source of the data. (provider: intrinio) Returns ------- OBBject results : List[StockQuote] Serializable results. - provider : Optional[Literal['fmp', 'intrinio']] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -771,47 +729,7 @@ class CLASS_stocks(Container): earnings_announcement : Optional[str] Earnings announcement date of the stock. (provider: fmp) shares_outstanding : Optional[int] - Number of shares outstanding of the stock. (provider: fmp) - last_price : Optional[float] - Price of the last trade. (provider: intrinio) - last_time : Optional[datetime] - Date and Time when the last trade occurred. (provider: intrinio) - last_size : Optional[int] - Size of the last trade. (provider: intrinio) - bid_price : Optional[float] - Price of the top bid order. (provider: intrinio) - bid_size : Optional[int] - Size of the top bid order. (provider: intrinio) - ask_price : Optional[float] - Price of the top ask order. (provider: intrinio) - ask_size : Optional[int] - Size of the top ask order. (provider: intrinio) - open_price : Optional[float] - Open price for the trading day. (provider: intrinio) - close_price : Optional[float] - Closing price for the trading day (IEX source only). (provider: intrinio) - high_price : Optional[float] - High Price for the trading day. (provider: intrinio) - low_price : Optional[float] - Low Price for the trading day. (provider: intrinio) - exchange_volume : Optional[int] - Number of shares exchanged during the trading day on the exchange. (provider: intrinio) - market_volume : Optional[int] - Number of shares exchanged during the trading day for the whole market. (provider: intrinio) - updated_on : Optional[datetime] - Date and Time when the data was last updated. (provider: intrinio) - source : Optional[str] - Source of the data. (provider: intrinio) - listing_venue : Optional[str] - Listing venue where the trade took place (SIP source only). (provider: intrinio) - sales_conditions : Optional[str] - Indicates any sales condition modifiers associated with the trade. (provider: intrinio) - quote_conditions : Optional[str] - Indicates any quote condition modifiers associated with the trade. (provider: intrinio) - market_center_code : Optional[str] - Market center character code. (provider: intrinio) - is_darkpool : Optional[bool] - Whether or not the current trade is from a darkpool. (provider: intrinio)""" # noqa: E501 + Number of shares outstanding of the stock. (provider: fmp)""" # noqa: E501 inputs = filter_inputs( provider_choices={ diff --git a/openbb_sdk/openbb/package/stocks_fa.py b/openbb_sdk/openbb/package/stocks_fa.py index 370773c2854..27a79c4ec77 100644 --- a/openbb_sdk/openbb/package/stocks_fa.py +++ b/openbb_sdk/openbb/package/stocks_fa.py @@ -62,7 +62,7 @@ class CLASS_stocks_fa(Container): Optional[pydantic.types.NonNegativeInt], OpenBBCustomParameter(description="The number of data entries to return."), ] = 12, - provider: Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]] = None, + provider: Optional[Literal["fmp", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[BaseModel]: """Balance Sheet. @@ -75,14 +75,10 @@ class CLASS_stocks_fa(Container): Period of the data to return. limit : Optional[pydantic.types.NonNegativeInt] The number of data entries to return. - provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['fmp', 'polygon', 'yfinance']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'fmp' if there is no default. - type : Literal['reported', 'standardized'] - Type of the statement to be fetched. (provider: intrinio) - year : Optional[int] - Year of the statement to be fetched. (provider: intrinio) company_name : Optional[str] Name of the company. (provider: polygon) company_name_search : Optional[str] @@ -121,7 +117,7 @@ class CLASS_stocks_fa(Container): OBBject results : List[BalanceSheet] Serializable results. - provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['fmp', 'polygon', 'yfinance']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -497,7 +493,7 @@ class CLASS_stocks_fa(Container): Optional[pydantic.types.NonNegativeInt], OpenBBCustomParameter(description="The number of data entries to return."), ] = 12, - provider: Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]] = None, + provider: Optional[Literal["fmp", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[BaseModel]: """Cash Flow Statement. @@ -510,14 +506,10 @@ class CLASS_stocks_fa(Container): Period of the data to return. limit : Optional[pydantic.types.NonNegativeInt] The number of data entries to return. - provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['fmp', 'polygon', 'yfinance']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'fmp' if there is no default. - type : Literal['reported', 'standardized'] - Type of the statement to be fetched. (provider: intrinio) - year : Optional[int] - Year of the statement to be fetched. (provider: intrinio) company_name : Optional[str] Name of the company. (provider: polygon) company_name_search : Optional[str] @@ -556,7 +548,7 @@ class CLASS_stocks_fa(Container): OBBject results : List[CashFlowStatement] Serializable results. - provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['fmp', 'polygon', 'yfinance']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1300,7 +1292,7 @@ class CLASS_stocks_fa(Container): Optional[pydantic.types.NonNegativeInt], OpenBBCustomParameter(description="The number of data entries to return."), ] = 12, - provider: Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]] = None, + provider: Optional[Literal["fmp", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[BaseModel]: """Income Statement. @@ -1313,14 +1305,10 @@ class CLASS_stocks_fa(Container): Period of the data to return. limit : Optional[pydantic.types.NonNegativeInt] The number of data entries to return. - provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['fmp', 'polygon', 'yfinance']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'fmp' if there is no default. - type : Literal['reported', 'standardized'] - Type of the statement to be fetched. (provider: intrinio) - year : Optional[int] - Year of the statement to be fetched. (provider: intrinio) company_name : Optional[str] Name of the company. (provider: polygon) company_name_search : Optional[str] @@ -1359,7 +1347,7 @@ class CLASS_stocks_fa(Container): OBBject results : List[IncomeStatement] Serializable results. - provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']] + provider : Optional[Literal['fmp', 'polygon', 'yfinance']] Provider name. warnings : Optional[List[Warning_]] List of warnings. diff --git a/openbb_sdk/openbb/package/stocks_options.py b/openbb_sdk/openbb/package/stocks_options.py index 545fe5f3112..8b5fc5dc315 100644 --- a/openbb_sdk/openbb/package/stocks_options.py +++ b/openbb_sdk/openbb/package/stocks_options.py @@ -25,7 +25,7 @@ class CLASS_stocks_options(Container): Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Optional[Literal["cboe", "intrinio"]] = None, + provider: Optional[Literal["cboe"]] = None, **kwargs ) -> OBBject[List]: """Get the complete options chain for a ticker. @@ -34,19 +34,17 @@ class CLASS_stocks_options(Container): ---------- symbol : Union[str, List[str]] Symbol to get data for. - provider : Optional[Literal['cboe', 'intrinio']] + provider : Optional[Literal['cboe']] The provider to use for the query, by default None. If None, the provider specified in defaults is selected or 'cboe' if there is no default. - date : Union[datetime.date, str, NoneType] - Date for which the options chains are returned. (provider: intrinio) Returns ------- OBBject results : List[OptionsChains] Serializable results. - provider : Optional[Literal['cboe', 'intrinio']] + provider : Optional[Literal['cboe']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -110,26 +108,7 @@ class CLASS_stocks_options(Container): last_trade_timestamp : Optional[datetime] Last trade timestamp of the option. (provider: cboe) dte : Optional[int] - Days to expiration for the option. (provider: cboe) - mark : Optional[float] - The mid-price between the latest bid-ask spread. (provider: intrinio) - open_bid : Optional[float] - The lowest bid price for the option that day. (provider: intrinio) - open_ask : Optional[float] - The lowest ask price for the option that day. (provider: intrinio) - bid_low : Optional[float] - The lowest bid price for the option that day. (provider: intrinio) - ask_low : Optional[float] - The lowest ask price for the option that day. (provider: intrinio) - bid_high : Optional[float] - The highest bid price for the option that day. (provider: intrinio) - ask_high : Optional[float] - The highest ask price for the option that day. (provider: intrinio) - close : Optional[float] - The close price for the option that day. (provider: intrinio) - eod_date : Optional[date] - Historical date for which the options chains data is from. (provider: intrinio) - """ # noqa: E501 + Days to expiration for the option. (provider: cboe)""" # noqa: E501 inputs = filter_inputs( provider_choices={ diff --git a/openbb_sdk/providers/cboe/openbb_cboe/models/available_indices.py b/openbb_sdk/providers/cboe/openbb_cboe/models/available_indices.py index b401279577d..ffd30a90811 100644 --- a/openbb_sdk/providers/cboe/openbb_cboe/models/available_indices.py +++ b/openbb_sdk/providers/cboe/openbb_cboe/models/available_indices.py @@ -3,6 +3,7 @@ from datetime import time from typing import Any, Dict, List, Optional +from openbb_cboe.utils.helpers import Europe, get_cboe_index_directory from openbb_provider.abstract.fetcher import Fetcher from openbb_provider.standard_models.available_indices import ( AvailableIndicesData, @@ -10,8 +11,6 @@ from openbb_provider.standard_models.available_indices import ( ) from pydantic import Field -from openbb_cboe.utils.helpers import Europe, get_cboe_index_directory - class CboeAvailableIndicesQueryParams(AvailableIndicesQueryParams): """CBOE Available Indices query. @@ -76,7 +75,7 @@ class CboeAvailableIndicesData(AvailableIndicesData): class CboeAvailableIndicesFetcher( Fetcher[ CboeAvailableIndicesQueryParams, - CboeAvailableIndicesData, + List[CboeAvailableIndicesData], ] ): """Transform the query, extract and transform the data from the CBOE endpoints""" @@ -84,7 +83,6 @@ class CboeAvailableIndicesFetcher( @staticmethod def transform_query(params: Dict[str, Any]) -> CboeAvailableIndicesQueryParams: """Transform the query params.""" - return CboeAvailableIndicesQueryParams(**params) @staticmethod @@ -93,14 +91,12 @@ class CboeAvailableIndicesFetcher( credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: - """Return the raw data from the CBOE endpoint""" - + """Return the raw data from the CBOE endpoint.""" if query.europe is True: return Europe.list_indices() return get_cboe_index_directory().sort_index().reset_index().to_dict("records") @staticmethod def transform_data(data: List[Dict]) -> List[CboeAvailableIndicesData]: - """Transform the data to the standard format""" - + """Transform the data to the standard format.""" return [CboeAvailableIndicesData.parse_obj(d) for d in data] diff --git a/openbb_sdk/providers/cboe/openbb_cboe/models/major_indices_historical.py b/openbb_sdk/providers/cboe/openbb_cboe/models/major_indices_historical.py index 86c7a910e59..991072a3618 100644 --- a/openbb_sdk/providers/cboe/openbb_cboe/models/major_indices_historical.py +++ b/openbb_sdk/providers/cboe/openbb_cboe/models/major_indices_historical.py @@ -4,6 +4,11 @@ from datetime import datetime, timedelta from typing import Any, Dict, List, Literal, Optional import pandas as pd +from openbb_cboe.utils.helpers import ( + TICKER_EXCEPTIONS, + get_cboe_index_directory, + get_ticker_info, +) from openbb_provider.abstract.fetcher import Fetcher from openbb_provider.standard_models.major_indices_historical import ( MajorIndicesHistoricalData, @@ -12,12 +17,6 @@ from openbb_provider.standard_models.major_indices_historical import ( from openbb_provider.utils.helpers import make_request from pydantic import Field, validator -from openbb_cboe.utils.helpers import ( - TICKER_EXCEPTIONS, - get_cboe_index_directory, - get_ticker_info, -) - class CboeMajorIndicesHistoricalQueryParams(MajorIndicesHistoricalQueryParams): """CBOE Stock end of day query. @@ -53,10 +52,10 @@ class CboeMajorIndicesHistoricalData(MajorIndicesHistoricalData): class CboeMajorIndicesHistoricalFetcher( Fetcher[ CboeMajorIndicesHistoricalQueryParams, - CboeMajorIndicesHistoricalData, + List[CboeMajorIndicesHistoricalData], ] ): - """Transform the query, extract and transform the data from the CBOE endpoints""" + """Transform the query, extract and transform the data from the CBOE endpoints.""" @staticmethod def transform_query( @@ -71,8 +70,7 @@ class CboeMajorIndicesHistoricalFetcher( credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: - """Return the raw data from the CBOE endpoint""" - + """Return the raw data from the CBOE endpoint.""" # Synbol directories are cached for seven days and are used for error handling and URL generation. INDEXES = get_cboe_index_directory().index.to_list() query.symbol = query.symbol.upper() @@ -183,18 +181,19 @@ class CboeMajorIndicesHistoricalFetcher( puts_volume: List[float] = [] total_options_volume: List[float] = [] - for i in range(0, len(data_list)): - date.append(data_list[i]["datetime"]) - open.append(data_list[i]["price"]["open"]) - high.append(data_list[i]["price"]["high"]) - low.append(data_list[i]["price"]["low"]) - close.append(data_list[i]["price"]["close"]) - volume.append(data_list[i]["volume"]["stock_volume"]) - calls_volume.append(data_list[i]["volume"]["calls_volume"]) - puts_volume.append(data_list[i]["volume"]["puts_volume"]) + for i in enumerate(data_list): + date.append(data_list[i[0]]["datetime"]) + open.append(data_list[i[0]]["price"]["open"]) + high.append(data_list[i[0]]["price"]["high"]) + low.append(data_list[i[0]]["price"]["low"]) + close.append(data_list[i[0]]["price"]["close"]) + volume.append(data_list[i[0]]["volume"]["stock_volume"]) + calls_volume.append(data_list[i[0]]["volume"]["calls_volume"]) + puts_volume.append(data_list[i[0]]["volume"]["puts_volume"]) total_options_volume.append( - data_list[i]["volume"]["total_options_volume"] + data_list[i[0]]["volume"]["total_options_volume"] ) + data = pd.DataFrame() data["date"] = pd.to_datetime(date) data["open"] = open @@ -213,5 +212,5 @@ class CboeMajorIndicesHistoricalFetcher( @staticmethod def transform_data(data: List[Dict]) -> List[CboeMajorIndicesHistoricalData]: - """Transform the data to the standard format""" + """Transform the data to the standard format.""" return [CboeMajorIndicesHistoricalData.parse_obj(d) for d in data] diff --git a/openbb_sdk/providers/cboe/openbb_cboe/models/stock_historical.py b/openbb_sdk/providers/cboe/openbb_cboe/models/stock_historical.py index 50a56b6741e..0a659f08a8c 100644 --- a/openbb_sdk/providers/cboe/openbb_cboe/models/stock_historical.py +++ b/openbb_sdk/providers/cboe/openbb_cboe/models/stock_historical.py @@ -4,6 +4,12 @@ from datetime import datetime, timedelta from typing import Any, Dict, List, Literal, Optional import pandas as pd +from openbb_cboe.utils.helpers import ( + TICKER_EXCEPTIONS, + get_cboe_directory, + get_cboe_index_directory, + get_ticker_info, +) from openbb_provider.abstract.fetcher import Fetcher from openbb_provider.standard_models.stock_historical import ( StockHistoricalData, @@ -12,13 +18,6 @@ from openbb_provider.standard_models.stock_historical import ( from openbb_provider.utils.helpers import make_request from pydantic import Field, validator -from openbb_cboe.utils.helpers import ( - TICKER_EXCEPTIONS, - get_cboe_directory, - get_cboe_index_directory, - get_ticker_info, -) - class CboeStockHistoricalQueryParams(StockHistoricalQueryParams): """CBOE Stock end of day query. @@ -57,10 +56,10 @@ class CboeStockHistoricalData(StockHistoricalData): class CboeStockHistoricalFetcher( Fetcher[ CboeStockHistoricalQueryParams, - CboeStockHistoricalData, + List[CboeStockHistoricalData], ] ): - """Transform the query, extract and transform the data from the CBOE endpoints""" + """Transform the query, extract and transform the data from the CBOE endpoints.""" @staticmethod def transform_query(params: Dict[str, Any]) -> CboeStockHistoricalQueryParams: @@ -73,8 +72,7 @@ class CboeStockHistoricalFetcher( credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: - """Return the raw data from the CBOE endpoint""" - + """Return the raw data from the CBOE endpoint.""" # Synbol directories are cached for seven days and are used for error handling and URL generation. SYMBOLS = get_cboe_directory() INDEXES = get_cboe_index_directory().index.to_list() @@ -183,18 +181,19 @@ class CboeStockHistoricalFetcher( puts_volume: List[float] = [] total_options_volume: List[float] = [] - for i in range(0, len(data_list)): - date.append(data_list[i]["datetime"]) - open.append(data_list[i]["price"]["open"]) - high.append(data_list[i]["price"]["high"]) - low.append(data_list[i]["price"]["low"]) - close.append(data_list[i]["price"]["close"]) - volume.append(data_list[i]["volume"]["stock_volume"]) - calls_volume.append(data_list[i]["volume"]["calls_volume"]) - puts_volume.append(data_list[i]["volume"]["puts_volume"]) + for i in enumerate(data_list): + date.append(data_list[i[0]]["datetime"]) + open.append(data_list[i[0]]["price"]["open"]) + high.append(data_list[i[0]]["price"]["high"]) + low.append(data_list[i[0]]["price"]["low"]) + close.append(data_list[i[0]]["price"]["close"]) + volume.append(data_list[i[0]]["volume"]["stock_volume"]) + calls_volume.append(data_list[i[0]]["volume"]["calls_volume"]) + puts_volume.append(data_list[i[0]]["volume"]["puts_volume"]) total_options_volume.append( - data_list[i]["volume"]["total_options_volume"] + data_list[i[0]]["volume"]["total_options_volume"] ) + data = pd.DataFrame() data["date"] = pd.to_datetime(date) data["open"] = open diff --git a/openbb_sdk/providers/fmp/openbb_fmp/models/income_statement.py b/openbb_sdk/providers/fmp/openbb_fmp/models/income_statement.py index f6d7952bdb4..d4fa4d968e0 100644 --- a/openbb_sdk/providers/fmp/openbb_fmp/models/income_statement.py +++ b/openbb_sdk/providers/fmp/openbb_fmp/models/income_statement.py @@ -1,12 +1,10 @@ """FMP Income Statement Fetcher.""" -from datetime import ( - date as dateType, - datetime, -) +from datetime import date as dateType, datetime from typing import Any, Dict, List, Literal, Optional +from openbb_fmp.utils.helpers import get_data_many from openbb_provider.abstract.fetcher import Fetcher from openbb_provider.standard_models.income_statement import ( IncomeStatementData, @@ -14,8 +12,6 @@ from openbb_provider.standard_models.income_statement import ( ) from pydantic import Field, root_validator -from openbb_fmp.utils.helpers import get_data_many - PeriodType = Literal["annual", "quarter"] @@ -141,7 +137,7 @@ class FMPIncomeStatementFetcher( """Return the raw data from the FMP endpoint.""" api_key = credentials.get("fmp_api_key") if credentials else "" - symbol = query.symbol or query.cik + symbol = query.symbol base_url = "https://financialmodelingprep.com/api/v3" url = ( diff --git a/openbb_sdk/providers/intrinio/openbb_intrinio/models/options_chains.py b/openbb_sdk/providers/intrinio/openbb_intrinio/models/options_chains.py index b0ed1b96dba..ec4a26bd4be 100644 --- a/openbb_sdk/providers/intrinio/openbb_intrinio/models/options_chains.py +++ b/openbb_sdk/providers/intrinio/openbb_intrinio/models/options_chains.py @@ -1,11 +1,7 @@ """Intrinio Options Chains fetcher.""" import concurrent.futures -from datetime import ( - date as dateType, - datetime, - timedelta, -) +from datetime import date as dateType, datetime, timedelta from typing import Any, Dict, List, Optional, Union import pandas as pd @@ -313,11 +309,11 @@ class IntrinioOptionsChainsFetcher( credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[Dict]: - """Return the raw data from the Intrinio endpoint""" + """Return the raw data from the Intrinio endpoint.""" api_key = credentials.get("intrinio_api_key") if credentials else "" data = get_historical_chain_with_greeks( - symbol=query.symbol, date=query.date, api_key=api_key + symbol=query.symbol, date=query.date, api_key=api_key # type: ignore ) return data.to_dict("records") diff --git a/openbb_sdk/providers/intrinio/openbb_intrinio/models/stock_quote.py b/openbb_sdk/providers/intrinio/openbb_intrinio/models/stock_quote.py index f5509fa8c00..1e78d505008 100644 --- a/openbb_sdk/providers/intrinio/openbb_intrinio/models/stock_quote.py +++ b/openbb_sdk/providers/intrinio/openbb_intrinio/models/stock_quote.py @@ -3,6 +3,8 @@ from datetime import datetime from typing import Any, Dict, List, Optional +from openbb_intrinio.utils.helpers import get_data_one +from openbb_intrinio.utils.references import SOURCES from openbb_provider.abstract.fetcher import Fetcher from openbb_provider.standard_models.stock_quote import ( StockQuoteData, @@ -10,9 +12,6 @@ from openbb_provider.standard_models.stock_quote import ( ) from pydantic import Field, validator -from openbb_intrinio.utils.helpers import get_data_one -from openbb_intrinio.utils.references import SOURCES - class IntrinioStockQuoteQueryParams(StockQuoteQueryParams): """Intrinio Stock Quote Query. @@ -92,7 +91,7 @@ class IntrinioStockQuoteData(StockQuoteData): class IntrinioStockQuoteFetcher( Fetcher[ IntrinioStockQuoteQueryParams, - List[IntrinioStockQuoteData], + IntrinioStockQuoteData, ] ): """Transform the query, extract and transform the data from the Intrinio endpoints.""" @@ -100,7 +99,6 @@ class IntrinioStockQuoteFetcher( @staticmethod def transform_query(params: Dict[str, Any]) -> IntrinioStockQuoteQueryParams: """Transform the query params.""" - return IntrinioStockQuoteQueryParams(**params) @staticmethod @@ -110,7 +108,6 @@ class IntrinioStockQuoteFetcher( **kwargs: Any, ) -> Dict: """Return the raw data from the Intrinio endpoint.""" - api_key = credentials.get("intrinio_api_key") if credentials else "" base_url = "https://api-v2.intrinio.com" @@ -121,7 +118,6 @@ class IntrinioStockQuoteFetcher( @staticmethod def transform_data(data: Dict) -> IntrinioStockQuoteData: """Return the transformed data.""" - del data["messages"] del data["security"] diff --git a/openbb_sdk/providers/yfinance/openbb_yfinance/models/balance_sheet.py b/openbb_sdk/providers/yfinance/openbb_yfinance/models/balance_sheet.py index e547f929752..d4ac06171fd 100644 --- a/openbb_sdk/providers/yfinance/openbb_yfinance/models/balance_sheet.py +++ b/openbb_sdk/providers/yfinance/openbb_yfinance/models/balance_sheet.py @@ -34,7 +34,7 @@ class YFinanceBalanceSheetData(BalanceSheetData): class YFinanceBalanceSheetFetcher( Fetcher[ YFinanceBalanceSheetQueryParams, - YFinanceBalanceSheetData, + List[YFinanceBalanceSheetData], ] ): @staticmethod @@ -47,7 +47,7 @@ class YFinanceBalanceSheetFetcher( credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[YFinanceBalanceSheetData]: - query.period = "yearly" if query.period == "annually" else "quarterly" + query.period = "yearly" if query.period == "annually" else "quarterly" # type: ignore data = Ticker(query.symbol).get_balance_sheet( as_dict=True, pretty=False, freq=query.period ) diff --git a/openbb_sdk/providers/yfinance/openbb_yfinance/models/cash_flow.py b/openbb_sdk/providers/yfinance/openbb_yfinance/models/cash_flow.py index 3d531aefd36..96750cb59ee 100644 --- a/openbb_sdk/providers/yfinance/openbb_yfinance/models/cash_flow.py +++ b/openbb_sdk/providers/yfinance/openbb_yfinance/models/cash_flow.py @@ -34,7 +34,7 @@ class YFinanceCashFlowStatementData(CashFlowStatementData): class YFinanceCashFlowStatementFetcher( Fetcher[ YFinanceCashFlowStatementQueryParams, - YFinanceCashFlowStatementData, + List[YFinanceCashFlowStatementData], ] ): @staticmethod @@ -47,7 +47,7 @@ class YFinanceCashFlowStatementFetcher( credentials: Optional[Dict[str, str]], **kwargs: Any, ) -> List[YFinanceCashFlowStatementData]: - query.period = "yearly" if query.period == "annually" else "quarterly" + query.period = "yearly" if query.period == "annually" else "quarterly" # type: ignore data = Ticker(query.symbol).get_cash_flow( as_dict=True, pretty=False, freq=query.period ) diff --git a/openbb_sdk/sdk/core/openbb_core/app/command_runner.py b/openbb_sdk/sdk/core/openbb_core/app/command_runner.py index f5d9dbc25fd..cd24c409a6c 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/command_runner.py +++ b/openbb_sdk/sdk/core/openbb_core/app/command_runner.py @@ -7,8 +7,6 @@ from sys import exc_info from time import perf_counter_ns from typing import Any, Callable, ContextManager, Dict, List, Optional, Tuple, Union -from pydantic import BaseConfig, Extra, create_model - from openbb_core.app.charting_service import ChartingService from openbb_core.app.logs.logging_service import LoggingService from openbb_core.app.model.abstract.error import OpenBBError @@ -22,6 +20,7 @@ from openbb_core.app.router import CommandMap from openbb_core.app.service.system_service import SystemService from openbb_core.app.service.user_service import UserService from openbb_core.env import Env +from pydantic import BaseConfig, Extra, create_model class ExecutionContext: @@ -151,7 +150,7 @@ class ParametersBuilder: ) if route_default: - return route_default.get("provider", None) or command_cov_provider + return route_default.get("provider", None) or command_cov_provider # type: ignore return command_cov_provider diff --git a/openbb_sdk/sdk/core/openbb_core/app/router.py b/openbb_sdk/sdk/core/openbb_core/app/router.py index dde910d08e2..c8f4e777350 100644 --- a/openbb_sdk/sdk/core/openbb_core/app/router.py +++ b/openbb_sdk/sdk/core/openbb_core/app/router.py @@ -17,11 +17,6 @@ from typing import ( from fastapi import APIRouter, Depends from importlib_metadata import entry_points -from pydantic import BaseModel -from pydantic.config import BaseConfig -from pydantic.validators import find_validators -from typing_extensions import Annotated, ParamSpec, _AnnotatedAlias - from openbb_core.app.model.abstract.warning import OpenBBWarning from openbb_core.app.model.command_context import CommandContext from openbb_core.app.model.obbject import OBBject @@ -32,6 +27,10 @@ from openbb_core.app.provider_interface import ( StandardParams, ) from openbb_core.env import Env +from pydantic import BaseModel +from pydantic.config import BaseConfig +from pydantic.validators import find_validators +from typing_extensions import Annotated, ParamSpec, _AnnotatedAlias P = ParamSpec("P") @@ -292,7 +291,7 @@ class SignatureInspector: Also updates __name__ and __doc__ for API schemas.""" ReturnModel = inner_type if get_origin(outer_type) == list: - ReturnModel = List[inner_type] + ReturnModel = List[inner_type] # type: ignore return_type = OBBject[ReturnModel] # type: ignore return_type.__name__ = f"OBBject[{inner_type.__name__}]" diff --git a/openbb_sdk/sdk/core/tests/api/dependency/__init__.py b/openbb_sdk/sdk/core/tests/api/test_dependency/__init__.py similarity index 100% rename from openbb_sdk/sdk/core/tests/api/dependency/__init__.py rename to openbb_sdk/sdk/core/tests/api/test_dependency/__init__.py diff --git a/openbb_sdk/sdk/core/tests/api/dependency/test_system.py b/openbb_sdk/sdk/core/tests/api/test_dependency/test_system.py similarity index 100% rename from openbb_sdk/sdk/core/tests/api/dependency/test_system.py rename to openbb_sdk/sdk/core/tests/api/test_dependency/test_system.py diff --git a/openbb_sdk/sdk/core/tests/api/dependency/test_user.py b/openbb_sdk/sdk/core/tests/api/test_dependency/test_user.py similarity index 100% rename from openbb_sdk/sdk/core/tests/api/dependency/test_user.py rename to openbb_sdk/sdk/core/tests/api/test_dependency/test_user.py diff --git a/openbb_sdk/sdk/core/tests/api/router/__init__.py b/openbb_sdk/sdk/core/tests/api/test_router/__init__.py similarity index 100% rename from openbb_sdk/sdk/core/tests/api/router/__init__.py rename to openbb_sdk/sdk/core/tests/api/test_router/__init__.py diff --git a/openbb_sdk/sdk/core/tests/api/router/test_router_coverage.py b/openbb_sdk/sdk/core/tests/api/test_router/test_router_coverage.py similarity index 100% rename from openbb_sdk/sdk/core/tests/api/router/test_router_coverage.py rename to openbb_sdk/sdk/core/tests/api/test_router/test_router_coverage.py diff --git a/openbb_sdk/sdk/core/tests/api/router/test_router_system.py b/openbb_sdk/sdk/core/tests/api/test_router/test_router_system.py similarity index 100% rename from openbb_sdk/sdk/core/tests/api/router/test_router_system.py rename to openbb_sdk/sdk/core/tests/api/test_router/test_router_system.py diff --git a/openbb_sdk/sdk/core/tests/api/router/test_router_user.py b/openbb_sdk/sdk/core/tests/api/test_router/test_router_user.py similarity index 100% rename from openbb_sdk/sdk/core/tests/api/router/test_router_user.py rename to openbb_sdk/sdk/core/tests/api/test_router/test_router_user.py