From 5fecd9de96b5c5434a199c2fdf2c9d888b32040f Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Sun, 26 May 2024 07:07:51 -0700 Subject: [BugFix] Add `json_schema_extra` With Choices To Provider 'period' Field (#6451) * add json_schema_extra choices to provider 'period' field * black * unused imports * mypy * pytest --------- Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com> --- .../standard_models/balance_sheet_growth.py | 130 +--- .../provider/standard_models/cash_flow_growth.py | 117 +--- .../standard_models/income_statement_growth.py | 102 +-- .../equity/integration/test_equity_api.py | 4 +- .../equity/integration/test_equity_python.py | 4 +- openbb_platform/openbb/assets/reference.json | 747 ++++++++++++--------- .../openbb/package/equity_fundamental.py | 542 +++++++-------- .../fmp/openbb_fmp/models/balance_sheet.py | 4 +- .../fmp/openbb_fmp/models/balance_sheet_growth.py | 222 +++++- .../providers/fmp/openbb_fmp/models/cash_flow.py | 5 +- .../fmp/openbb_fmp/models/cash_flow_growth.py | 185 ++++- .../fmp/openbb_fmp/models/income_statement.py | 9 +- .../openbb_fmp/models/income_statement_growth.py | 173 ++++- .../test_fmp_balance_sheet_growth_fetcher.yaml | 2 +- ...est_fmp_cash_flow_statement_growth_fetcher.yaml | 2 +- .../providers/fmp/tests/test_fmp_fetchers.py | 6 +- .../openbb_intrinio/models/balance_sheet.py | 5 +- .../intrinio/openbb_intrinio/models/cash_flow.py | 11 +- .../openbb_intrinio/models/income_statement.py | 30 +- .../polygon/openbb_polygon/models/balance_sheet.py | 109 +-- .../polygon/openbb_polygon/models/cash_flow.py | 59 +- .../openbb_polygon/models/income_statement.py | 34 +- .../openbb_yfinance/models/balance_sheet.py | 5 +- .../yfinance/openbb_yfinance/models/cash_flow.py | 5 +- .../openbb_yfinance/models/income_statement.py | 5 +- 25 files changed, 1499 insertions(+), 1018 deletions(-) diff --git a/openbb_platform/core/openbb_core/provider/standard_models/balance_sheet_growth.py b/openbb_platform/core/openbb_core/provider/standard_models/balance_sheet_growth.py index e2aff45cb5d..429a623407c 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/balance_sheet_growth.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/balance_sheet_growth.py @@ -1,23 +1,26 @@ """Balance Sheet Statement Growth Standard Model.""" from datetime import date as dateType -from typing import List, Optional, Set, Union +from typing import Optional from pydantic import Field, field_validator from openbb_core.provider.abstract.data import Data from openbb_core.provider.abstract.query_params import QueryParams -from openbb_core.provider.utils.descriptions import ( - DATA_DESCRIPTIONS, - QUERY_DESCRIPTIONS, -) +from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS class BalanceSheetGrowthQueryParams(QueryParams): """Balance Sheet Statement Growth Query.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) - limit: int = Field(default=10, description=QUERY_DESCRIPTIONS.get("limit", "")) + period: str = Field( + default="annual", + description=QUERY_DESCRIPTIONS.get("period", ""), + ) + limit: Optional[int] = Field( + default=10, description=QUERY_DESCRIPTIONS.get("limit", "") + ) @field_validator("symbol", mode="before", check_fields=False) @classmethod @@ -25,113 +28,20 @@ class BalanceSheetGrowthQueryParams(QueryParams): """Convert field to uppercase.""" return v.upper() + @field_validator("period", mode="before", check_fields=False) + @classmethod + def to_lower(cls, v: Optional[str]) -> Optional[str]: + """Convert field to lowercase.""" + return v.lower() if v else v + class BalanceSheetGrowthData(Data): """Balance Sheet Statement Growth Data.""" - symbol: Optional[str] = Field( - default=None, description=DATA_DESCRIPTIONS.get("symbol", "") - ) - date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - period: str = Field(description="Reporting period.") - growth_cash_and_cash_equivalents: float = Field( - description="Growth rate of cash and cash equivalents." - ) - growth_short_term_investments: float = Field( - description="Growth rate of short-term investments." - ) - growth_cash_and_short_term_investments: float = Field( - description="Growth rate of cash and short-term investments." - ) - growth_net_receivables: float = Field(description="Growth rate of net receivables.") - growth_inventory: float = Field(description="Growth rate of inventory.") - growth_other_current_assets: float = Field( - description="Growth rate of other current assets." - ) - growth_total_current_assets: float = Field( - description="Growth rate of total current assets." - ) - growth_property_plant_equipment_net: float = Field( - description="Growth rate of net property, plant, and equipment." - ) - growth_goodwill: float = Field(description="Growth rate of goodwill.") - growth_intangible_assets: float = Field( - description="Growth rate of intangible assets." - ) - growth_goodwill_and_intangible_assets: float = Field( - description="Growth rate of goodwill and intangible assets." - ) - growth_long_term_investments: float = Field( - description="Growth rate of long-term investments." - ) - growth_tax_assets: float = Field(description="Growth rate of tax assets.") - growth_other_non_current_assets: float = Field( - description="Growth rate of other non-current assets." - ) - growth_total_non_current_assets: float = Field( - description="Growth rate of total non-current assets." - ) - growth_other_assets: float = Field(description="Growth rate of other assets.") - growth_total_assets: float = Field(description="Growth rate of total assets.") - growth_account_payables: float = Field( - description="Growth rate of accounts payable." - ) - growth_short_term_debt: float = Field(description="Growth rate of short-term debt.") - growth_tax_payables: float = Field(description="Growth rate of tax payables.") - growth_deferred_revenue: float = Field( - description="Growth rate of deferred revenue." + period_ending: dateType = Field(description="The end date of the reporting period.") + fiscal_period: Optional[str] = Field( + description="The fiscal period of the report.", default=None ) - growth_other_current_liabilities: float = Field( - description="Growth rate of other current liabilities." + fiscal_year: Optional[int] = Field( + description="The fiscal year of the fiscal period.", default=None ) - growth_total_current_liabilities: float = Field( - description="Growth rate of total current liabilities." - ) - growth_long_term_debt: float = Field(description="Growth rate of long-term debt.") - growth_deferred_revenue_non_current: float = Field( - description="Growth rate of non-current deferred revenue." - ) - growth_deferrred_tax_liabilities_non_current: float = Field( - description="Growth rate of non-current deferred tax liabilities." - ) - growth_other_non_current_liabilities: float = Field( - description="Growth rate of other non-current liabilities." - ) - growth_total_non_current_liabilities: float = Field( - description="Growth rate of total non-current liabilities." - ) - growth_other_liabilities: float = Field( - description="Growth rate of other liabilities." - ) - growth_total_liabilities: float = Field( - description="Growth rate of total liabilities." - ) - growth_common_stock: float = Field(description="Growth rate of common stock.") - growth_retained_earnings: float = Field( - description="Growth rate of retained earnings." - ) - growth_accumulated_other_comprehensive_income_loss: float = Field( - description="Growth rate of accumulated other comprehensive income/loss." - ) - growth_othertotal_stockholders_equity: float = Field( - description="Growth rate of other total stockholders' equity." - ) - growth_total_stockholders_equity: float = Field( - description="Growth rate of total stockholders' equity." - ) - growth_total_liabilities_and_stockholders_equity: float = Field( - description="Growth rate of total liabilities and stockholders' equity." - ) - growth_total_investments: float = Field( - description="Growth rate of total investments." - ) - growth_total_debt: float = Field(description="Growth rate of total debt.") - growth_net_debt: float = Field(description="Growth rate of net debt.") - - @field_validator("symbol", mode="before", check_fields=False) - @classmethod - def to_upper(cls, v: Union[str, List[str], Set[str]]): - """Convert field to uppercase.""" - if isinstance(v, str): - return v.upper() - return ",".join([symbol.upper() for symbol in list(v)]) if v else None diff --git a/openbb_platform/core/openbb_core/provider/standard_models/cash_flow_growth.py b/openbb_platform/core/openbb_core/provider/standard_models/cash_flow_growth.py index 77dd5d5ef86..43d52fd3fbb 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/cash_flow_growth.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/cash_flow_growth.py @@ -1,23 +1,26 @@ """Cash Flow Statement Growth Standard Model.""" from datetime import date as dateType -from typing import List, Optional, Set, Union +from typing import Optional from pydantic import Field, field_validator from openbb_core.provider.abstract.data import Data from openbb_core.provider.abstract.query_params import QueryParams -from openbb_core.provider.utils.descriptions import ( - DATA_DESCRIPTIONS, - QUERY_DESCRIPTIONS, -) +from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS class CashFlowStatementGrowthQueryParams(QueryParams): """Cash Flow Statement Growth Query.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) - limit: int = Field(default=10, description=QUERY_DESCRIPTIONS.get("limit", "")) + period: str = Field( + default="annual", + description=QUERY_DESCRIPTIONS.get("period", ""), + ) + limit: Optional[int] = Field( + default=10, description=QUERY_DESCRIPTIONS.get("limit", "") + ) @field_validator("symbol", mode="before", check_fields=False) @classmethod @@ -25,100 +28,20 @@ class CashFlowStatementGrowthQueryParams(QueryParams): """Convert field to uppercase.""" return v.upper() + @field_validator("period", mode="before", check_fields=False) + @classmethod + def to_lower(cls, v: Optional[str]) -> Optional[str]: + """Convert field to lowercase.""" + return v.lower() if v else v + class CashFlowStatementGrowthData(Data): """Cash Flow Statement Growth Data.""" - symbol: Optional[str] = Field( - default=None, description=DATA_DESCRIPTIONS.get("symbol", "") - ) - date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - period: str = Field(description="Period the statement is returned for.") - growth_net_income: float = Field(description="Growth rate of net income.") - growth_depreciation_and_amortization: float = Field( - description="Growth rate of depreciation and amortization." - ) - growth_deferred_income_tax: float = Field( - description="Growth rate of deferred income tax." - ) - growth_stock_based_compensation: float = Field( - description="Growth rate of stock-based compensation." - ) - growth_change_in_working_capital: float = Field( - description="Growth rate of change in working capital." - ) - growth_accounts_receivables: float = Field( - description="Growth rate of accounts receivables." - ) - growth_inventory: float = Field(description="Growth rate of inventory.") - growth_accounts_payables: float = Field( - description="Growth rate of accounts payables." - ) - growth_other_working_capital: float = Field( - description="Growth rate of other working capital." - ) - growth_other_non_cash_items: float = Field( - description="Growth rate of other non-cash items." - ) - growth_net_cash_provided_by_operating_activities: float = Field( - description="Growth rate of net cash provided by operating activities." - ) - growth_investments_in_property_plant_and_equipment: float = Field( - description="Growth rate of investments in property, plant, and equipment." - ) - growth_acquisitions_net: float = Field( - description="Growth rate of net acquisitions." - ) - growth_purchases_of_investments: float = Field( - description="Growth rate of purchases of investments." + period_ending: dateType = Field(description="The end date of the reporting period.") + fiscal_period: Optional[str] = Field( + description="The fiscal period of the report.", default=None ) - growth_sales_maturities_of_investments: float = Field( - description="Growth rate of sales maturities of investments." + fiscal_year: Optional[int] = Field( + description="The fiscal year of the fiscal period.", default=None ) - growth_other_investing_activities: float = Field( - description="Growth rate of other investing activities." - ) - growth_net_cash_used_for_investing_activities: float = Field( - description="Growth rate of net cash used for investing activities." - ) - growth_debt_repayment: float = Field(description="Growth rate of debt repayment.") - growth_common_stock_issued: float = Field( - description="Growth rate of common stock issued." - ) - growth_common_stock_repurchased: float = Field( - description="Growth rate of common stock repurchased." - ) - growth_dividends_paid: float = Field(description="Growth rate of dividends paid.") - growth_other_financing_activities: float = Field( - description="Growth rate of other financing activities." - ) - growth_net_cash_used_provided_by_financing_activities: float = Field( - description="Growth rate of net cash used/provided by financing activities." - ) - growth_effect_of_forex_changes_on_cash: float = Field( - description="Growth rate of the effect of foreign exchange changes on cash." - ) - growth_net_change_in_cash: float = Field( - description="Growth rate of net change in cash." - ) - growth_cash_at_end_of_period: float = Field( - description="Growth rate of cash at the end of the period." - ) - growth_cash_at_beginning_of_period: float = Field( - description="Growth rate of cash at the beginning of the period." - ) - growth_operating_cash_flow: float = Field( - description="Growth rate of operating cash flow." - ) - growth_capital_expenditure: float = Field( - description="Growth rate of capital expenditure." - ) - growth_free_cash_flow: float = Field(description="Growth rate of free cash flow.") - - @field_validator("symbol", mode="before", check_fields=False) - @classmethod - def to_upper(cls, v: Union[str, List[str], Set[str]]): - """Convert field to uppercase.""" - if isinstance(v, str): - return v.upper() - return ",".join([symbol.upper() for symbol in list(v)]) if v else None diff --git a/openbb_platform/core/openbb_core/provider/standard_models/income_statement_growth.py b/openbb_platform/core/openbb_core/provider/standard_models/income_statement_growth.py index 31fa068f7bc..6bb031db0a9 100644 --- a/openbb_platform/core/openbb_core/provider/standard_models/income_statement_growth.py +++ b/openbb_platform/core/openbb_core/provider/standard_models/income_statement_growth.py @@ -1,25 +1,25 @@ """Income Statement Growth Standard Model.""" from datetime import date as dateType -from typing import List, Literal, Optional, Set, Union +from typing import Optional from pydantic import Field, field_validator from openbb_core.provider.abstract.data import Data from openbb_core.provider.abstract.query_params import QueryParams -from openbb_core.provider.utils.descriptions import ( - DATA_DESCRIPTIONS, - QUERY_DESCRIPTIONS, -) +from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS class IncomeStatementGrowthQueryParams(QueryParams): """Income Statement Growth Query.""" symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", "")) - limit: int = Field(default=10, description=QUERY_DESCRIPTIONS.get("limit", "")) - period: Literal["annual", "quarter"] = Field( - default="annual", description=QUERY_DESCRIPTIONS.get("period", "") + period: str = Field( + default="annual", + description=QUERY_DESCRIPTIONS.get("period", ""), + ) + limit: Optional[int] = Field( + default=10, description=QUERY_DESCRIPTIONS.get("limit", "") ) @field_validator("symbol", mode="before", check_fields=False) @@ -38,86 +38,10 @@ class IncomeStatementGrowthQueryParams(QueryParams): class IncomeStatementGrowthData(Data): """Income Statement Growth Data.""" - symbol: Optional[str] = Field( - default=None, description=DATA_DESCRIPTIONS.get("symbol", "") - ) - date: dateType = Field(description=DATA_DESCRIPTIONS.get("date", "")) - period: str = Field(description="Period the statement is returned for.") - growth_revenue: float = Field(description="Growth rate of total revenue.") - growth_cost_of_revenue: float = Field( - description="Growth rate of cost of goods sold." - ) - growth_gross_profit: float = Field(description="Growth rate of gross profit.") - growth_gross_profit_ratio: float = Field( - description="Growth rate of gross profit as a percentage of revenue." - ) - growth_research_and_development_expenses: float = Field( - description="Growth rate of expenses on research and development." - ) - growth_general_and_administrative_expenses: float = Field( - description="Growth rate of general and administrative expenses." - ) - growth_selling_and_marketing_expenses: float = Field( - description="Growth rate of expenses on selling and marketing activities." - ) - growth_other_expenses: float = Field( - description="Growth rate of other operating expenses." - ) - growth_operating_expenses: float = Field( - description="Growth rate of total operating expenses." - ) - growth_cost_and_expenses: float = Field( - description="Growth rate of total costs and expenses." - ) - growth_interest_expense: float = Field( - description="Growth rate of interest expenses." - ) - growth_depreciation_and_amortization: float = Field( - description="Growth rate of depreciation and amortization expenses." - ) - growth_ebitda: float = Field( - description="Growth rate of Earnings Before Interest, Taxes, Depreciation, and Amortization." - ) - growth_ebitda_ratio: float = Field( - description="Growth rate of EBITDA as a percentage of revenue." + period_ending: dateType = Field(description="The end date of the reporting period.") + fiscal_period: Optional[str] = Field( + description="The fiscal period of the report.", default=None ) - growth_operating_income: float = Field( - description="Growth rate of operating income." + fiscal_year: Optional[int] = Field( + description="The fiscal year of the fiscal period.", default=None ) - growth_operating_income_ratio: float = Field( - description="Growth rate of operating income as a percentage of revenue." - ) - growth_total_other_income_expenses_net: float = Field( - description="Growth rate of net total other income and expenses." - ) - growth_income_before_tax: float = Field( - description="Growth rate of income before taxes." - ) - growth_income_before_tax_ratio: float = Field( - description="Growth rate of income before taxes as a percentage of revenue." - ) - growth_income_tax_expense: float = Field( - description="Growth rate of income tax expenses." - ) - growth_net_income: float = Field(description="Growth rate of net income.") - growth_net_income_ratio: float = Field( - description="Growth rate of net income as a percentage of revenue." - ) - growth_eps: float = Field(description="Growth rate of Earnings Per Share (EPS).") - growth_eps_diluted: float = Field( - description="Growth rate of diluted Earnings Per Share (EPS)." - ) - growth_weighted_average_shs_out: float = Field( - description="Growth rate of weighted average shares outstanding." - ) - growth_weighted_average_shs_out_dil: float = Field( - description="Growth rate of diluted weighted average shares outstanding." - ) - - @field_validator("symbol", mode="before", check_fields=False) - @classmethod - def to_upper(cls, v: Union[str, List[str], Set[str]]): - """Convert field to uppercase.""" - if isinstance(v, str): - return v.upper() - return ",".join([symbol.upper() for symbol in list(v)]) if v else None diff --git a/openbb_platform/extensions/equity/integration/test_equity_api.py b/openbb_platform/extensions/equity/integration/test_equity_api.py index ffe57cda534..544bb8052b1 100644 --- a/openbb_platform/extensions/equity/integration/test_equity_api.py +++ b/openbb_platform/extensions/equity/integration/test_equity_api.py @@ -87,7 +87,7 @@ def test_equity_fundamental_balance(params, headers): @parametrize( "params", - [({"symbol": "AAPL", "limit": 10, "provider": "fmp"})], + [({"symbol": "AAPL", "limit": 10, "provider": "fmp", "period": "annual"})], ) @pytest.mark.integration def test_equity_fundamental_balance_growth(params, headers): @@ -231,7 +231,7 @@ def test_equity_fundamental_cash(params, headers): @parametrize( "params", - [({"symbol": "AAPL", "limit": 10, "provider": "fmp"})], + [({"symbol": "AAPL", "limit": 10, "provider": "fmp", "period": "annual"})], ) @pytest.mark.integration def test_equity_fundamental_cash_growth(params, headers): diff --git a/openbb_platform/extensions/equity/integration/test_equity_python.py b/openbb_platform/extensions/equity/integration/test_equity_python.py index 0e167cae8df..cb836f59019 100644 --- a/openbb_platform/extensions/equity/integration/test_equity_python.py +++ b/openbb_platform/extensions/equity/integration/test_equity_python.py @@ -83,7 +83,7 @@ def test_equity_fundamental_balance(params, obb): @parametrize( "params", [ - ({"symbol": "AAPL", "limit": 10, "provider": "fmp"}), + ({"symbol": "AAPL", "limit": 10, "provider": "fmp", "period": "annual"}), ], ) @pytest.mark.integration @@ -214,7 +214,7 @@ def test_equity_fundamental_cash(params, obb): @parametrize( "params", [ - ({"symbol": "AAPL", "limit": 10, "provider": "fmp"}), + ({"symbol": "AAPL", "limit": 10, "provider": "fmp", "period": "annual"}), ], ) @pytest.mark.integration diff --git a/openbb_platform/openbb/assets/reference.json b/openbb_platform/openbb/assets/reference.json index 61835911e88..0c01282e9c1 100644 --- a/openbb_platform/openbb/assets/reference.json +++ b/openbb_platform/openbb/assets/reference.json @@ -10500,7 +10500,10 @@ "description": "None", "default": "annual", "optional": true, - "choices": null + "choices": [ + "annual", + "quarter" + ] } ], "intrinio": [ @@ -10510,7 +10513,10 @@ "description": "None", "default": "annual", "optional": true, - "choices": null + "choices": [ + "annual", + "quarter" + ] }, { "name": "fiscal_year", @@ -10528,7 +10534,11 @@ "description": "None", "default": "annual", "optional": true, - "choices": null + "choices": [ + "annual", + "quarter", + "ttm" + ] }, { "name": "filing_date", @@ -10642,7 +10652,10 @@ "description": "None", "default": "annual", "optional": true, - "choices": null + "choices": [ + "annual", + "quarter" + ] } ] }, @@ -11829,7 +11842,7 @@ "polygon": [ { "name": "accounts_receivable", - "type": "int", + "type": "float", "description": "Accounts receivable", "default": null, "optional": true, @@ -11837,7 +11850,7 @@ }, { "name": "marketable_securities", - "type": "int", + "type": "float", "description": "Marketable securities", "default": null, "optional": true, @@ -11845,7 +11858,7 @@ }, { "name": "prepaid_expenses", - "type": "int", + "type": "float", "description": "Prepaid expenses", "default": null, "optional": true, @@ -11853,7 +11866,7 @@ }, { "name": "other_current_assets", - "type": "int", + "type": "float", "description": "Other current assets", "default": null, "optional": true, @@ -11861,7 +11874,7 @@ }, { "name": "total_current_assets", - "type": "int", + "type": "float", "description": "Total current assets", "default": null, "optional": true, @@ -11869,7 +11882,7 @@ }, { "name": "property_plant_equipment_net", - "type": "int", + "type": "float", "description": "Property plant and equipment net", "default": null, "optional": true, @@ -11877,7 +11890,7 @@ }, { "name": "inventory", - "type": "int", + "type": "float", "description": "Inventory", "default": null, "optional": true, @@ -11885,7 +11898,7 @@ }, { "name": "other_non_current_assets", - "type": "int", + "type": "float", "description": "Other non-current assets", "default": null, "optional": true, @@ -11893,7 +11906,7 @@ }, { "name": "total_non_current_assets", - "type": "int", + "type": "float", "description": "Total non-current assets", "default": null, "optional": true, @@ -11901,7 +11914,7 @@ }, { "name": "intangible_assets", - "type": "int", + "type": "float", "description": "Intangible assets", "default": null, "optional": true, @@ -11909,7 +11922,7 @@ }, { "name": "total_assets", - "type": "int", + "type": "float", "description": "Total assets", "default": null, "optional": true, @@ -11917,7 +11930,7 @@ }, { "name": "accounts_payable", - "type": "int", + "type": "float", "description": "Accounts payable", "default": null, "optional": true, @@ -11925,7 +11938,7 @@ }, { "name": "employee_wages", - "type": "int", + "type": "float", "description": "Employee wages", "default": null, "optional": true, @@ -11933,7 +11946,7 @@ }, { "name": "other_current_liabilities", - "type": "int", + "type": "float", "description": "Other current liabilities", "default": null, "optional": true, @@ -11941,7 +11954,7 @@ }, { "name": "total_current_liabilities", - "type": "int", + "type": "float", "description": "Total current liabilities", "default": null, "optional": true, @@ -11949,7 +11962,7 @@ }, { "name": "other_non_current_liabilities", - "type": "int", + "type": "float", "description": "Other non-current liabilities", "default": null, "optional": true, @@ -11957,7 +11970,7 @@ }, { "name": "total_non_current_liabilities", - "type": "int", + "type": "float", "description": "Total non-current liabilities", "default": null, "optional": true, @@ -11965,7 +11978,7 @@ }, { "name": "long_term_debt", - "type": "int", + "type": "float", "description": "Long term debt", "default": null, "optional": true, @@ -11973,7 +11986,7 @@ }, { "name": "total_liabilities", - "type": "int", + "type": "float", "description": "Total liabilities", "default": null, "optional": true, @@ -11981,7 +11994,7 @@ }, { "name": "minority_interest", - "type": "int", + "type": "float", "description": "Minority interest", "default": null, "optional": true, @@ -11989,7 +12002,7 @@ }, { "name": "temporary_equity_attributable_to_parent", - "type": "int", + "type": "float", "description": "Temporary equity attributable to parent", "default": null, "optional": true, @@ -11997,7 +12010,7 @@ }, { "name": "equity_attributable_to_parent", - "type": "int", + "type": "float", "description": "Equity attributable to parent", "default": null, "optional": true, @@ -12005,7 +12018,7 @@ }, { "name": "temporary_equity", - "type": "int", + "type": "float", "description": "Temporary equity", "default": null, "optional": true, @@ -12013,7 +12026,7 @@ }, { "name": "preferred_stock", - "type": "int", + "type": "float", "description": "Preferred stock", "default": null, "optional": true, @@ -12021,7 +12034,7 @@ }, { "name": "redeemable_non_controlling_interest", - "type": "int", + "type": "float", "description": "Redeemable non-controlling interest", "default": null, "optional": true, @@ -12029,32 +12042,32 @@ }, { "name": "redeemable_non_controlling_interest_other", - "type": "int", + "type": "float", "description": "Redeemable non-controlling interest other", "default": null, "optional": true, "choices": null }, { - "name": "total_stock_holders_equity", - "type": "int", + "name": "total_shareholders_equity", + "type": "float", "description": "Total stock holders equity", "default": null, "optional": true, "choices": null }, { - "name": "total_liabilities_and_stock_holders_equity", - "type": "int", - "description": "Total liabilities and stockholders equity", + "name": "total_equity", + "type": "float", + "description": "Total equity", "default": null, "optional": true, "choices": null }, { - "name": "total_equity", - "type": "int", - "description": "Total equity", + "name": "total_liabilities_and_shareholders_equity", + "type": "float", + "description": "Total liabilities and stockholders equity", "default": null, "optional": true, "choices": null @@ -12081,6 +12094,14 @@ "optional": false, "choices": null }, + { + "name": "period", + "type": "str", + "description": "Time period of the data to return.", + "default": "annual", + "optional": true, + "choices": null + }, { "name": "limit", "type": "int", @@ -12097,7 +12118,19 @@ "optional": true } ], - "fmp": [] + "fmp": [ + { + "name": "period", + "type": "Literal['annual', 'quarter']", + "description": "None", + "default": "annual", + "optional": true, + "choices": [ + "annual", + "quarter" + ] + } + ] }, "returns": { "OBBject": [ @@ -12131,25 +12164,35 @@ "data": { "standard": [ { - "name": "symbol", + "name": "period_ending", + "type": "date", + "description": "The end date of the reporting period.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "fiscal_period", "type": "str", - "description": "Symbol representing the entity requested in the data.", + "description": "The fiscal period of the report.", "default": null, "optional": true, "choices": null }, { - "name": "date", - "type": "date", - "description": "The date of the data.", - "default": "", - "optional": false, + "name": "fiscal_year", + "type": "int", + "description": "The fiscal year of the fiscal period.", + "default": null, + "optional": true, "choices": null - }, + } + ], + "fmp": [ { - "name": "period", + "name": "symbol", "type": "str", - "description": "Reporting period.", + "description": "Symbol representing the entity requested in the data.", "default": "", "optional": false, "choices": null @@ -12158,56 +12201,56 @@ "name": "growth_cash_and_cash_equivalents", "type": "float", "description": "Growth rate of cash and cash equivalents.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_short_term_investments", "type": "float", "description": "Growth rate of short-term investments.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_cash_and_short_term_investments", "type": "float", "description": "Growth rate of cash and short-term investments.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_net_receivables", "type": "float", "description": "Growth rate of net receivables.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_inventory", "type": "float", "description": "Growth rate of inventory.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_other_current_assets", "type": "float", "description": "Growth rate of other current assets.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_total_current_assets", "type": "float", "description": "Growth rate of total current assets.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { @@ -12246,136 +12289,136 @@ "name": "growth_long_term_investments", "type": "float", "description": "Growth rate of long-term investments.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_tax_assets", "type": "float", "description": "Growth rate of tax assets.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_other_non_current_assets", "type": "float", "description": "Growth rate of other non-current assets.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_total_non_current_assets", "type": "float", "description": "Growth rate of total non-current assets.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_other_assets", "type": "float", "description": "Growth rate of other assets.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_total_assets", "type": "float", "description": "Growth rate of total assets.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_account_payables", "type": "float", "description": "Growth rate of accounts payable.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_short_term_debt", "type": "float", "description": "Growth rate of short-term debt.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_tax_payables", "type": "float", "description": "Growth rate of tax payables.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_deferred_revenue", "type": "float", "description": "Growth rate of deferred revenue.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_other_current_liabilities", "type": "float", "description": "Growth rate of other current liabilities.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_total_current_liabilities", "type": "float", "description": "Growth rate of total current liabilities.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_long_term_debt", "type": "float", "description": "Growth rate of long-term debt.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_deferred_revenue_non_current", "type": "float", "description": "Growth rate of non-current deferred revenue.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_deferrred_tax_liabilities_non_current", "type": "float", "description": "Growth rate of non-current deferred tax liabilities.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_other_non_current_liabilities", "type": "float", "description": "Growth rate of other non-current liabilities.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_total_non_current_liabilities", "type": "float", "description": "Growth rate of total non-current liabilities.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { @@ -12411,7 +12454,7 @@ "choices": null }, { - "name": "growth_accumulated_other_comprehensive_income_loss", + "name": "growth_accumulated_other_comprehensive_income", "type": "float", "description": "Growth rate of accumulated other comprehensive income/loss.", "default": "", @@ -12419,55 +12462,54 @@ "choices": null }, { - "name": "growth_othertotal_stockholders_equity", + "name": "growth_other_total_shareholders_equity", "type": "float", "description": "Growth rate of other total stockholders' equity.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { - "name": "growth_total_stockholders_equity", + "name": "growth_total_shareholders_equity", "type": "float", "description": "Growth rate of total stockholders' equity.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { - "name": "growth_total_liabilities_and_stockholders_equity", + "name": "growth_total_liabilities_and_shareholders_equity", "type": "float", "description": "Growth rate of total liabilities and stockholders' equity.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_total_investments", "type": "float", "description": "Growth rate of total investments.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_total_debt", "type": "float", "description": "Growth rate of total debt.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_net_debt", "type": "float", "description": "Growth rate of net debt.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null } - ], - "fmp": [] + ] }, "model": "BalanceSheetGrowth" }, @@ -12519,7 +12561,10 @@ "description": "None", "default": "annual", "optional": true, - "choices": null + "choices": [ + "annual", + "quarter" + ] } ], "intrinio": [ @@ -12529,7 +12574,12 @@ "description": "None", "default": "annual", "optional": true, - "choices": null + "choices": [ + "annual", + "quarter", + "ttm", + "ytd" + ] }, { "name": "fiscal_year", @@ -12543,11 +12593,15 @@ "polygon": [ { "name": "period", - "type": "Literal['annual', 'quarter']", + "type": "Literal['annual', 'quarter', 'ttm']", "description": "None", "default": "annual", "optional": true, - "choices": null + "choices": [ + "annual", + "quarter", + "ttm" + ] }, { "name": "filing_date", @@ -13376,7 +13430,7 @@ "polygon": [ { "name": "net_cash_flow_from_operating_activities_continuing", - "type": "int", + "type": "float", "description": "Net cash flow from operating activities continuing.", "default": null, "optional": true, @@ -13384,7 +13438,7 @@ }, { "name": "net_cash_flow_from_operating_activities_discontinued", - "type": "int", + "type": "float", "description": "Net cash flow from operating activities discontinued.", "default": null, "optional": true, @@ -13392,7 +13446,7 @@ }, { "name": "net_cash_flow_from_operating_activities", - "type": "int", + "type": "float", "description": "Net cash flow from operating activities.", "default": null, "optional": true, @@ -13400,7 +13454,7 @@ }, { "name": "net_cash_flow_from_investing_activities_continuing", - "type": "int", + "type": "float", "description": "Net cash flow from investing activities continuing.", "default": null, "optional": true, @@ -13408,7 +13462,7 @@ }, { "name": "net_cash_flow_from_investing_activities_discontinued", - "type": "int", + "type": "float", "description": "Net cash flow from investing activities discontinued.", "default": null, "optional": true, @@ -13416,7 +13470,7 @@ }, { "name": "net_cash_flow_from_investing_activities", - "type": "int", + "type": "float", "description": "Net cash flow from investing activities.", "default": null, "optional": true, @@ -13424,7 +13478,7 @@ }, { "name": "net_cash_flow_from_financing_activities_continuing", - "type": "int", + "type": "float", "description": "Net cash flow from financing activities continuing.", "default": null, "optional": true, @@ -13432,7 +13486,7 @@ }, { "name": "net_cash_flow_from_financing_activities_discontinued", - "type": "int", + "type": "float", "description": "Net cash flow from financing activities discontinued.", "default": null, "optional": true, @@ -13440,7 +13494,7 @@ }, { "name": "net_cash_flow_from_financing_activities", - "type": "int", + "type": "float", "description": "Net cash flow from financing activities.", "default": null, "optional": true, @@ -13448,7 +13502,7 @@ }, { "name": "net_cash_flow_continuing", - "type": "int", + "type": "float", "description": "Net cash flow continuing.", "default": null, "optional": true, @@ -13456,7 +13510,7 @@ }, { "name": "net_cash_flow_discontinued", - "type": "int", + "type": "float", "description": "Net cash flow discontinued.", "default": null, "optional": true, @@ -13464,7 +13518,7 @@ }, { "name": "exchange_gains_losses", - "type": "int", + "type": "float", "description": "Exchange gains losses.", "default": null, "optional": true, @@ -13472,7 +13526,7 @@ }, { "name": "net_cash_flow", - "type": "int", + "type": "float", "description": "Net cash flow.", "default": null, "optional": true, @@ -13636,6 +13690,14 @@ "optional": false, "choices": null }, + { + "name": "period", + "type": "str", + "description": "Time period of the data to return.", + "default": "annual", + "optional": true, + "choices": null + }, { "name": "limit", "type": "int", @@ -13652,7 +13714,19 @@ "optional": true } ], - "fmp": [] + "fmp": [ + { + "name": "period", + "type": "Literal['annual', 'quarter']", + "description": "None", + "default": "annual", + "optional": true, + "choices": [ + "annual", + "quarter" + ] + } + ] }, "returns": { "OBBject": [ @@ -13686,25 +13760,35 @@ "data": { "standard": [ { - "name": "symbol", + "name": "period_ending", + "type": "date", + "description": "The end date of the reporting period.", + "default": "", + "optional": false, + "choices": null + }, + { + "name": "fiscal_period", "type": "str", - "description": "Symbol representing the entity requested in the data.", + "description": "The fiscal period of the report.", "default": null, "optional": true, "choices": null }, { - "name": "date", - "type": "date", - "description": "The date of the data.", - "default": "", - "optional": false, + "name": "fiscal_year", + "type": "int", + "description": "The fiscal year of the fiscal period.", + "default": null, + "optional": true, "choices": null - }, + } + ], + "fmp": [ { - "name": "period", + "name": "symbol", "type": "str", - "description": "Period the statement is returned for.", + "description": "Symbol representing the entity requested in the data.", "default": "", "optional": false, "choices": null @@ -13713,244 +13797,243 @@ "name": "growth_net_income", "type": "float", "description": "Growth rate of net income.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, { "name": "growth_depreciation_and_amortization", "type": "float", "description": "Growth rate of depreciation and amortization.", - "default": "", - "optional": false, + "default": null, + "optional": true, "choices": null }, {