From ad0bb2428b101349b2e5ea3e34f00e2a15ba2da3 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Mon, 2 Oct 2023 04:46:19 -0700 Subject: [PATCH] rename sec_filings -> company_filings (#5501) --- .../stocks/integration/test_stocks_api.py | 6 +- .../stocks/integration/test_stocks_python.py | 6 +- .../stocks/openbb_stocks/fa/fa_router.py | 6 +- .../openbb/package/module_map.json | 2 +- openbb_platform/openbb/package/stocks_fa.py | 1202 ++++++++--------- .../{sec_filings.py => company_filings.py} | 35 +- .../providers/fmp/openbb_fmp/__init__.py | 4 +- .../fmp/openbb_fmp/models/company_filings.py | 79 ++ .../fmp/openbb_fmp/models/sec_filings.py | 56 - ... => test_fmp_company_filings_fetcher.yaml} | 0 .../providers/fmp/tests/test_fmp_fetchers.py | 6 +- 11 files changed, 648 insertions(+), 754 deletions(-) rename openbb_platform/platform/provider/openbb_provider/standard_models/{sec_filings.py => company_filings.py} (62%) create mode 100644 openbb_platform/providers/fmp/openbb_fmp/models/company_filings.py delete mode 100644 openbb_platform/providers/fmp/openbb_fmp/models/sec_filings.py rename openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/{test_fmpsec_filings_fetcher.yaml => test_fmp_company_filings_fetcher.yaml} (100%) diff --git a/openbb_platform/extensions/stocks/integration/test_stocks_api.py b/openbb_platform/extensions/stocks/integration/test_stocks_api.py index fa3edf05938..e497887e5cc 100644 --- a/openbb_platform/extensions/stocks/integration/test_stocks_api.py +++ b/openbb_platform/extensions/stocks/integration/test_stocks_api.py @@ -467,14 +467,14 @@ def test_stocks_fa_revseg(params, headers): @pytest.mark.parametrize( "params", - [({"symbol": "AAPL", "type": "1", "page": 1, "limit": 100})], + [({"symbol": "AAPL", "type": "1", "page": 1, "limit": 100, "provider": "fmp"})], ) @pytest.mark.integration -def test_stocks_fa_sec(params, headers): +def test_stocks_fa_filings(params, headers): params = {p: v for p, v in params.items() if v} query_str = get_querystring(params, []) - url = f"http://0.0.0.0:8000/api/v1/stocks/fa/sec?{query_str}" + url = f"http://0.0.0.0:8000/api/v1/stocks/fa/filings?{query_str}" result = requests.get(url, headers=headers, timeout=5) assert isinstance(result, requests.Response) assert result.status_code == 200 diff --git a/openbb_platform/extensions/stocks/integration/test_stocks_python.py b/openbb_platform/extensions/stocks/integration/test_stocks_python.py index 8c241f2b9a8..7111ab8bb15 100644 --- a/openbb_platform/extensions/stocks/integration/test_stocks_python.py +++ b/openbb_platform/extensions/stocks/integration/test_stocks_python.py @@ -440,12 +440,12 @@ def test_stocks_fa_revseg(params): @pytest.mark.parametrize( "params", [ - ({"symbol": "AAPL", "type": "1", "page": 1, "limit": 100}), + ({"symbol": "AAPL", "type": "1", "page": 1, "limit": 100, "provider": "fmp"}), ], ) @pytest.mark.integration -def test_stocks_fa_sec(params): - result = obb.stocks.fa.sec(**params) +def test_stocks_fa_filings(params): + result = obb.stocks.fa.filings(**params) assert result assert isinstance(result, OBBject) assert len(result.results) > 0 diff --git a/openbb_platform/extensions/stocks/openbb_stocks/fa/fa_router.py b/openbb_platform/extensions/stocks/openbb_stocks/fa/fa_router.py index 690284fd0cf..b1e3ad0e884 100644 --- a/openbb_platform/extensions/stocks/openbb_stocks/fa/fa_router.py +++ b/openbb_platform/extensions/stocks/openbb_stocks/fa/fa_router.py @@ -279,14 +279,14 @@ def revseg( return OBBject(results=Query(**locals()).execute()) -@router.command(model="SECFilings") -def sec( +@router.command(model="CompanyFilings") +def filings( cc: CommandContext, provider_choices: ProviderChoices, standard_params: StandardParams, extra_params: ExtraParams, ) -> OBBject[BaseModel]: - """SEC Filings.""" + """Company Filings.""" return OBBject(results=Query(**locals()).execute()) diff --git a/openbb_platform/openbb/package/module_map.json b/openbb_platform/openbb/package/module_map.json index 20a6913c68f..75ffa6356ba 100644 --- a/openbb_platform/openbb/package/module_map.json +++ b/openbb_platform/openbb/package/module_map.json @@ -39,6 +39,7 @@ "stocks_fa_earning": "/stocks/fa/earning", "stocks_fa_emp": "/stocks/fa/emp", "stocks_fa_est": "/stocks/fa/est", + "stocks_fa_filings": "/stocks/fa/filings", "stocks_fa_income": "/stocks/fa/income", "stocks_fa_income_growth": "/stocks/fa/income_growth", "stocks_fa_ins": "/stocks/fa/ins", @@ -52,7 +53,6 @@ "stocks_fa_ratios": "/stocks/fa/ratios", "stocks_fa_revgeo": "/stocks/fa/revgeo", "stocks_fa_revseg": "/stocks/fa/revseg", - "stocks_fa_sec": "/stocks/fa/sec", "stocks_fa_shrs": "/stocks/fa/shrs", "stocks_fa_split": "/stocks/fa/split", "stocks_fa_transcript": "/stocks/fa/transcript", diff --git a/openbb_platform/openbb/package/stocks_fa.py b/openbb_platform/openbb/package/stocks_fa.py index fc263ca8c16..62e86f641b1 100644 --- a/openbb_platform/openbb/package/stocks_fa.py +++ b/openbb_platform/openbb/package/stocks_fa.py @@ -1,15 +1,15 @@ ### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ### import datetime -from typing import List, Literal, Union +from typing import List, Literal, Optional, Union -import typing_extensions from openbb_core.app.model.custom_parameter import OpenBBCustomParameter from openbb_core.app.model.obbject import OBBject from openbb_core.app.static.container import Container from openbb_core.app.static.filters import filter_inputs from openbb_provider.abstract.data import Data from pydantic import validate_call +from typing_extensions import Annotated class ROUTER_stocks_fa(Container): @@ -25,6 +25,7 @@ class ROUTER_stocks_fa(Container): earning emp est + filings income income_growth ins @@ -38,7 +39,6 @@ class ROUTER_stocks_fa(Container): ratios revgeo revseg - sec shrs split transcript @@ -50,19 +50,19 @@ class ROUTER_stocks_fa(Container): @validate_call def balance( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - period: typing_extensions.Annotated[ + period: Annotated[ Literal["annual", "quarter"], OpenBBCustomParameter(description="Period of the data to return."), ] = "annual", - limit: typing_extensions.Annotated[ + limit: Annotated[ int, OpenBBCustomParameter(description="The number of data entries to return."), ] = 12, - provider: Union[Literal["fmp", "intrinio", "polygon"], None] = None, + provider: Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[List[Data]]: """Balance Sheet. @@ -75,55 +75,55 @@ class ROUTER_stocks_fa(Container): Period of the data to return. limit : int The number of data entries to return. - provider : Union[Literal['fmp', 'intrinio', 'polygon'], None] + provider : Optional[Literal['fmp', 'intrinio', '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. - cik : Optional[Union[str]] + cik : Optional[str] Central Index Key (CIK) of the company. (provider: fmp) type : Literal['reported', 'standardized'] Type of the statement to be fetched. (provider: intrinio) - year : Optional[Union[int]] + year : Optional[int] Year of the statement to be fetched. (provider: intrinio) - company_name : Optional[Union[str]] + company_name : Optional[str] Name of the company. (provider: polygon) - company_name_search : Optional[Union[str]] + company_name_search : Optional[str] Name of the company to search. (provider: polygon) - sic : Optional[Union[str]] + sic : Optional[str] The Standard Industrial Classification (SIC) of the company. (provider: polygon) - filing_date : Optional[Union[datetime.date]] + filing_date : Optional[datetime.date] Filing date of the financial statement. (provider: polygon) - filing_date_lt : Optional[Union[datetime.date]] + filing_date_lt : Optional[datetime.date] Filing date less than the given date. (provider: polygon) - filing_date_lte : Optional[Union[datetime.date]] + filing_date_lte : Optional[datetime.date] Filing date less than or equal to the given date. (provider: polygon) - filing_date_gt : Optional[Union[datetime.date]] + filing_date_gt : Optional[datetime.date] Filing date greater than the given date. (provider: polygon) - filing_date_gte : Optional[Union[datetime.date]] + filing_date_gte : Optional[datetime.date] Filing date greater than or equal to the given date. (provider: polygon) - period_of_report_date : Optional[Union[datetime.date]] + period_of_report_date : Optional[datetime.date] Period of report date of the financial statement. (provider: polygon) - period_of_report_date_lt : Optional[Union[datetime.date]] + period_of_report_date_lt : Optional[datetime.date] Period of report date less than the given date. (provider: polygon) - period_of_report_date_lte : Optional[Union[datetime.date]] + period_of_report_date_lte : Optional[datetime.date] Period of report date less than or equal to the given date. (provider: polygon) - period_of_report_date_gt : Optional[Union[datetime.date]] + period_of_report_date_gt : Optional[datetime.date] Period of report date greater than the given date. (provider: polygon) - period_of_report_date_gte : Optional[Union[datetime.date]] + period_of_report_date_gte : Optional[datetime.date] Period of report date greater than or equal to the given date. (provider: polygon) - include_sources : Optional[Union[bool]] + include_sources : Optional[bool] Whether to include the sources of the financial statement. (provider: polygon) - order : Optional[Union[Literal['asc', 'desc']]] + order : Optional[Literal['asc', 'desc']] Order of the financial statement. (provider: polygon) - sort : Optional[Union[Literal['filing_date', 'period_of_report_date']]] + sort : Optional[Literal['filing_date', 'period_of_report_date']] Sort of the financial statement. (provider: polygon) Returns ------- OBBject - results : Union[List[BalanceSheet]] + results : List[BalanceSheet] Serializable results. - provider : Union[Literal['fmp', 'intrinio', 'polygon'], None] + provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -134,19 +134,19 @@ class ROUTER_stocks_fa(Container): BalanceSheet ------------ - symbol : Optional[Union[str]] + symbol : Optional[str] Symbol to get data for. date : date Date of the fetched statement. - cik : Optional[Union[str]] + cik : Optional[str] Central Index Key (CIK) of the company. - currency : Optional[Union[str]] + currency : Optional[str] Reporting currency. - filling_date : Optional[Union[date]] + filling_date : Optional[date] Filling date. - accepted_date : Optional[Union[datetime]] + accepted_date : Optional[datetime] Accepted date. - period : Optional[Union[str]] + period : Optional[str] Reporting period of the statement. cash_and_cash_equivalents : Optional[int] Cash and cash equivalents @@ -244,9 +244,9 @@ class ROUTER_stocks_fa(Container): Total Debt (provider: fmp) net_debt : Optional[int] Net Debt (provider: fmp) - link : Optional[Union[str]] + link : Optional[str] Link to the statement. (provider: fmp) - final_link : Optional[Union[str]] + final_link : Optional[str] Link to the final statement. (provider: fmp)""" # noqa: E501 inputs = filter_inputs( @@ -269,15 +269,15 @@ class ROUTER_stocks_fa(Container): @validate_call def balance_growth( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - limit: typing_extensions.Annotated[ + limit: Annotated[ int, OpenBBCustomParameter(description="The number of data entries to return."), ] = 10, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Balance Sheet Statement Growth. @@ -288,7 +288,7 @@ class ROUTER_stocks_fa(Container): Symbol to get data for. limit : int The number of data entries to return. - provider : Union[Literal['fmp'], None] + 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. @@ -296,9 +296,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[BalanceSheetGrowth]] + results : List[BalanceSheetGrowth] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -309,7 +309,7 @@ class ROUTER_stocks_fa(Container): BalanceSheetGrowth ------------------ - symbol : Optional[Union[str]] + symbol : Optional[str] Symbol to get data for. date : date The date of the data. @@ -413,19 +413,19 @@ class ROUTER_stocks_fa(Container): @validate_call def cal( self, - start_date: typing_extensions.Annotated[ + start_date: Annotated[ Union[datetime.date, str], OpenBBCustomParameter( description="Start date of the data, in YYYY-MM-DD format." ), ] = None, - end_date: typing_extensions.Annotated[ + end_date: Annotated[ Union[datetime.date, str], OpenBBCustomParameter( description="End date of the data, in YYYY-MM-DD format." ), ] = None, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Show Dividend Calendar for a given start and end dates. @@ -436,7 +436,7 @@ class ROUTER_stocks_fa(Container): Start date of the data, in YYYY-MM-DD format. end_date : date End date of the data, in YYYY-MM-DD format. - provider : Union[Literal['fmp'], None] + 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. @@ -444,9 +444,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[DividendCalendar]] + results : List[DividendCalendar] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -463,15 +463,15 @@ class ROUTER_stocks_fa(Container): The date of the data. label : str Date in human readable form in the calendar. - adj_dividend : Optional[Union[float]] + adj_dividend : Optional[float] Adjusted dividend on a date in the calendar. - dividend : Optional[Union[float]] + dividend : Optional[float] Dividend amount in the calendar. - record_date : Optional[Union[date]] + record_date : Optional[date] Record date of the dividend in the calendar. - payment_date : Optional[Union[date]] + payment_date : Optional[date] Payment date of the dividend in the calendar. - declaration_date : Optional[Union[date]] + declaration_date : Optional[date] Declaration date of the dividend in the calendar.""" # noqa: E501 inputs = filter_inputs( @@ -493,19 +493,19 @@ class ROUTER_stocks_fa(Container): @validate_call def cash( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - period: typing_extensions.Annotated[ + period: Annotated[ Literal["annual", "quarter"], OpenBBCustomParameter(description="Period of the data to return."), ] = "annual", - limit: typing_extensions.Annotated[ + limit: Annotated[ int, OpenBBCustomParameter(description="The number of data entries to return."), ] = 12, - provider: Union[Literal["fmp", "intrinio", "polygon"], None] = None, + provider: Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[List[Data]]: """Cash Flow Statement. @@ -518,55 +518,55 @@ class ROUTER_stocks_fa(Container): Period of the data to return. limit : int The number of data entries to return. - provider : Union[Literal['fmp', 'intrinio', 'polygon'], None] + provider : Optional[Literal['fmp', 'intrinio', '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. - cik : Optional[Union[str]] + cik : Optional[str] Central Index Key (CIK) of the company. (provider: fmp) type : Literal['reported', 'standardized'] Type of the statement to be fetched. (provider: intrinio) - year : Optional[Union[int]] + year : Optional[int] Year of the statement to be fetched. (provider: intrinio) - company_name : Optional[Union[str]] + company_name : Optional[str] Name of the company. (provider: polygon) - company_name_search : Optional[Union[str]] + company_name_search : Optional[str] Name of the company to search. (provider: polygon) - sic : Optional[Union[str]] + sic : Optional[str] The Standard Industrial Classification (SIC) of the company. (provider: polygon) - filing_date : Optional[Union[datetime.date]] + filing_date : Optional[datetime.date] Filing date of the financial statement. (provider: polygon) - filing_date_lt : Optional[Union[datetime.date]] + filing_date_lt : Optional[datetime.date] Filing date less than the given date. (provider: polygon) - filing_date_lte : Optional[Union[datetime.date]] + filing_date_lte : Optional[datetime.date] Filing date less than or equal to the given date. (provider: polygon) - filing_date_gt : Optional[Union[datetime.date]] + filing_date_gt : Optional[datetime.date] Filing date greater than the given date. (provider: polygon) - filing_date_gte : Optional[Union[datetime.date]] + filing_date_gte : Optional[datetime.date] Filing date greater than or equal to the given date. (provider: polygon) - period_of_report_date : Optional[Union[datetime.date]] + period_of_report_date : Optional[datetime.date] Period of report date of the financial statement. (provider: polygon) - period_of_report_date_lt : Optional[Union[datetime.date]] + period_of_report_date_lt : Optional[datetime.date] Period of report date less than the given date. (provider: polygon) - period_of_report_date_lte : Optional[Union[datetime.date]] + period_of_report_date_lte : Optional[datetime.date] Period of report date less than or equal to the given date. (provider: polygon) - period_of_report_date_gt : Optional[Union[datetime.date]] + period_of_report_date_gt : Optional[datetime.date] Period of report date greater than the given date. (provider: polygon) - period_of_report_date_gte : Optional[Union[datetime.date]] + period_of_report_date_gte : Optional[datetime.date] Period of report date greater than or equal to the given date. (provider: polygon) - include_sources : Optional[Union[bool]] + include_sources : Optional[bool] Whether to include the sources of the financial statement. (provider: polygon) - order : Optional[Union[Literal['asc', 'desc']]] + order : Optional[Literal['asc', 'desc']] Order of the financial statement. (provider: polygon) - sort : Optional[Union[Literal['filing_date', 'period_of_report_date']]] + sort : Optional[Literal['filing_date', 'period_of_report_date']] Sort of the financial statement. (provider: polygon) Returns ------- OBBject - results : Union[List[CashFlowStatement]] + results : List[CashFlowStatement] Serializable results. - provider : Union[Literal['fmp', 'intrinio', 'polygon'], None] + provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -577,13 +577,13 @@ class ROUTER_stocks_fa(Container): CashFlowStatement ----------------- - symbol : Optional[Union[str]] + symbol : Optional[str] Symbol to get data for. date : date Date of the fetched statement. - period : Optional[Union[str]] + period : Optional[str] Reporting period of the statement. - cik : Optional[Union[str]] + cik : Optional[str] Central Index Key (CIK) of the company. net_income : Optional[int] Net income. @@ -641,11 +641,11 @@ class ROUTER_stocks_fa(Container): Net cash flow from financing activities. net_change_in_cash : Optional[int] Net increase (decrease) in cash, cash equivalents, and restricted cash - reported_currency : Optional[Union[str]] + reported_currency : Optional[str] Reported currency in the statement. (provider: fmp) - filling_date : Optional[Union[date]] + filling_date : Optional[date] Filling date. (provider: fmp) - accepted_date : Optional[Union[datetime]] + accepted_date : Optional[datetime] Accepted date. (provider: fmp) calendar_year : Optional[int] Calendar year. (provider: fmp) @@ -667,9 +667,9 @@ class ROUTER_stocks_fa(Container): Capital expenditure. (provider: fmp) free_cash_flow : Optional[int] Free cash flow. (provider: fmp) - link : Optional[Union[str]] + link : Optional[str] Link to the statement. (provider: fmp) - final_link : Optional[Union[str]] + final_link : Optional[str] Link to the final statement. (provider: fmp)""" # noqa: E501 inputs = filter_inputs( @@ -692,15 +692,15 @@ class ROUTER_stocks_fa(Container): @validate_call def cash_growth( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - limit: typing_extensions.Annotated[ + limit: Annotated[ int, OpenBBCustomParameter(description="The number of data entries to return."), ] = 10, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Cash Flow Statement Growth. @@ -711,7 +711,7 @@ class ROUTER_stocks_fa(Container): Symbol to get data for. limit : int The number of data entries to return. - provider : Union[Literal['fmp'], None] + 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. @@ -719,9 +719,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[CashFlowStatementGrowth]] + results : List[CashFlowStatementGrowth] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -732,7 +732,7 @@ class ROUTER_stocks_fa(Container): CashFlowStatementGrowth ----------------------- - symbol : Optional[Union[str]] + symbol : Optional[str] Symbol to get data for. date : date The date of the data. @@ -818,11 +818,11 @@ class ROUTER_stocks_fa(Container): @validate_call def comp( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Executive Compensation. @@ -831,7 +831,7 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -839,9 +839,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[ExecutiveCompensation]] + results : List[ExecutiveCompensation] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -854,7 +854,7 @@ class ROUTER_stocks_fa(Container): --------------------- symbol : str Symbol to get data for. - cik : Optional[Union[str]] + cik : Optional[str] Central Index Key (CIK) of the company. filing_date : date Date of the filing. @@ -897,30 +897,30 @@ class ROUTER_stocks_fa(Container): @validate_call def comsplit( self, - start_date: typing_extensions.Annotated[ + start_date: Annotated[ Union[datetime.date, None, str], OpenBBCustomParameter( description="Start date of the data, in YYYY-MM-DD format." ), ] = None, - end_date: typing_extensions.Annotated[ + end_date: Annotated[ Union[datetime.date, None, str], OpenBBCustomParameter( description="End date of the data, in YYYY-MM-DD format." ), ] = None, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Stock Split Calendar. Parameters ---------- - start_date : Union[datetime.date, None] + start_date : Optional[datetime.date] Start date of the data, in YYYY-MM-DD format. - end_date : Union[datetime.date, None] + end_date : Optional[datetime.date] End date of the data, in YYYY-MM-DD format. - provider : Union[Literal['fmp'], None] + 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. @@ -928,9 +928,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[StockSplitCalendar]] + results : List[StockSplitCalendar] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -971,11 +971,11 @@ class ROUTER_stocks_fa(Container): @validate_call def divs( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Historical Dividends. @@ -984,7 +984,7 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -992,9 +992,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[HistoricalDividends]] + results : List[HistoricalDividends] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1013,11 +1013,11 @@ class ROUTER_stocks_fa(Container): Adjusted dividend of the historical dividends. dividend : float Dividend of the historical dividends. - record_date : Optional[Union[date]] + record_date : Optional[date] Record date of the historical dividends. - payment_date : Optional[Union[date]] + payment_date : Optional[date] Payment date of the historical dividends. - declaration_date : Optional[Union[date]] + declaration_date : Optional[date] Declaration date of the historical dividends.""" # noqa: E501 inputs = filter_inputs( @@ -1038,15 +1038,15 @@ class ROUTER_stocks_fa(Container): @validate_call def earning( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - limit: typing_extensions.Annotated[ - Union[int, None], + limit: Annotated[ + Optional[int], OpenBBCustomParameter(description="The number of data entries to return."), ] = 50, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Earnings Calendar. @@ -1055,9 +1055,9 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - limit : Union[int, None] + limit : Optional[int] The number of data entries to return. - provider : Union[Literal['fmp'], None] + 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. @@ -1065,9 +1065,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[EarningsCalendar]] + results : List[EarningsCalendar] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1082,15 +1082,15 @@ class ROUTER_stocks_fa(Container): Symbol to get data for. date : date The date of the data. - eps : Optional[Union[float]] + eps : Optional[float] EPS of the earnings calendar. - eps_estimated : Optional[Union[float]] + eps_estimated : Optional[float] Estimated EPS of the earnings calendar. time : str Time of the earnings calendar. - revenue : Optional[Union[float]] + revenue : Optional[float] Revenue of the earnings calendar. - revenue_estimated : Optional[Union[float]] + revenue_estimated : Optional[float] Estimated revenue of the earnings calendar. updated_from_date : Optional[date] Updated from date of the earnings calendar. @@ -1116,11 +1116,11 @@ class ROUTER_stocks_fa(Container): @validate_call def emp( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Number of Employees. @@ -1129,7 +1129,7 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -1137,9 +1137,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[HistoricalEmployees]] + results : List[HistoricalEmployees] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1187,19 +1187,19 @@ class ROUTER_stocks_fa(Container): @validate_call def est( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - period: typing_extensions.Annotated[ - Literal["quarter", "annual"], + period: Annotated[ + Literal["annual", "quarter"], OpenBBCustomParameter(description="Period of the data to return."), ] = "annual", - limit: typing_extensions.Annotated[ + limit: Annotated[ int, OpenBBCustomParameter(description="The number of data entries to return."), ] = 30, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Analyst Estimates. @@ -1212,7 +1212,7 @@ class ROUTER_stocks_fa(Container): Period of the data to return. limit : int The number of data entries to return. - provider : Union[Literal['fmp'], None] + 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. @@ -1220,9 +1220,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[AnalystEstimates]] + results : List[AnalystEstimates] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1296,21 +1296,99 @@ class ROUTER_stocks_fa(Container): ) @validate_call - def income( + def filings( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - period: typing_extensions.Annotated[ + limit: Annotated[ + Optional[int], + OpenBBCustomParameter(description="The number of data entries to return."), + ] = 100, + provider: Optional[Literal["fmp"]] = None, + **kwargs + ) -> OBBject[List[Data]]: + """Company Filings. + + Parameters + ---------- + symbol : str + Symbol to get data for. + limit : Optional[int] + The number of data entries to return. + 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. + type : Optional[Literal['1', '1-A', '1-E', '1-K', '1-N', '1-SA', '1-U', '1-Z', '10', '10-D', '10-K', '10-M', '10-Q', '11-K', '12b-25', '13F', '13H', '144', '15', '15F', '17-H', '18', '18-K', '19b-4', '19b-4(e)', '19b-7', '2-E', '20-F', '24F-2', '25', '3', '4', '40-F', '5', '6-K', '7-M', '8-A', '8-K', '8-M', '9-M', 'ABS-15G', 'ABS-EE', 'ABS DD-15E', 'ADV', 'ADV-E', 'ADV-H', 'ADV-NR', 'ADV-W', 'ATS', 'ATS-N', 'ATS-R', 'BD', 'BD-N', 'BDW', 'C', 'CA-1', 'CB', 'CFPORTAL', 'CRS', 'CUSTODY', 'D', 'F-1', 'F-10', 'F-3', 'F-4', 'F-6', 'F-7', 'F-8', 'F-80', 'F-N', 'F-X', 'ID', 'MA', 'MA-I', 'MA-NR', 'MA-W', 'MSD', 'MSDW', 'N-14', 'N-17D-1', 'N-17f-1', 'N-17f-2', 'N-18f-1', 'N-1A', 'N-2', 'N-23c-3', 'N-27D-1', 'N-3', 'N-4', 'N-5', 'N-54A', 'N-54C', 'N-6', 'N-6EI-1', 'N-6F', 'N-8A', 'N-8B-2', 'N-8B-4', 'N-8F', 'N-CEN']] + Type of the SEC filing form. (provider: fmp) + page : Optional[int] + Page number of the results. (provider: fmp) + + Returns + ------- + OBBject + results : List[CompanyFilings] + Serializable results. + provider : Optional[Literal['fmp']] + Provider name. + warnings : Optional[List[Warning_]] + List of warnings. + chart : Optional[Chart] + Chart object. + extra: Dict[str, Any] + Extra info. + + CompanyFilings + -------------- + date : date + The date of the filing. + type : str + Type of document. + link : str + URL to the document. + symbol : Optional[str] + The ticker symbol of the company. (provider: fmp) + accepted_date : Optional[date] + Accepted date of the SEC filing. (provider: fmp) + cik : Optional[str] + CIK of the SEC filing. (provider: fmp) + final_link : Optional[str] + Final link of the SEC filing. (provider: fmp)""" # noqa: E501 + + inputs = filter_inputs( + provider_choices={ + "provider": provider, + }, + standard_params={ + "symbol": ",".join(symbol) if isinstance(symbol, list) else symbol, + "limit": limit, + }, + extra_params=kwargs, + ) + + return self._run( + "/stocks/fa/filings", + **inputs, + ) + + @validate_call + def income( + self, + symbol: Annotated[ + Union[str, List[str]], + OpenBBCustomParameter(description="Symbol to get data for."), + ], + period: Annotated[ Literal["annual", "quarter"], OpenBBCustomParameter(description="Period of the data to return."), ] = "annual", - limit: typing_extensions.Annotated[ + limit: Annotated[ int, OpenBBCustomParameter(description="The number of data entries to return."), ] = 12, - provider: Union[Literal["fmp", "intrinio", "polygon"], None] = None, + provider: Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]] = None, **kwargs ) -> OBBject[List[Data]]: """Income Statement. @@ -1323,55 +1401,55 @@ class ROUTER_stocks_fa(Container): Period of the data to return. limit : int The number of data entries to return. - provider : Union[Literal['fmp', 'intrinio', 'polygon'], None] + provider : Optional[Literal['fmp', 'intrinio', '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. - cik : Optional[Union[str]] + cik : Optional[str] The CIK of the company if no symbol is provided. (provider: fmp) type : Literal['reported', 'standardized'] Type of the statement to be fetched. (provider: intrinio) - year : Optional[Union[int]] + year : Optional[int] Year of the statement to be fetched. (provider: intrinio) - company_name : Optional[Union[str]] + company_name : Optional[str] Name of the company. (provider: polygon) - company_name_search : Optional[Union[str]] + company_name_search : Optional[str] Name of the company to search. (provider: polygon) - sic : Optional[Union[str]] + sic : Optional[str] The Standard Industrial Classification (SIC) of the company. (provider: polygon) - filing_date : Optional[Union[datetime.date]] + filing_date : Optional[datetime.date] Filing date of the financial statement. (provider: polygon) - filing_date_lt : Optional[Union[datetime.date]] + filing_date_lt : Optional[datetime.date] Filing date less than the given date. (provider: polygon) - filing_date_lte : Optional[Union[datetime.date]] + filing_date_lte : Optional[datetime.date] Filing date less than or equal to the given date. (provider: polygon) - filing_date_gt : Optional[Union[datetime.date]] + filing_date_gt : Optional[datetime.date] Filing date greater than the given date. (provider: polygon) - filing_date_gte : Optional[Union[datetime.date]] + filing_date_gte : Optional[datetime.date] Filing date greater than or equal to the given date. (provider: polygon) - period_of_report_date : Optional[Union[datetime.date]] + period_of_report_date : Optional[datetime.date] Period of report date of the financial statement. (provider: polygon) - period_of_report_date_lt : Optional[Union[datetime.date]] + period_of_report_date_lt : Optional[datetime.date] Period of report date less than the given date. (provider: polygon) - period_of_report_date_lte : Optional[Union[datetime.date]] + period_of_report_date_lte : Optional[datetime.date] Period of report date less than or equal to the given date. (provider: polygon) - period_of_report_date_gt : Optional[Union[datetime.date]] + period_of_report_date_gt : Optional[datetime.date] Period of report date greater than the given date. (provider: polygon) - period_of_report_date_gte : Optional[Union[datetime.date]] + period_of_report_date_gte : Optional[datetime.date] Period of report date greater than or equal to the given date. (provider: polygon) - include_sources : Optional[Union[bool]] + include_sources : Optional[bool] Whether to include the sources of the financial statement. (provider: polygon) - order : Optional[Union[Literal['asc', 'desc']]] + order : Optional[Literal['asc', 'desc']] Order of the financial statement. (provider: polygon) - sort : Optional[Union[Literal['filing_date', 'period_of_report_date']]] + sort : Optional[Literal['filing_date', 'period_of_report_date']] Sort of the financial statement. (provider: polygon) Returns ------- OBBject - results : Union[List[IncomeStatement]] + results : List[IncomeStatement] Serializable results. - provider : Union[Literal['fmp', 'intrinio', 'polygon'], None] + provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1382,13 +1460,13 @@ class ROUTER_stocks_fa(Container): IncomeStatement --------------- - symbol : Optional[Union[str]] + symbol : Optional[str] Symbol to get data for. date : date Date of the income statement. - period : Optional[Union[str]] + period : Optional[str] Period of the income statement. - cik : Optional[Union[str]] + cik : Optional[str] Central Index Key. revenue : Optional[int] Revenue. @@ -1398,7 +1476,7 @@ class ROUTER_stocks_fa(Container): Gross profit. cost_and_expenses : Optional[int] Cost and expenses. - gross_profit_ratio : Optional[Union[float]] + gross_profit_ratio : Optional[float] Gross profit ratio. research_and_development_expenses : Optional[int] Research and development expenses. @@ -1416,11 +1494,11 @@ class ROUTER_stocks_fa(Container): Depreciation and amortization. ebitda : Optional[int] Earnings before interest, taxes, depreciation and amortization. - ebitda_ratio : Optional[Union[float]] + ebitda_ratio : Optional[float] Earnings before interest, taxes, depreciation and amortization ratio. operating_income : Optional[int] Operating income. - operating_income_ratio : Optional[Union[float]] + operating_income_ratio : Optional[float] Operating income ratio. interest_income : Optional[int] Interest income. @@ -1430,51 +1508,51 @@ class ROUTER_stocks_fa(Container): Total other income expenses net. income_before_tax : Optional[int] Income before tax. - income_before_tax_ratio : Optional[Union[float]] + income_before_tax_ratio : Optional[float] Income before tax ratio. income_tax_expense : Optional[int] Income tax expense. net_income : Optional[int] Net income. - net_income_ratio : Optional[Union[float]] + net_income_ratio : Optional[float] Net income ratio. - eps : Optional[Union[float]] + eps : Optional[float] Earnings per share. - eps_diluted : Optional[Union[float]] + eps_diluted : Optional[float] Earnings per share diluted. weighted_average_shares_outstanding : Optional[int] Weighted average shares outstanding. weighted_average_shares_outstanding_dil : Optional[int] Weighted average shares outstanding diluted. - link : Optional[Union[str]] + link : Optional[str] Link to the income statement. - final_link : Optional[Union[str]] + final_link : Optional[str] Final link to the income statement. - reported_currency : Optional[Union[str]] + reported_currency : Optional[str] Reporting currency. (provider: fmp) - filling_date : Optional[Union[date]] + filling_date : Optional[date] Filling date. (provider: fmp) - accepted_date : Optional[Union[datetime]] + accepted_date : Optional[datetime] Accepted date. (provider: fmp) - calendar_year : Optional[Union[int]] + calendar_year : Optional[int] Calendar year. (provider: fmp) - income_loss_from_continuing_operations_before_tax : Optional[Union[float]] + income_loss_from_continuing_operations_before_tax : Optional[float] Income/Loss From Continuing Operations After Tax (provider: polygon) - income_loss_from_continuing_operations_after_tax : Optional[Union[float]] + income_loss_from_continuing_operations_after_tax : Optional[float] Income (loss) from continuing operations after tax (provider: polygon) - benefits_costs_expenses : Optional[Union[float]] + benefits_costs_expenses : Optional[float] Benefits, costs and expenses (provider: polygon) net_income_loss_attributable_to_noncontrolling_interest : Optional[int] Net income (loss) attributable to noncontrolling interest (provider: polygon) - net_income_loss_attributable_to_parent : Optional[Union[float]] + net_income_loss_attributable_to_parent : Optional[float] Net income (loss) attributable to parent (provider: polygon) - net_income_loss_available_to_common_stockholders_basic : Optional[Union[float]] + net_income_loss_available_to_common_stockholders_basic : Optional[float] Net Income/Loss Available To Common Stockholders Basic (provider: polygon) - participating_securities_distributed_and_undistributed_earnings_loss_basic : Optional[Union[float]] + participating_securities_distributed_and_undistributed_earnings_loss_basic : Optional[float] Participating Securities Distributed And Undistributed Earnings Loss Basic (provider: polygon) - nonoperating_income_loss : Optional[Union[float]] + nonoperating_income_loss : Optional[float] Nonoperating Income Loss (provider: polygon) - preferred_stock_dividends_and_other_adjustments : Optional[Union[float]] + preferred_stock_dividends_and_other_adjustments : Optional[float] Preferred stock dividends and other adjustments (provider: polygon)""" # noqa: E501 inputs = filter_inputs( @@ -1497,19 +1575,19 @@ class ROUTER_stocks_fa(Container): @validate_call def income_growth( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - limit: typing_extensions.Annotated[ + limit: Annotated[ int, OpenBBCustomParameter(description="The number of data entries to return."), ] = 10, - period: typing_extensions.Annotated[ + period: Annotated[ Literal["annual", "quarter"], OpenBBCustomParameter(description="Period of the data to return."), ] = "annual", - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Income Statement Growth. @@ -1522,7 +1600,7 @@ class ROUTER_stocks_fa(Container): The number of data entries to return. period : Literal['annual', 'quarter'] Period of the data to return. - provider : Union[Literal['fmp'], None] + 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. @@ -1530,9 +1608,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[IncomeStatementGrowth]] + results : List[IncomeStatementGrowth] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1543,7 +1621,7 @@ class ROUTER_stocks_fa(Container): IncomeStatementGrowth --------------------- - symbol : Optional[Union[str]] + symbol : Optional[str] Symbol to get data for. date : date The date of the data. @@ -1622,11 +1700,11 @@ class ROUTER_stocks_fa(Container): @validate_call def ins( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - transactionType: typing_extensions.Annotated[ + transactionType: Annotated[ Union[ List[ Literal[ @@ -1655,11 +1733,11 @@ class ROUTER_stocks_fa(Container): ], OpenBBCustomParameter(description="Type of the transaction."), ] = ["P-Purchase"], - page: typing_extensions.Annotated[ - Union[int, None], + page: Annotated[ + Optional[int], OpenBBCustomParameter(description="Page number of the data to fetch."), ] = 0, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Stock Insider Trading. @@ -1670,9 +1748,9 @@ class ROUTER_stocks_fa(Container): Symbol to get data for. transactionType : Union[List[Literal['A-Award', 'C-Conversion', 'D-Return', ... Type of the transaction. - page : Union[int, None] + page : Optional[int] Page number of the data to fetch. - provider : Union[Literal['fmp'], None] + 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. @@ -1680,9 +1758,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[StockInsiderTrading]] + results : List[StockInsiderTrading] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1744,19 +1822,19 @@ class ROUTER_stocks_fa(Container): @validate_call def ins_own( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - include_current_quarter: typing_extensions.Annotated[ - Union[bool, None], + include_current_quarter: Annotated[ + Optional[bool], OpenBBCustomParameter(description="Include current quarter data."), ] = False, - date: typing_extensions.Annotated[ - Union[datetime.date, None], + date: Annotated[ + Optional[datetime.date], OpenBBCustomParameter(description="A specific date to get data for."), ] = None, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Institutional Ownership. @@ -1765,11 +1843,11 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - include_current_quarter : Union[bool, None] + include_current_quarter : Optional[bool] Include current quarter data. - date : Union[datetime.date, None] + date : Optional[datetime.date] A specific date to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -1777,9 +1855,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[InstitutionalOwnership]] + results : List[InstitutionalOwnership] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1792,7 +1870,7 @@ class ROUTER_stocks_fa(Container): ---------------------- symbol : str Symbol to get data for. - cik : Optional[Union[str]] + cik : Optional[str] CIK of the company. date : date The date of the data. @@ -1884,19 +1962,19 @@ class ROUTER_stocks_fa(Container): @validate_call def metrics( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - period: typing_extensions.Annotated[ - Union[Literal["annual", "quarter"], None], + period: Annotated[ + Optional[Literal["annual", "quarter"]], OpenBBCustomParameter(description="Period of the data to return."), ] = "annual", - limit: typing_extensions.Annotated[ - Union[int, None], + limit: Annotated[ + Optional[int], OpenBBCustomParameter(description="The number of data entries to return."), ] = 100, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Key Metrics. @@ -1905,23 +1983,23 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - period : Union[Literal['annual', 'quarter'], None] + period : Optional[Literal['annual', 'quarter']] Period of the data to return. - limit : Union[int, None] + limit : Optional[int] The number of data entries to return. - provider : Union[Literal['fmp'], None] + 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. - with_ttm : Optional[Union[bool]] + with_ttm : Optional[bool] Include trailing twelve months (TTM) data. (provider: fmp) Returns ------- OBBject - results : Union[List[KeyMetrics]] + results : List[KeyMetrics] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -1932,125 +2010,125 @@ class ROUTER_stocks_fa(Container): KeyMetrics ---------- - symbol : Optional[Union[str]] + symbol : Optional[str] Symbol to get data for. date : date The date of the data. period : str Period of the data. - revenue_per_share : Optional[Union[float]] + revenue_per_share : Optional[float] Revenue per share - net_income_per_share : Optional[Union[float]] + net_income_per_share : Optional[float] Net income per share - operating_cash_flow_per_share : Optional[Union[float]] + operating_cash_flow_per_share : Optional[float] Operating cash flow per share - free_cash_flow_per_share : Optional[Union[float]] + free_cash_flow_per_share : Optional[float] Free cash flow per share - cash_per_share : Optional[Union[float]] + cash_per_share : Optional[float] Cash per share - book_value_per_share : Optional[Union[float]] + book_value_per_share : Optional[float] Book value per share - tangible_book_value_per_share : Optional[Union[float]] + tangible_book_value_per_share : Optional[float] Tangible book value per share - shareholders_equity_per_share : Optional[Union[float]] + shareholders_equity_per_share : Optional[float] Shareholders equity per share - interest_debt_per_share : Optional[Union[float]] + interest_debt_per_share : Optional[float] Interest debt per share - market_cap : Optional[Union[float]] + market_cap : Optional[float] Market capitalization - enterprise_value : Optional[Union[float]] + enterprise_value : Optional[float] Enterprise value - pe_ratio : Optional[Union[float]] + pe_ratio : Optional[float] Price-to-earnings ratio (P/E ratio) - price_to_sales_ratio : Optional[Union[float]] + price_to_sales_ratio : Optional[float] Price-to-sales ratio - pocf_ratio : Optional[Union[float]] + pocf_ratio : Optional[float] Price-to-operating cash flow ratio - pfcf_ratio : Optional[Union[float]] + pfcf_ratio : Optional[float] Price-to-free cash flow ratio - pb_ratio : Optional[Union[float]] + pb_ratio : Optional[float] Price-to-book ratio - ptb_ratio : Optional[Union[float]] + ptb_ratio : Optional[float] Price-to-tangible book ratio - ev_to_sales : Optional[Union[float]] + ev_to_sales : Optional[float] Enterprise value-to-sales ratio - enterprise_value_over_ebitda : Optional[Union[float]] + enterprise_value_over_ebitda : Optional[float] Enterprise value-to-EBITDA ratio - ev_to_operating_cash_flow : Optional[Union[float]] + ev_to_operating_cash_flow : Optional[float] Enterprise value-to-operating cash flow ratio - ev_to_free_cash_flow : Optional[Union[float]] + ev_to_free_cash_flow : Optional[float] Enterprise value-to-free cash flow ratio - earnings_yield : Optional[Union[float]] + earnings_yield : Optional[float] Earnings yield - free_cash_flow_yield : Optional[Union[float]] + free_cash_flow_yield : Optional[float] Free cash flow yield - debt_to_equity : Optional[Union[float]] + debt_to_equity : Optional[float] Debt-to-equity ratio - debt_to_assets : Optional[Union[float]] + debt_to_assets : Optional[float] Debt-to-assets ratio - net_debt_to_ebitda : Optional[Union[float]] + net_debt_to_ebitda : Optional[float] Net debt-to-EBITDA ratio - current_ratio : Optional[Union[float]] + current_ratio : Optional[float] Current ratio - interest_coverage : Optional[Union[float]] + interest_coverage : Optional[float] Interest coverage - income_quality : Optional[Union[float]] + income_quality : Optional[float] Income quality - dividend_yield : Optional[Union[float]] + dividend_yield : Optional[float] Dividend yield - payout_ratio : Optional[Union[float]] + payout_ratio : Optional[float] Payout ratio - sales_general_and_administrative_to_revenue : Optional[Union[float]] + sales_general_and_administrative_to_revenue : Optional[float] Sales general and administrative expenses-to-revenue ratio - research_and_development_to_revenue : Optional[Union[float]] + research_and_development_to_revenue : Optional[float] Research and development expenses-to-revenue ratio - intangibles_to_total_assets : Optional[Union[float]] + intangibles_to_total_assets : Optional[float] Intangibles-to-total assets ratio - capex_to_operating_cash_flow : Optional[Union[float]] + capex_to_operating_cash_flow : Optional[float] Capital expenditures-to-operating cash flow ratio - capex_to_revenue : Optional[Union[float]] + capex_to_revenue : Optional[float] Capital expenditures-to-revenue ratio - capex_to_depreciation : Optional[Union[float]] + capex_to_depreciation : Optional[float] Capital expenditures-to-depreciation ratio - stock_based_compensation_to_revenue : Optional[Union[float]] + stock_based_compensation_to_revenue : Optional[float] Stock-based compensation-to-revenue ratio - graham_number : Optional[Union[float]] + graham_number : Optional[float] Graham number - roic : Optional[Union[float]] + roic : Optional[float] Return on invested capital - return_on_tangible_assets : Optional[Union[float]] + return_on_tangible_assets : Optional[float] Return on tangible assets - graham_net_net : Optional[Union[float]] + graham_net_net : Optional[float] Graham net-net working capital - working_capital : Optional[Union[float]] + working_capital : Optional[float] Working capital - tangible_asset_value : Optional[Union[float]] + tangible_asset_value : Optional[float] Tangible asset value - net_current_asset_value : Optional[Union[float]] + net_current_asset_value : Optional[float] Net current asset value - invested_capital : Optional[Union[float]] + invested_capital : Optional[float] Invested capital - average_receivables : Optional[Union[float]] + average_receivables : Optional[float] Average receivables - average_payables : Optional[Union[float]] + average_payables : Optional[float] Average payables - average_inventory : Optional[Union[float]] + average_inventory : Optional[float] Average inventory - days_sales_outstanding : Optional[Union[float]] + days_sales_outstanding : Optional[float] Days sales outstanding - days_payables_outstanding : Optional[Union[float]] + days_payables_outstanding : Optional[float] Days payables outstanding - days_of_inventory_on_hand : Optional[Union[float]] + days_of_inventory_on_hand : Optional[float] Days of inventory on hand - receivables_turnover : Optional[Union[float]] + receivables_turnover : Optional[float] Receivables turnover - payables_turnover : Optional[Union[float]] + payables_turnover : Optional[float] Payables turnover - inventory_turnover : Optional[Union[float]] + inventory_turnover : Optional[float] Inventory turnover - roe : Optional[Union[float]] + roe : Optional[float] Return on equity - capex_per_share : Optional[Union[float]] + capex_per_share : Optional[float] Capital expenditures per share calendar_year : Optional[int] Calendar year. (provider: fmp)""" # noqa: E501 @@ -2075,11 +2153,11 @@ class ROUTER_stocks_fa(Container): @validate_call def mgmt( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Key Executives. @@ -2088,7 +2166,7 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -2096,9 +2174,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[KeyExecutives]] + results : List[KeyExecutives] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -2117,7 +2195,7 @@ class ROUTER_stocks_fa(Container): Pay of the key executive. currency_pay : str Currency of the pay. - gender : Optional[Union[str]] + gender : Optional[str] Gender of the key executive. year_born : Optional[int] Birth year of the key executive. @@ -2142,11 +2220,11 @@ class ROUTER_stocks_fa(Container): @validate_call def overview( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[Data]: """Company Overview. @@ -2155,7 +2233,7 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -2163,9 +2241,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[CompanyOverview] + results : CompanyOverview Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -2178,65 +2256,65 @@ class ROUTER_stocks_fa(Container): --------------- symbol : str Symbol to get data for. - price : Optional[Union[float]] + price : Optional[float] Price of the company. - beta : Optional[Union[float]] + beta : Optional[float] Beta of the company. vol_avg : Optional[int] Volume average of the company. mkt_cap : Optional[int] Market capitalization of the company. - last_div : Optional[Union[float]] + last_div : Optional[float] Last dividend of the company. - range : Optional[Union[str]] + range : Optional[str] Range of the company. - changes : Optional[Union[float]] + changes : Optional[float] Changes of the company. - company_name : Optional[Union[str]] + company_name : Optional[str] Company name of the company. - currency : Optional[Union[str]] + currency : Optional[str] Currency of the company. - cik : Optional[Union[str]] + cik : Optional[str] CIK of the company. - isin : Optional[Union[str]] + isin : Optional[str] ISIN of the company. - cusip : Optional[Union[str]] + cusip : Optional[str] CUSIP of the company. - exchange : Optional[Union[str]] + exchange : Optional[str] Exchange of the company. - exchange_short_name : Optional[Union[str]] + exchange_short_name : Optional[str] Exchange short name of the company. - industry : Optional[Union[str]] + industry : Optional[str] Industry of the company. - website : Optional[Union[str]] + website : Optional[str] Website of the company. - description : Optional[Union[str]] + description : Optional[str] Description of the company. - ceo : Optional[Union[str]] + ceo : Optional[str] CEO of the company. - sector : Optional[Union[str]] + sector : Optional[str] Sector of the company. - country : Optional[Union[str]] + country : Optional[str] Country of the company. - full_time_employees : Optional[Union[str]] + full_time_employees : Optional[str] Full time employees of the company. - phone : Optional[Union[str]] + phone : Optional[str] Phone of the company. - address : Optional[Union[str]] + address : Optional[str] Address of the company. - city : Optional[Union[str]] + city : Optional[str] City of the company. - state : Optional[Union[str]] + state : Optional[str] State of the company. - zip : Optional[Union[str]] + zip : Optional[str] Zip of the company. - dcf_diff : Optional[Union[float]] + dcf_diff : Optional[float] Discounted cash flow difference of the company. - dcf : Optional[Union[float]] + dcf : Optional[float] Discounted cash flow of the company. - image : Optional[Union[str]] + image : Optional[str] Image of the company. - ipo_date : Optional[Union[date]] + ipo_date : Optional[date] IPO date of the company. default_image : bool If the image is the default image. @@ -2267,19 +2345,19 @@ class ROUTER_stocks_fa(Container): @validate_call def own( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - date: typing_extensions.Annotated[ - Union[datetime.date, None], + date: Annotated[ + Optional[datetime.date], OpenBBCustomParameter(description="A specific date to get data for."), ] = None, - page: typing_extensions.Annotated[ - Union[int, None], + page: Annotated[ + Optional[int], OpenBBCustomParameter(description="Page number of the data to fetch."), ] = 0, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Stock Ownership. @@ -2288,11 +2366,11 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - date : Union[datetime.date, None] + date : Optional[datetime.date] A specific date to get data for. - page : Union[int, None] + page : Optional[int] Page number of the data to fetch. - provider : Union[Literal['fmp'], None] + 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. @@ -2300,9 +2378,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[StockOwnership]] + results : List[StockOwnership] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -2412,11 +2490,11 @@ class ROUTER_stocks_fa(Container): @validate_call def pt( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[Data]: """Price Target Consensus. @@ -2425,7 +2503,7 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -2433,9 +2511,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[PriceTargetConsensus] + results : PriceTargetConsensus Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -2448,13 +2526,13 @@ class ROUTER_stocks_fa(Container): -------------------- symbol : str Symbol to get data for. - target_high : Optional[Union[float]] + target_high : Optional[float] High target of the price target consensus. - target_low : Optional[Union[float]] + target_low : Optional[float] Low target of the price target consensus. - target_consensus : Optional[Union[float]] + target_consensus : Optional[float] Consensus target of the price target consensus. - target_median : Optional[Union[float]] + target_median : Optional[float] Median target of the price target consensus.""" # noqa: E501 inputs = filter_inputs( @@ -2475,11 +2553,11 @@ class ROUTER_stocks_fa(Container): @validate_call def pta( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Price Target. @@ -2488,7 +2566,7 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -2498,9 +2576,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[PriceTarget]] + results : List[PriceTarget] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -2515,29 +2593,29 @@ class ROUTER_stocks_fa(Container): Symbol to get data for. published_date : datetime Published date of the price target. - news_url : Optional[Union[str]] + news_url : Optional[str] News URL of the price target. - news_title : Optional[Union[str]] + news_title : Optional[str] News title of the price target. - analyst_name : Optional[Union[str]] + analyst_name : Optional[str] Analyst name. - analyst_company : Optional[Union[str]] + analyst_company : Optional[str] Analyst company. - price_target : Optional[Union[float]] + price_target : Optional[float] Price target. - adj_price_target : Optional[Union[float]] + adj_price_target : Optional[float] Adjusted price target. - price_when_posted : Optional[Union[float]] + price_when_posted : Optional[float] Price when posted. - news_publisher : Optional[Union[str]] + news_publisher : Optional[str] News publisher of the price target. - news_base_url : Optional[Union[str]] + news_base_url : Optional[str] News base URL of the price target. - new_grade : Optional[Union[str]] + new_grade : Optional[str] New grade (provider: fmp) - previous_grade : Optional[Union[str]] + previous_grade : Optional[str] Previous grade (provider: fmp) - grading_company : Optional[Union[str]] + grading_company : Optional[str] Grading company (provider: fmp)""" # noqa: E501 inputs = filter_inputs( @@ -2558,19 +2636,19 @@ class ROUTER_stocks_fa(Container): @validate_call def ratios( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - period: typing_extensions.Annotated[ + period: Annotated[ Literal["annual", "quarter"], OpenBBCustomParameter(description="Period of the data to return."), ] = "annual", - limit: typing_extensions.Annotated[ + limit: Annotated[ int, OpenBBCustomParameter(description="The number of data entries to return."), ] = 12, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Extensive set of ratios over time. @@ -2583,19 +2661,19 @@ class ROUTER_stocks_fa(Container): Period of the data to return. limit : int The number of data entries to return. - provider : Union[Literal['fmp'], None] + 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. - with_ttm : Optional[Union[bool]] + with_ttm : Optional[bool] Include trailing twelve months (TTM) data. (provider: fmp) Returns ------- OBBject - results : Union[List[FinancialRatios]] + results : List[FinancialRatios] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -2612,113 +2690,113 @@ class ROUTER_stocks_fa(Container): Date of the financial ratios. period : str Period of the financial ratios. - current_ratio : Optional[Union[float]] + current_ratio : Optional[float] Current ratio. - quick_ratio : Optional[Union[float]] + quick_ratio : Optional[float] Quick ratio. - cash_ratio : Optional[Union[float]] + cash_ratio : Optional[float] Cash ratio. - days_of_sales_outstanding : Optional[Union[float]] + days_of_sales_outstanding : Optional[float] Days of sales outstanding. - days_of_inventory_outstanding : Optional[Union[float]] + days_of_inventory_outstanding : Optional[float] Days of inventory outstanding. - operating_cycle : Optional[Union[float]] + operating_cycle : Optional[float] Operating cycle. - days_of_payables_outstanding : Optional[Union[float]] + days_of_payables_outstanding : Optional[float] Days of payables outstanding. - cash_conversion_cycle : Optional[Union[float]] + cash_conversion_cycle : Optional[float] Cash conversion cycle. - gross_profit_margin : Optional[Union[float]] + gross_profit_margin : Optional[float] Gross profit margin. - operating_profit_margin : Optional[Union[float]] + operating_profit_margin : Optional[float] Operating profit margin. - pretax_profit_margin : Optional[Union[float]] + pretax_profit_margin : Optional[float] Pretax profit margin. - net_profit_margin : Optional[Union[float]] + net_profit_margin : Optional[float] Net profit margin. - effective_tax_rate : Optional[Union[float]] + effective_tax_rate : Optional[float] Effective tax rate. - return_on_assets : Optional[Union[float]] + return_on_assets : Optional[float] Return on assets. - return_on_equity : Optional[Union[float]] + return_on_equity : Optional[float] Return on equity. - return_on_capital_employed : Optional[Union[float]] + return_on_capital_employed : Optional[float] Return on capital employed. - net_income_per_ebt : Optional[Union[float]] + net_income_per_ebt : Optional[float] Net income per EBT. - ebt_per_ebit : Optional[Union[float]] + ebt_per_ebit : Optional[float] EBT per EBIT. - ebit_per_revenue : Optional[Union[float]] + ebit_per_revenue : Optional[float] EBIT per revenue. - debt_ratio : Optional[Union[float]] + debt_ratio : Optional[float] Debt ratio. - debt_equity_ratio : Optional[Union[float]] + debt_equity_ratio : Optional[float] Debt equity ratio. - long_term_debt_to_capitalization : Optional[Union[float]] + long_term_debt_to_capitalization : Optional[float] Long term debt to capitalization. - total_debt_to_capitalization : Optional[Union[float]] + total_debt_to_capitalization : Optional[float] Total debt to capitalization. - interest_coverage : Optional[Union[float]] + interest_coverage : Optional[float] Interest coverage. - cash_flow_to_debt_ratio : Optional[Union[float]] + cash_flow_to_debt_ratio : Optional[float] Cash flow to debt ratio. - company_equity_multiplier : Optional[Union[float]] + company_equity_multiplier : Optional[float] Company equity multiplier. - receivables_turnover : Optional[Union[float]] + receivables_turnover : Optional[float] Receivables turnover. - payables_turnover : Optional[Union[float]] + payables_turnover : Optional[float] Payables turnover. - inventory_turnover : Optional[Union[float]] + inventory_turnover : Optional[float] Inventory turnover. - fixed_asset_turnover : Optional[Union[float]] + fixed_asset_turnover : Optional[float] Fixed asset turnover. - asset_turnover : Optional[Union[float]] + asset_turnover : Optional[float] Asset turnover. - operating_cash_flow_per_share : Optional[Union[float]] + operating_cash_flow_per_share : Optional[float] Operating cash flow per share. - free_cash_flow_per_share : Optional[Union[float]] + free_cash_flow_per_share : Optional[float] Free cash flow per share. - cash_per_share : Optional[Union[float]] + cash_per_share : Optional[float] Cash per share. - payout_ratio : Optional[Union[float]] + payout_ratio : Optional[float] Payout ratio. - operating_cash_flow_sales_ratio : Optional[Union[float]] + operating_cash_flow_sales_ratio : Optional[float] Operating cash flow sales ratio. - free_cash_flow_operating_cash_flow_ratio : Optional[Union[float]] + free_cash_flow_operating_cash_flow_ratio : Optional[float] Free cash flow operating cash flow ratio. - cash_flow_coverage_ratios : Optional[Union[float]] + cash_flow_coverage_ratios : Optional[float] Cash flow coverage ratios. - short_term_coverage_ratios : Optional[Union[float]] + short_term_coverage_ratios : Optional[float] Short term coverage ratios. - capital_expenditure_coverage_ratio : Optional[Union[float]] + capital_expenditure_coverage_ratio : Optional[float] Capital expenditure coverage ratio. - dividend_paid_and_capex_coverage_ratio : Optional[Union[float]] + dividend_paid_and_capex_coverage_ratio : Optional[float] Dividend paid and capex coverage ratio. - dividend_payout_ratio : Optional[Union[float]] + dividend_payout_ratio : Optional[float] Dividend payout ratio. - price_book_value_ratio : Optional[Union[float]] + price_book_value_ratio : Optional[float] Price book value ratio. - price_to_book_ratio : Optional[Union[float]] + price_to_book_ratio : Optional[float] Price to book ratio. - price_to_sales_ratio : Optional[Union[float]] + price_to_sales_ratio : Optional[float] Price to sales ratio. - price_earnings_ratio : Optional[Union[float]] + price_earnings_ratio : Optional[float] Price earnings ratio. - price_to_free_cash_flows_ratio : Optional[Union[float]] + price_to_free_cash_flows_ratio : Optional[float] Price to free cash flows ratio. - price_to_operating_cash_flows_ratio : Optional[Union[float]] + price_to_operating_cash_flows_ratio : Optional[float] Price to operating cash flows ratio. - price_cash_flow_ratio : Optional[Union[float]] + price_cash_flow_ratio : Optional[float] Price cash flow ratio. - price_earnings_to_growth_ratio : Optional[Union[float]] + price_earnings_to_growth_ratio : Optional[float] Price earnings to growth ratio. - price_sales_ratio : Optional[Union[float]] + price_sales_ratio : Optional[float] Price sales ratio. - dividend_yield : Optional[Union[float]] + dividend_yield : Optional[float] Dividend yield. - enterprise_value_multiple : Optional[Union[float]] + enterprise_value_multiple : Optional[float] Enterprise value multiple. - price_fair_value : Optional[Union[float]] + price_fair_value : Optional[float] Price fair value.""" # noqa: E501 inputs = filter_inputs( @@ -2741,19 +2819,19 @@ class ROUTER_stocks_fa(Container): @validate_call def revgeo( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - period: typing_extensions.Annotated[ - Literal["quarter", "annual"], + period: Annotated[ + Literal["annual", "quarter"], OpenBBCustomParameter(description="Period of the data to return."), ] = "annual", - structure: typing_extensions.Annotated[ + structure: Annotated[ Literal["hierarchical", "flat"], OpenBBCustomParameter(description="Structure of the returned data."), ] = "flat", - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Revenue Geographic. @@ -2766,7 +2844,7 @@ class ROUTER_stocks_fa(Container): Period of the data to return. structure : Literal['hierarchical', 'flat'] Structure of the returned data. - provider : Union[Literal['fmp'], None] + 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. @@ -2774,9 +2852,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[RevenueGeographic]] + results : List[RevenueGeographic] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -2822,19 +2900,19 @@ class ROUTER_stocks_fa(Container): @validate_call def revseg( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - period: typing_extensions.Annotated[ - Literal["quarter", "annual"], + period: Annotated[ + Literal["annual", "quarter"], OpenBBCustomParameter(description="Period of the data to return."), ] = "annual", - structure: typing_extensions.Annotated[ + structure: Annotated[ Literal["hierarchical", "flat"], OpenBBCustomParameter(description="Structure of the returned data."), ] = "flat", - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Revenue Business Line. @@ -2847,7 +2925,7 @@ class ROUTER_stocks_fa(Container): Period of the data to return. structure : Literal['hierarchical', 'flat'] Structure of the returned data. - provider : Union[Literal['fmp'], None] + 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. @@ -2855,9 +2933,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[RevenueBusinessLine]] + results : List[RevenueBusinessLine] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -2890,206 +2968,14 @@ class ROUTER_stocks_fa(Container): **inputs, ) - @validate_call - def sec( - self, - symbol: typing_extensions.Annotated[ - Union[str, List[str]], - OpenBBCustomParameter(description="Symbol to get data for."), - ], - type: typing_extensions.Annotated[ - Union[ - Literal[ - "1", - "1-A", - "1-E", - "1-K", - "1-N", - "1-SA", - "1-U", - "1-Z", - "10", - "10-D", - "10-K", - "10-M", - "10-Q", - "11-K", - "12b-25", - "13F", - "13H", - "144", - "15", - "15F", - "17-H", - "18", - "18-K", - "19b-4", - "19b-4(e)", - "19b-7", - "2-E", - "20-F", - "24F-2", - "25", - "3", - "4", - "40-F", - "5", - "6-K", - "7-M", - "8-A", - "8-K", - "8-M", - "9-M", - "ABS-15G", - "ABS-EE", - "ABS DD-15E", - "ADV", - "ADV-E", - "ADV-H", - "ADV-NR", - "ADV-W", - "ATS", - "ATS-N", - "ATS-R", - "BD", - "BD-N", - "BDW", - "C", - "CA-1", - "CB", - "CFPORTAL", - "CRS", - "CUSTODY", - "D", - "F-1", - "F-10", - "F-3", - "F-4", - "F-6", - "F-7", - "F-8", - "F-80", - "F-N", - "F-X", - "ID", - "MA", - "MA-I", - "MA-NR", - "MA-W", - "MSD", - "MSDW", - "N-14", - "N-17D-1", - "N-17f-1", - "N-17f-2", - "N-18f-1", - "N-1A", - "N-2", - "N-23c-3", - "N-27D-1", - "N-3", - "N-4", - "N-5", - "N-54A", - "N-54C", - "N-6", - "N-6EI-1", - "N-6F", - "N-8A", - "N-8B-2", - "N-8B-4", - "N-8F", - "N-CEN", - ], - None, - ], - OpenBBCustomParameter(description="Type of the SEC filing form."), - ] = None, - page: typing_extensions.Annotated[ - Union[int, None], - OpenBBCustomParameter(description="Page number of the results."), - ] = 0, - limit: typing_extensions.Annotated[ - Union[int, None], - OpenBBCustomParameter(description="The number of data entries to return."), - ] = 100, - provider: Union[Literal["fmp"], None] = None, - **kwargs - ) -> OBBject[List[Data]]: - """SEC Filings. - - Parameters - ---------- - symbol : str - Symbol to get data for. - type : Union[Literal['1', '1-A', '1-E', '1-K', '1-N', '1-SA', '1-U', '1-... - Type of the SEC filing form. - page : Union[int, None] - Page number of the results. - limit : Union[int, None] - The number of data entries to return. - provider : Union[Literal['fmp'], None] - 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. - - Returns - ------- - OBBject - results : Union[List[SECFilings]] - Serializable results. - provider : Union[Literal['fmp'], None] - Provider name. - warnings : Optional[List[Warning_]] - List of warnings. - chart : Optional[Chart] - Chart object. - extra: Dict[str, Any] - Extra info. - - SECFilings - ---------- - symbol : str - Symbol to get data for. - filling_date : datetime - Filling date of the SEC filing. - accepted_date : datetime - Accepted date of the SEC filing. - cik : str - CIK of the SEC filing. - type : str - Type of the SEC filing. - link : str - Link of the SEC filing. - final_link : str - Final link of the SEC filing.""" # noqa: E501 - - inputs = filter_inputs( - provider_choices={ - "provider": provider, - }, - standard_params={ - "symbol": ",".join(symbol) if isinstance(symbol, list) else symbol, - "type": type, - "page": page, - "limit": limit, - }, - extra_params=kwargs, - ) - - return self._run( - "/stocks/fa/sec", - **inputs, - ) - @validate_call def shrs( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Share Statistics. @@ -3098,7 +2984,7 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -3106,9 +2992,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[ShareStatistics]] + results : List[ShareStatistics] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -3121,15 +3007,15 @@ class ROUTER_stocks_fa(Container): --------------- symbol : str Symbol to get data for. - date : Optional[Union[date]] + date : Optional[date] A specific date to get data for. - free_float : Optional[Union[float]] + free_float : Optional[float] Percentage of unrestricted shares of a publicly-traded company. - float_shares : Optional[Union[float]] + float_shares : Optional[float] Number of shares available for trading by the general public. - outstanding_shares : Optional[Union[float]] + outstanding_shares : Optional[float] Total number of shares of a publicly-traded company. - source : Optional[Union[str]] + source : Optional[str] Source of the received data.""" # noqa: E501 inputs = filter_inputs( @@ -3150,11 +3036,11 @@ class ROUTER_stocks_fa(Container): @validate_call def split( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Historical Stock Splits. @@ -3163,7 +3049,7 @@ class ROUTER_stocks_fa(Container): ---------- symbol : str Symbol to get data for. - provider : Union[Literal['fmp'], None] + 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. @@ -3171,9 +3057,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[HistoricalStockSplits]] + results : List[HistoricalStockSplits] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. @@ -3211,21 +3097,21 @@ class ROUTER_stocks_fa(Container): @validate_call def transcript( self, - symbol: typing_extensions.Annotated[ + symbol: Annotated[ Union[str, List[str]], OpenBBCustomParameter(description="Symbol to get data for."), ], - year: typing_extensions.Annotated[ + year: Annotated[ int, OpenBBCustomParameter(description="Year of the earnings call transcript."), ], - quarter: typing_extensions.Annotated[ + quarter: Annotated[ int, OpenBBCustomParameter( description="Quarter of the earnings call transcript." ), ] = 1, - provider: Union[Literal["fmp"], None] = None, + provider: Optional[Literal["fmp"]] = None, **kwargs ) -> OBBject[List[Data]]: """Earnings Call Transcript. @@ -3238,7 +3124,7 @@ class ROUTER_stocks_fa(Container): Year of the earnings call transcript. quarter : int Quarter of the earnings call transcript. - provider : Union[Literal['fmp'], None] + 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. @@ -3246,9 +3132,9 @@ class ROUTER_stocks_fa(Container): Returns ------- OBBject - results : Union[List[EarningsCallTranscript]] + results : List[EarningsCallTranscript] Serializable results. - provider : Union[Literal['fmp'], None] + provider : Optional[Literal['fmp']] Provider name. warnings : Optional[List[Warning_]] List of warnings. diff --git a/openbb_platform/platform/provider/openbb_provider/standard_models/sec_filings.py b/openbb_platform/platform/provider/openbb_provider/standard_models/company_filings.py similarity index 62% rename from openbb_platform/platform/provider/openbb_provider/standard_models/sec_filings.py rename to openbb_platform/platform/provider/openbb_provider/standard_models/company_filings.py index 5368f5bc80a..26d0125eb60 100644 --- a/openbb_platform/platform/provider/openbb_provider/standard_models/sec_filings.py +++ b/openbb_platform/platform/provider/openbb_provider/standard_models/company_filings.py @@ -1,7 +1,7 @@ -"""SEC Filings data model.""" +"""Company Filings data model.""" -from datetime import datetime +from datetime import date as dateType from typing import List, Literal, Optional, Set, Union from pydantic import Field, validator @@ -10,7 +10,7 @@ from openbb_provider.abstract.data import Data from openbb_provider.abstract.query_params import QueryParams from openbb_provider.utils.descriptions import QUERY_DESCRIPTIONS -FORM_TYPES = Literal[ +SEC_FORM_TYPES = Literal[ "1", "1-A", "1-E", @@ -114,14 +114,10 @@ FORM_TYPES = Literal[ ] -class SECFilingsQueryParams(QueryParams): - """SEC Filings Query.""" +class CompanyFilingsQueryParams(QueryParams): + """Company Filings Query Params.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) - type: Optional[FORM_TYPES] = Field( - default=None, description="Type of the SEC filing form." - ) - page: Optional[int] = Field(default=0, description="Page number of the results.") limit: Optional[int] = Field( default=100, description=QUERY_DESCRIPTIONS.get("limit", "") ) @@ -134,20 +130,9 @@ class SECFilingsQueryParams(QueryParams): return ",".join([symbol.upper() for symbol in list(v)]) -class SECFilingsData(Data): - """SEC Filings Data.""" +class CompanyFilingsData(Data): + """Company Filings Data.""" - symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) - filling_date: datetime = Field(description="Filling date of the SEC filing.") - accepted_date: datetime = Field(description="Accepted date of the SEC filing.") - cik: str = Field(description="CIK of the SEC filing.") - type: str = Field(description="Type of the SEC filing.") - link: str = Field(description="Link of the SEC filing.") - final_link: str = Field(description="Final link of the SEC filing.") - - @validator("symbol", pre=True, check_fields=False, always=True) - def upper_symbol(cls, v: Union[str, List[str], Set[str]]): - """Convert symbol to uppercase.""" - if isinstance(v, str): - return v.upper() - return ",".join([symbol.upper() for symbol in list(v)]) + date: dateType = Field(description="The date of the filing.") + type: str = Field(description="Type of document.") + link: str = Field(description="URL to the document.") diff --git a/openbb_platform/providers/fmp/openbb_fmp/__init__.py b/openbb_platform/providers/fmp/openbb_fmp/__init__.py index 2cb747b3c4f..1250b6e7d23 100644 --- a/openbb_platform/providers/fmp/openbb_fmp/__init__.py +++ b/openbb_platform/providers/fmp/openbb_fmp/__init__.py @@ -5,6 +5,7 @@ from openbb_fmp.models.balance_sheet import FMPBalanceSheetFetcher from openbb_fmp.models.balance_sheet_growth import FMPBalanceSheetGrowthFetcher from openbb_fmp.models.cash_flow import FMPCashFlowStatementFetcher from openbb_fmp.models.cash_flow_growth import FMPCashFlowStatementGrowthFetcher +from openbb_fmp.models.company_filings import FMPCompanyFilingsFetcher from openbb_fmp.models.company_overview import FMPCompanyOverviewFetcher from openbb_fmp.models.crypto_historical import FMPCryptoHistoricalFetcher from openbb_fmp.models.dividend_calendar import FMPDividendCalendarFetcher @@ -32,7 +33,6 @@ from openbb_fmp.models.price_target_consensus import FMPPriceTargetConsensusFetc from openbb_fmp.models.revenue_business_line import FMPRevenueBusinessLineFetcher from openbb_fmp.models.revenue_geographic import FMPRevenueGeographicFetcher from openbb_fmp.models.risk_premium import FMPRiskPremiumFetcher -from openbb_fmp.models.sec_filings import FMPSECFilingsFetcher from openbb_fmp.models.share_statistics import FMPShareStatisticsFetcher from openbb_fmp.models.stock_historical import FMPStockHistoricalFetcher from openbb_fmp.models.stock_insider_trading import FMPStockInsiderTradingFetcher @@ -79,7 +79,7 @@ fmp_provider = Provider( "StockSplitCalendar": FMPStockSplitCalendarFetcher, "HistoricalDividends": FMPHistoricalDividendsFetcher, "KeyMetrics": FMPKeyMetricsFetcher, - "SECFilings": FMPSECFilingsFetcher, + "CompanyFilings": FMPCompanyFilingsFetcher, "TreasuryRates": FMPTreasuryRatesFetcher, "ExecutiveCompensation": FMPExecutiveCompensationFetcher, "CryptoHistorical": FMPCryptoHistoricalFetcher, diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/company_filings.py b/openbb_platform/providers/fmp/openbb_fmp/models/company_filings.py new file mode 100644 index 00000000000..3d1308ad930 --- /dev/null +++ b/openbb_platform/providers/fmp/openbb_fmp/models/company_filings.py @@ -0,0 +1,79 @@ +"""FMP Company Filings fetcher.""" + +from datetime import datetime +from typing import Any, Dict, List, Optional, Set, Union + +from openbb_fmp.utils.helpers import create_url, get_data_many +from openbb_provider.abstract.fetcher import Fetcher +from openbb_provider.standard_models.company_filings import ( + SEC_FORM_TYPES, + CompanyFilingsData, + CompanyFilingsQueryParams, +) +from pydantic import Field, validator + + +class FMPCompanyFilingsQueryParams(CompanyFilingsQueryParams): + """FMP Copmany Filings Query. + + Source: https://site.financialmodelingprep.com/developer/docs/sec-filings-api/ + """ + + type: Optional[SEC_FORM_TYPES] = Field( + default=None, description="Type of the SEC filing form." + ) + page: Optional[int] = Field(default=0, description="Page number of the results.") + + +class FMPCompanyFilingsData(CompanyFilingsData): + """FMP Company Filings Data.""" + + __alias_dict__ = { + "date": "fillingDate", + } + + symbol: str = Field(description="The ticker symbol of the company.") + cik: str = Field(description="CIK of the SEC filing.") + accepted_date: datetime = Field(description="Accepted date of the SEC filing.") + final_link: str = Field(description="Final link of the SEC filing.") + + @validator("symbol", pre=True, check_fields=False, always=True) + def upper_symbol(cls, v: Union[str, List[str], Set[str]]): + """Convert symbol to uppercase.""" + if isinstance(v, str): + return v.upper() + return ",".join([symbol.upper() for symbol in list(v)]) + + +class FMPCompanyFilingsFetcher( + Fetcher[ + FMPCompanyFilingsQueryParams, + List[FMPCompanyFilingsData], + ] +): + """Transform the query, extract and transform the data from the FMP endpoints.""" + + @staticmethod + def transform_query(params: Dict[str, Any]) -> FMPCompanyFilingsQueryParams: + """Transform the query params.""" + return FMPCompanyFilingsQueryParams(**params) + + @staticmethod + def extract_data( + query: FMPCompanyFilingsQueryParams, + credentials: Optional[Dict[str, str]], + **kwargs: Any, + ) -> List[Dict]: + """Return the raw data from the FMP endpoint.""" + api_key = credentials.get("fmp_api_key") if credentials else "" + + url = create_url( + 3, f"sec_filings/{query.symbol}", api_key, query, exclude=["symbol"] + ) + + return get_data_many(url, **kwargs) + + @staticmethod + def transform_data(data: List[Dict]) -> List[FMPCompanyFilingsData]: + """Return the transformed data.""" + return [FMPCompanyFilingsData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fmp/openbb_fmp/models/sec_filings.py b/openbb_platform/providers/fmp/openbb_fmp/models/sec_filings.py deleted file mode 100644 index 3261bd2653d..00000000000 --- a/openbb_platform/providers/fmp/openbb_fmp/models/sec_filings.py +++ /dev/null @@ -1,56 +0,0 @@ -"""SEC Filings fetcher.""" - - -from typing import Any, Dict, List, Optional - -from openbb_fmp.utils.helpers import create_url, get_data_many -from openbb_provider.abstract.fetcher import Fetcher -from openbb_provider.standard_models.sec_filings import ( - SECFilingsData, - SECFilingsQueryParams, -) - - -class FMPSECFilingsQueryParams(SECFilingsQueryParams): - """FMP SEC Filings Query. - - Source: https://site.financialmodelingprep.com/developer/docs/sec-filings-api/ - """ - - -class FMPSECFilingsData(SECFilingsData): - """FMP SEC Filings Data.""" - - -class FMPSECFilingsFetcher( - Fetcher[ - FMPSECFilingsQueryParams, - List[FMPSECFilingsData], - ] -): - """Transform the query, extract and transform the data from the FMP endpoints.""" - - @staticmethod - def transform_query(params: Dict[str, Any]) -> FMPSECFilingsQueryParams: - """Transform the query params.""" - return FMPSECFilingsQueryParams(**params) - - @staticmethod - def extract_data( - query: FMPSECFilingsQueryParams, - credentials: Optional[Dict[str, str]], - **kwargs: Any, - ) -> List[Dict]: - """Return the raw data from the FMP endpoint.""" - api_key = credentials.get("fmp_api_key") if credentials else "" - - url = create_url( - 3, f"sec_filings/{query.symbol}", api_key, query, exclude=["symbol"] - ) - - return get_data_many(url, **kwargs) - - @staticmethod - def transform_data(data: List[Dict]) -> List[FMPSECFilingsData]: - """Return the transformed data.""" - return [FMPSECFilingsData.model_validate(d) for d in data] diff --git a/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmpsec_filings_fetcher.yaml b/openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_company_filings_fetcher.yaml similarity index 100% rename from openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmpsec_filings_fetcher.yaml rename to openbb_platform/providers/fmp/tests/record/http/test_fmp_fetchers/test_fmp_company_filings_fetcher.yaml diff --git a/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py b/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py index 5e4d6d4dd5c..4a4ceb49580 100644 --- a/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py +++ b/openbb_platform/providers/fmp/tests/test_fmp_fetchers.py @@ -8,6 +8,7 @@ from openbb_fmp.models.balance_sheet import FMPBalanceSheetFetcher from openbb_fmp.models.balance_sheet_growth import FMPBalanceSheetGrowthFetcher from openbb_fmp.models.cash_flow import FMPCashFlowStatementFetcher from openbb_fmp.models.cash_flow_growth import FMPCashFlowStatementGrowthFetcher +from openbb_fmp.models.company_filings import FMPCompanyFilingsFetcher from openbb_fmp.models.company_overview import FMPCompanyOverviewFetcher from openbb_fmp.models.crypto_historical import FMPCryptoHistoricalFetcher from openbb_fmp.models.dividend_calendar import FMPDividendCalendarFetcher @@ -35,7 +36,6 @@ from openbb_fmp.models.price_target_consensus import FMPPriceTargetConsensusFetc from openbb_fmp.models.revenue_business_line import FMPRevenueBusinessLineFetcher from openbb_fmp.models.revenue_geographic import FMPRevenueGeographicFetcher from openbb_fmp.models.risk_premium import FMPRiskPremiumFetcher -from openbb_fmp.models.sec_filings import FMPSECFilingsFetcher from openbb_fmp.models.share_statistics import FMPShareStatisticsFetcher from openbb_fmp.models.stock_historical import FMPStockHistoricalFetcher from openbb_fmp.models.stock_insider_trading import FMPStockInsiderTradingFetcher @@ -347,10 +347,10 @@ def test_fmp_key_metrics_fetcher(credentials=test_credentials): @pytest.mark.record_http -def test_fmpsec_filings_fetcher(credentials=test_credentials): +def test_fmp_company_filings_fetcher(credentials=test_credentials): params = {"symbol": "AAPL"} - fetcher = FMPSECFilingsFetcher() + fetcher = FMPCompanyFilingsFetcher() result = fetcher.test(params, credentials) assert result is None