Files
OpenBB/openbb_platform/openbb/package/equity_fundamental.py
Henrique Joaquim 8d2f8ba5d6 [Release] 4.1.7 (#6325)
* [Critical] Sync `main` with `develop` (#6202)

* feature/intrinio-equity-search: Adds Intrinio to `obb.equity.search()` (#5863)

* intrinio equity search

* integration tests

* test

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* feature/yfinance-multi-ticker: Adds support to openbb-yfinance for multi-ticker download. (#5845)

* yfinance multi-ticker support

* multi-ticker support for market indices

* crypto multi-ticker support

* recapture tests

* yfinance cache and tests

* currency historical multi-ticker support

* style things

* black

* missed a values

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Feature/us-treasury-prices: Adds Treasury Prices to Fixed Income (#5776)

* add treasury prices endpoint to fixed income router

* adds tests

* black

* ruff

* import statements

* standard model imports

* black

* some cleanup

* black

* async router

* make async

* str outpuot

* bytes object not string

* docstring typo

* multi-line f-string

* encoding

* duplicated conditional

* black

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* feature/sec-etf-holdings: Adds ETF holdings from SEC provider (#5757)

* add ETF holdings from SEC provider

* black

* helper function params

* edge cases

* ruff

* add validator in company filings

* remove xml field

* update import

* cleanup parsing

* missing datetime import in company_filings

* black

* unused import

* add missing py.typed files

* feature/nasdaq-equity-search: Adds Nasdaq provider for `obb.equity.search()` (#5790)

* add nasdaq to equity search

* black

* unused import

* make async

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Excel docs (#5870)

* first test

* remove old reference

* bring this file back

* generate sidebar and write empty mds

* generate index.mdx

* get description from cmd_lib

* fix reference card error

* rename file

* generate markdown

* regen

* add last+hist

* update pages with seo metadata

* format types

* small fix

* css sux

* add usage placeholder

* set hidden by default

* nah

* add cmds and menus to reference

* lint

* fix/Users/diogosousa/opt/anaconda3/envs/platform/bin/python /Users/diogosousa/OpenBB/OpenBBTerminal/website/generate_excel_markdown.py

* format mds

* remove space

* fix commands heading

* redo folder structure

* add back cmd description

* move card to var

* different main folder

* clean

* move vars

* refer to editor

* rename var

* done

* recreate folder structure

* add section: syntax + minor adjustments

* remove return type

* remove return type

* rename api to library

* minor fix

* remove api folder

* remove api folder

* formatting

* improve basics

* basics

* fetch functions.json from website

* complete basic

* change syntax to use semi-colon

* basics

* basics

* remove space in sig

* remove sections

* add metadata

* Update formula builder

* add tabs

* Update index.md

* complete basics and formula_builder

* Update index.md

* add windows screenshots

* restructure folders

* regenerate with latest add-in version

* move Excel sidebar

* rename function and add comment

* now it's working

* logic

* rename folder

* Update formula_builder.md

* fix

* hide excel for now

* some explicit typing

---------

Co-authored-by: tehcoderer <me@tehcoderer.com>

* Make Pro Fetchers async by replacing `ThreadPoolExecutor` with `asyncio.gather` (#5822)

* init

* Update helpers.py

* filter URL on raise

* polygon, fmp done, update cassettes

* updates

* cleanup

* revert tests for now

* Update discovery_filings.py

* Update helpers.py

* add `async` overload to `Fetcher.extract_data`

* update merged fred models

* tests, improve fred series

* Update insider_trading.py

* insider

* tests

* intrinio

* Update equity_historical.py

* implement abstract async extract on Fetcher, with simple switch

* cleanup

* Update helpers.py

* Update helpers.py

* fix fmp historical deprecated urls

* Revert "fix fmp historical deprecated urls"

This reverts commit 1a760a2473.

* fix fmp `index.market` 1day url missing query params

* Update test_fmp_market_indices_fetcher.yaml

* field fixes

* `extract_data_async` -> `aextract_data`, `async_request` -> `amake_request`

* `async_requests` -> `amake_requests`

* Update company_news.py

* add sort to index `integration` params

* add `client.py` tests

* Update equity_search.py

* Add lost v in platform api version string

* Resolve linter errors here and there

---------

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>

* Allow this to be run in parallel (#5872)

* Limit mypy v3 linting to only the diff of the PR (#5878)

* Use custom parametrize from news menu tests (#5873)

* Use custom parametrize from news menu tests

* Update Ultima unit test cassettes

* Command Schema  (#5874)

* POC

* Filter by provider

* pass base_app as parameter

* add typing + TODO

* fix some typing

* Fix unit tests

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* Parameterize `obbject.to_df` with `index` and `sort_by` (#5877)

* Parameterize obbject.to_df with index and sort_by

* unit tests for obbject

* keep using the date as default to use on  basemode_to_df()

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Changes to the `obb.fixedincome.corporate.hqm()` output (#5876)

* changes to the hqm output

* typo

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Refactor method in RegistryMap (#5879)

* refactor extract_info

* add comment

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* remove Literal from providers in OBBject (#5882)

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Fix version (#5883)

* Fix version

* Fix linter on terminal

* Refactor package builder (#5880)

* breakdown builder + remove black

* rebuild

* rebuild

* rebuild

* rename method

* format built code without black

* we still lint if it's available

* fix existing tests

* add linter tests

* add black to dev deps

* auto_build as instance method

* reorder methods

* typing

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* small refactor for simplification (#5886)

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Fix bug. Add router test. (#5888)

* Fix bug. Add router test.

* Simplify

* separate pylint between platform + terminal (#5892)

* separate pylint b/w platform + terminal

* Explicitly set pylint check scope to files in the diff

---------

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>

* sync descriptions (#5893)

* Add REST API docs page with advanced settings configuration (#5890)

* Don't mention docker in a list of python envs

* Create a REST API page

* Update docs to get api keys from the hub

* Update installation instructions

* Mention requirement of poetry and toml in source installation section

* move rest page up to the top. and add url to google colab example notebook

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* fix a v3 syntax example (#5891)

* Adds federal reserve data points (#5885)

* Allow optional input for 2-month treasury rates and add FederalReserve rates model

The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher.

* Add Money Measures models and commands

This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data.

* Add Federal Reserve Money Measures test file

This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server.

* Cleanup

* Sneaky unformatted integration tests

* its a dawg life for me ...... ruff

* add the fed funds rate

* didnt mean to commmit this

* black

* this is why we should pre commit kids

* change install name

* add providers to int tests

* review comments + commit static

* replace nan with None

* fix float on None

* get rid of nans for nulls for json handling

* change `_` to `-` in readme pip install.

* Update __init__.py docstring

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>

* Check if outdated (#5898)

* Add econometrics API tests (#5899)

* Docs/excel update (#5889)

* update xl docs

* update syntax line

* update again

* Fix pylint scope (#5895)

* Allow optional input for 2-month treasury rates and add FederalReserve rates model

The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher.

* Add Money Measures models and commands

This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data.

* Add Federal Reserve Money Measures test file

This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server.

* Cleanup

* Sneaky unformatted integration tests

* its a dawg life for me ...... ruff

* add the fed funds rate

* didnt mean to commmit this

* black

* this is why we should pre commit kids

* change install name

* add providers to int tests

* review comments + commit static

* replace nan with None

* fix float on None

* get rid of nans for nulls for json handling

* change `_` to `-` in readme pip install.

* Update __init__.py docstring

* Debug pylint

* Adjust the fetch depth

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* fix `from openbb import obb` asyncio lock in python REPL (#5896)

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* feature/financials - PR for working on structure of financial statements. (#5794)

* balance sheet draft

* balance_sheet draft

* cash_flow draft

* income_statement draft

* intrinio financials

* description

* period field

* ruff

* income statement

* field

* label - gross profit ratio

* cash flow statement

* investing order

* add option for caching to cashflow

* add caching to balance and income

* typos and update order for financial institutions

* replace 0 values with None

* add financial ratios from intrinio

* black

* missing test params

* balance cassette

* query param description

* symbol list warning

* black

* handle BRK-A and symbols with a dash for Intrinio

* fix typo error

* add free cash flow to bottom of cash flow statement

* amortization_expense

* dev_install.py

* undo dev_install.. wrong branch

* cash flow order things

* standardized cash flow

* fields

* integration tests

* cash flow model validator

* more polygon cash

* black

* black

* Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py

wrong file

* balance sheet

* some cleanup

* ruff

* income statement

* black

* test params

* financial ratios async update

* recapture fmp and polygon tests

* yFinance financials

* yfinance tests

* delete financial_statements standard model

* intrinio balance sheet order

* fiscal year standard param

* remove file accidentally committed

* add reported_financials end point

* fiscal_year param for reported_financials

* fix url

* fmp test cassette

* add safe-guard with warning for fiscal year before 2008

* periods can only be annual and quarter

* url in docstring correction

* add fiscal_year param to intrinio standardized financials and ratios

* fix fmp ratios

* black

* rename fields as per Minh

* rogue field

* black

* Fix typo in a docstring

* Resolve linting errors

* type ignore

* disable=unused-argument

* changing the arg name cc @minhhoang1023

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* docs/legacy-install: Add warning at top of page - Instructions on this page are for installing the Terminal (#5904)

* add warning at top of page - instructions are for installing the Terminal app

* pip install openbb-nightly

* hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907)

* update income statement fields

* another polygon field

* ratio -> margin

* black

* explicit fmp fields

* add reported_currency for standardized intrinio

* # pylint: disable=unused-argument

* another unused-argument

* black..

* patch tests

* polygon income: eps -> basic earnings per share

* re-capture terminal portfolio menu test

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Fix test (#5916)

* Fix test

* Skip ultima integration tests

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* hotfix/fmp-price-performance-zeros: Replace returned zero with None and normalize percent values. (#5918)

* replace zeros with none and normalize percents

* pylint unused argument

* Update index.md (#5906)

* Release/4.1.0 (#5901)

* Hotfix/terminal tests (#5919)

* skip supressed arguments

* silent way of customly load on quote

* specify source for call_load

* docs/platform-faq: Start Platform FAQ page with bullet points on Platform vs SDK (#5914)

* platform vs sdk faq page

* add data and data providers faq section and some style cards

* typo

* makes changes as per reviews

* openbb-nightly as a way to install everything

* jupyter-lab instead of jupyter

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* hotfix/backend - Initialize OpenBBFigure (#5912)

* create backend

* openbb_figure

* black

* pylint

* pylint again

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923)

* multi-ticker support for yfinance futures historical

* raise-missing-from

* integration test params

* equity_historical adjusted kwargs

* pylint unused argument

* Docs/excel examples (#5920)

* regen excel md

* add syntax + basic example

* fix example

* create json with docs map

* update docs to latest functions.json + remove tiingo

* remove space from examples

* minor fix

* remove spaces

* remove spaces

* bug fix: remove folder before generating

* fix typo

* add link to appsource

* fix

* Update templates.md

* regenerate content

* change docs colors

* fix light mode

* add back tiingo

* update functions.json

* templates go later

* remove Library from reference

* Make the excel markdown being generated at runtime

* fix reference cards having commands under menu

* remove excel/reference folder since this is built at runtime by gh-pages action

* black formatting

* improve title

* add excel to the main page

* add excel image bg

* make excel sidebar show up next to pro

* improve main page

* small fix for platform page title

* update basics page

* add tip to autocomplete

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* Re-record tests and fix symbol bug (#5924)

* Re-record tests and fix symbol bug

* nordvpn us ftw

* @IgorWounds says "SPY >> IOO"

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Docs/bug fix (#5926)

* fix pro link

* fix wrong example

* Introduces a limit argument for the `equity.fundamental.trailing_dividend_yield` endpoint (#5925)

* introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint

* add default args to test

* Add json_schema_extra to openapi.json (#5930)

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* feature/standardize-quote: Proposal to Standardize EquityQuote (#5922)

* standardize EquityQuote

* intrinio reference

* rogue comma

* pylint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* hotfix/fmp-rev-segments: Adds Fiscal Period to busines/geographic segments revenue. (#5921)

* add fiscal_period to revenue by geography and business line

* data description and unused imports

* update test cassette

* Allow multiple symbols `equity.profile` (#5929)

* allow multiple symbols

* pylint

* pylint ignore position

* change callback to helper func

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Add filtering to AV historical price (#5928)

* add filtering to av historical price

* lints

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Fix vwap FMP error (#5936)

* Fix vwap FMP error

* Linting

* Painlint

* Add date filter + symbols to comp (#5931)

* add date filter + symbols to comp

* make sure year is in d

* tests fix

* Improving Platform's import time (#5894)

* missing decorator

* missing optional statements

* us-gov to optional and right position

* removing redundant call

* lazy load mappings

* docstrings

* introducing the extension loader class

* misleading docstring

* using the extension loader on the router

* using the extension loader on the credentials

* docstrings

* lazy load of entry points

* checkout dev_install

* using the extension loader to get the entry points instead of recalling the function

* improved auth service and charting service

* using the extension loader on the registry

* typos

* adding properties to extension loader for easy access

* using the extension loader on the package builder

* avoiding circular imports by using forward references

* fix charting service tests

* test for the extension loader

* Update openbb_platform/core/openbb_core/app/model/credentials.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* Update openbb_platform/core/openbb_core/app/router.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* Update openbb_platform/core/openbb_core/provider/registry.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* adjustments

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* Disable auto_build on test run (#5937)

* Disable auto_build on test run

* Move to conftest

* Update excel docs (#5940)

* update basics

* update reference generator

* Categorize release notes based on labels for OpenBB Platform (#5943)

* Categorize release notes based on labels for OpenBB Platform

* Add environment variable for GitHub token in labels-PR.yml

* Update labeler.yml to use "enhancement" label for feature branches

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Custom deprecation message in API endpoints and Python commands (#5942)

* add custom deprecation message feature in routers

* add custom deprecation message feature in package builder

* using an actual DeprecationWarning instead

* fix tests

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Hotfix/remove unused workflow (#5945)

* Disable auto_build on test run

* Remove unused workflow

* Revert

* Hotfix/fix typo (#5948)

* Disable auto_build on test run

* Fix typo

* Revert

* docs/data-models-url: Fix URLs on Development Page (#5944)

* fix url to the standard models

* github links

* `equity.fundamental.dividends`: allow filter by date (#5932)

* allow filter by date

* ruff

* pylint

* fix tests

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Create Excel templates page (#5947)

* create templates page

* Update index.mdx

* fix description

* update card

* remove clsx

* Update index.mdx

* Update index.mdx

* Update index.mdx

* Update index.mdx

* min height

* min height

* improve excel docs and point towards hub

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951)

* fix limit param

* pylint unused argument, recapture test cassette

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Docs/remove core refs (#5957)

* remove references to core: PathHandler + ProviderInterface

* remove unused function

* add comment

* regenerate

* fix a few examples

* add comment

* rename file

* Excel tutorials on the docs (#5956)

* update workflows name to tutorial

* update title

* get barebones to bring in Excel videos

* tutorial excel videos in

* hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961)

* convert intrinio balance sheet values to float type

* unused import

* typo in alias dict

* Update to OpenBB Add-in for Excel (#5965)

* Log custom headers (#5966)

* add custom headers

* fix: send on startup and defaults

* pylint

* unittests

* move government-us to community in dev_install (#5963)

* fix: adds logic to check whther user is logged in on hub (#5941)

Co-authored-by: Luqman <luqazino@gmail.com>

* hotfix/fix-company-filings: Fixes too many mandatory fields. (#5909)

* Fixes too many mandatory fields.

* black

* black again

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* `equity.estimates.price_target` - Integrate with Benzinga (#5946)

* deprecation message

* fix lints

* adding equity.estimates.ratings and fmp as its provider

* unit tests for fmp

* removing unused file

* typos

* add benzinga to AnalystRatings

* revert changes to estimates router

* moving it to price target instead

* reverting changes

* fmp support for multiple ticker

* benzinga price target

* ruffy

* unused argument

* fix type hints

* tests for the new fetcher

* new integration tests

* fixing tests

* missing std arg

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [DEPRECATION] `index.market` renamed to `index.price.historical` (#5962)

* deprecate index.market and add index.price.historical

* add index.historical standard model

* add index.historical provider models

* index extension tests

* provider tests

* linting

* bug fix (#5969)

* Uppercase excel reference (#5958)

* uppercase reference

* fix name header

* add tab title

* remove reference excel folder

* add to gitignore excel reference files

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* move templates (#5970)

* Release 4.1.1. (#5964)

* update dev_install

* fix effr test

* Update dev_install.py

* fix fundamental balance test

* fix equity price historical test

* fix price target model

* black

* rebuild static files

* update publish.md

* fixed dev_install

* update publishing doc

* updated `openbb-core` to 1.1.1

* updated extensions

* updated providers

* updated `openbb` package

* updated static extension map

* updated publishing doc

* fixed toml for `openbb-finra`

* @jmaslek yfinance IS DEFAULT

* updated static

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Fix link to discord channel (#5910)

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Fixing Posthog handler for thread safety (#5968)

* fixing posthog handler for thread safety

* removing loggging init from the global scope - per sensei juan

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Update labeler.yml and labels-PR.yml (#5974)

* hotfix/ allow multiple `identify` calls (#5976)

* allow multiple `identify` calls

* Update posthog_handler.py

* regex out any invisible control character from sales_conditions field (#5977)

* docs/http-requests: Contributor Guide For Building HTTP Requests (#5973)

* contributor guide for http requests

* add a docstring

* add section on get_querystring

* extra space

* add note for people installing PyPI in a zsh terminal shell

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* feature/add-yfinance-functions: Add equity.profile for yFinance (#5978)

* equity profile for yFinance

* pylint

* equity quote

* unused imports

* remove yfinance from extras in toml (#5982)

* Release OpenBB Platform v`4.1.3` (#5983)

* fixing pyproject.toml

* adding pandas-ta to technical package for publishing

* bumping technical

* test for pyproject toml

* feature/cboe-async: Refactor Cboe for Async (#5900)

* refactor cboe for async

* codespell

* unused imports

* pylint

* more pylint

* platform metadata

* classmethod decorator

* test params

* intrinio quote

* test param names

* date in test needs to be a datetime.date not string

* make fmp unix timestamp tz-aware and normalize percent change

* different way of parsing datetime string

* recapture cboe equity historical test

* unused import

* index snapshot update

* black

* extension map

* pylint

* cboe pyproject.toml

* proposal to standardize equity_quote

* one more file

* removing changes on static assets

* index_historical

* index_historical again

* last_time -> last_timestamp

* obsolete router path

* fix tests

* test param

* restore market index deprecation that I forgot about

* fixing tests

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Fix typo in  website/README.md (#5980)

* Fix typo in  website/README.md

* Update linting.yml

* Update linting.yml

* Update linting.yml

* Change ref conditions

* Update linting.yml

---------

Co-authored-by: Luqman <luqman.bello@openbb.finance>
Co-authored-by: Luqman <luqazino@gmail.com>

* Hotfix/th etfs (#5959)

* added etf trading hours

* black formatter

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Luqman <luqazino@gmail.com>

* feature/finviz-provider: Adds Community Finviz Provider Extension (#5952)

* add finviz provider

* recapture tests

* recapture tests again?

* invalid test param

* static packages

* units_measurement -> unit_measurement

* static packages as core only

* openbb_core version bump in pyproject.toml

* try adding user-agent to test response

* fix tests

* linting

* provider model cosmetic changes

* fix install script and typo in openbb toml

* static

* fix: re-record unittests

* empty data error

* definitions as a file

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* Add support for multiple symbols on `obb.equity.price.historical` (#5984)

* av - support for multiple symbols

* tiingo - support for multiple symbols

* include symbol only if necessary

* update extension descriptions page (#5985)

* remove useless file (#5991)

* added symbol to headers (#5981)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Fixing Docs Typos (#5955)

* fixed typo

* fixed stocka typo

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* fix nasdaq test cassettes (#5989)

* don't include `custom_headers` in openapi schema (#5994)

* hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987)

* drop None rows from intrinio historical indexes

* add empty data error

* static assets

* hotfix/insider-trading: Fix #5988 (#5990)

* fix validation errors

* empty strings

* validator

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>

* CI listing quick fix (#6002)

* BIGGGG LINTING

* fixing lints

* fixing lints

* black

* very ruff

* no export

* fix hedge_view again

* lints

* platform lints

* lints

* black

* black it @hjoaquim

* fix some more linting

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Release `openbb-finviz` `1.0.0` to the public (#6000)

* set version to `1.0.0`

* Set correct dep version in main package

* Add `finviz` to table

* Auto Labelling for OpenBB Excel Docs Changes (#5998)

* Update pull request labels

* Update labeler.yml with new label for Excel files

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Support for custom examples in router commands (#5993)

* Disable auto_build on test run

* Add support for custom router examples

* Revert odd file change

* Fix API pollution

* Refactor examples with @montezdesousa

* Check if model is inside the PI

* Fix

* feat: add & fix examples (#6001)

* feat: add & fix examples

* fix: ruff + comment

* feat: read parameter pool from file

* feat: typing + unit test

* Disable auto_build on test run

* Add field order to OBBject

* Revert

* lint and revert

* fix test

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* hotfix/intrinio-options-date: Fix comparing values between str and datetime (#5997)

* fix compare between str and datetime

* unused argument

* get_weekday

* lint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Field order added to the OBBject extra as preference (#5999)

* Disable auto_build on test run

* Add field order to OBBject

* Improvements

* Remove noxfile

* Disable auto_build on test run

* Add field order to OBBject

* Revert

* lint

* Add docs

* Not sure how this happened

* lint

* Update `openbb-devtools` (#6008)

* update deps

* unpinned package versions from gh linting action

* codespell

* updated black dependency

* linting

* linting

* linting

* pin codespell version

* black

* black again

* install devtools in linting action

* format w new black (#6009)

* format w new black

* format w new black

* black again

* black the terminal

* ignoring unused arguments

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* remove reviewpad (#6010)

* Remove Ultima provider (#6012)

* Add OECD unemployment (+more) + data cache idea (#5917)

* Add OECD unemployment + data cache idea

* Docstring edits

* Tests

* Add composite leading indicator

* i truested ruff --fix too much

* Add short + long term interest rates

* pylint

* pylint2

* was not committing.  my b

* add csv cache + make it default.  remove pyarrow from poetry

* Clean up

* Didnt run on this file.  My bad

* Why was this ignored /shrug

* pylint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Feature/improved pr template (#6018)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* better pr templates

* developer template

* [Feature] - Custom deprecation (#6005)

* custom deprecation

* custom deprecation

* using the new deprecation

* custom deprecation on the package builder

* remove comment

* ruff

* black

* static assets

* tests

* using parametrization instead

* test for deprecated endpoints (#6014)

* Deprecation warning on the reference docs (#6015)

* typo/fix

* bring back methods needed for markdown generation

* add deprecation warning to docs

* contributor docs for deprecating endpoints - tks @deeleeramone

* small changes on publishing procedure per @the-praxs

* moving the deprecation summary class to deprecation file instead

* explanation on class variables

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update openbb_platform/openbb/package/index.py

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* deprecating on 4.3 instead @the-praxs

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* [BugFix] Fix package builder (#6022)

* fix: remove specific imports

* adjustments for correct deprecation

* static assets

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* [Feature] Add support for multiple tags in `historical_attributes` and `latest_attributes` (#6013)

* historical attributes standard model -
* add support multiple tags
* add `tag` field in data

* add support for multiple tags in historical attributes

* set correct return type in `callback` function

* latest attributes standard model -
* add support for multiple tags
* add `tag` field in data

* add support for multiple tags in latest attributes

* add test params for the attributes endpoints

* add support for multiple `symbol` and add `symbol` field in the data

* modified code to fetch data from multiple symbols and throw warning as per @deeleeramone

* add params for testing multiple symbols

* linting

* fix test params

* fixed condition to check if its a `Dict` type

* updated intrinio fetcher tests for the statements

* updated static

* [feature]: feature/overview-to-profile: Deprecate `equity.fundamental.overview()` and move to `equity.profile()` (#6011)

* fmp overview to equity profile

* deprecation warning

* urls

* wrangle fields

* black

* pylint unused argument

* insert additional securityID fields to standard model

* custom deprecation using OpenBBDeprecationWarning

* typo - need to have the deprecated=True flag

* static assets

* fix non related test

* minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* [BugFix] - Remove duplicate code (#6025)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* remove `SectorNews` from router and standard models (#6026)

* feature/more-yfinance: Adds some more to openbb-yfinance (#5979)

* equity profile for yFinance

* pylint

* equity quote

* unused imports

* price target consensus

* add currency field

* add share_statistics

* don't append empty result to results

* key executives

* missing definition in key_executives

* pylint

* key metrics

* add currency to key metrics

* add etf_info

* rename trailing_annual_dividend -> dividend_rate_ttm

* add institutions count to share_statistics

* add historical dividends

* add logic for start-end dates to historical_dividends

* recapture the test..?

* funny test

* filter on tests?

* record test with clean cache..?

* year_price_change -> price_return_1y in key_metrics

* black

* make descriptions clear for beta and dividend_yield fields

* add description field to standard model

* updated static

* clear description of shares_implied_outstanding field

* updated static for equity

* clean descriptions

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760)

* add commodity extension and add lbma fixing endpoint

* dev_install.py

* readme url

* renovate the standard model

* makes a query_params model for nasdaq data link

* literal not optional

* unused imports

* missing test params

* test cassette

* DataLink query param description

* test file import

* actually fix import

* from openbb_core.provider.....

* ruff

* another import statement

* black

* async router

* move query_params

* update version

* version numbers

* extension_map

* satisfy pylint?

* pylint

* Update pyproject.toml

* black

* poetry lock

* Update extension_map.json

* Update __extensions__.py

* Update module_map.json

* clean descriptions

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Improve UX for `obb.news` (#5986)

* adding date,start_date and end_date to std params

* add date to special params which should've another type

* change types to dateType

* change helper to accomadate changes in types

* date filtering

* using the date filtering for all providers

* date params on the std model instead

* adding the right type

* filtering dates on world news

* integration tests

* fix descriptions

* static assets

* black

* Revert "black"

This reverts commit 7288b59f87.

* lint

* addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing

* tests accordingly

* static assets

* black

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] - Improve Standardization - `IndexHistorical` (#6030)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* fix tests

* keep the skip

* fix test

* [Feature] - Refactor Response Model (#6024)

* Start refactor with @montezdesousa

* feat: add response model inside openapi_extra

* feat: find+replace return types

* fix: ruff

* Feature/api response by provider (#6029)

* init

* Update router.py

* Update registry_map.py

* check dicts

* lint

* exclude provider on data model for package build

* `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data`

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>

* [BugFix] - Improve Standardization - `CotSearch` (#6031)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* use cache as std field

* fix tests

* fix tests

* keep the skip

* fix test

* adding missing param

* fix tests accordingly

* Docs/byod (#5996)

* add byod to reference

* fix: rename add-in name

* feat: add data conectors page

* fix: additional notes

* tiny tweaks

* update functions.json and openapi.json

* fix: fix bug in hedge controller

* fix: another bug hedgecontroller

* black

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006)

* date -> ex_dividend_date

* nasdaq historical dividends

* black

* pylint

* intrinio alias_dict

* dividend_currency -> currency

* yfinance field name

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023)

* fix: remove specific imports

* make polygon historical tz-aware

* undo including that commit

* that PR wasn't supposed to be there.

* pylint unused argument

* fix polygon crypto historical intervals

* pylint

* new cassette

* fix the rest of the polygon historical price query params

* black

* pylint..

* integration test param

* appease daylight savings handling

* paginate for crypto currency and index

* black

* raise EmptyDataError when no results instead of returning an empty list

* ruff

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* Hotfix/wrong pydantic validator (#6037)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* Use field_validator instead

* fix openapi schema fields `to_snake` (#6036)

* Fix data connectors link typo (#6038)

* [BugFix] - Improve Standardization - `EquitySearch` (#6033)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* use cache as std field

* fix tests

* fix tests

* use_cache as std

* adjust tests

* keep the skip

* re-record test

* black

* Docs / only display results for current platform (#6017)

* Update index.js

* Update index.js

* yfinance

* tzcache no longer exists

* fixxy

* ruff

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Andrew <andrew.kenreich@gmail.com>

* Improve the docstrings (#6040)

* Improve the docstrings (#6041)

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* dont run base tests with v4 label (#6046)

* Sync excel reference (#6039)

* sync excel reference

* fix: change delimiter to comma

* feat: update data connectors

* test skipping wf

* Update unit-test.yml

* Update unit-test.yml

* test skipping wf

* watch label changes

* Update unit-test.yml

* [Enhancement] - Improve `news` router docs and examples (#6047)

* better docs

* static assets

* Feature/platform standardization notebook (#6049)

* Add platform standardization overview notebook to examples

* Add py.typed marker to openbb-fred

* [Enhancement] - Improve `currency` router docs and examples (#6045)

* currency search

* reference rates

* historical price

* static assets

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* display warnings based on preference (#6051)

* [Enhancement] - Improve `crypto` router docs and examples (#6048)

* crypto search add validation for '-'-separated pairs

* set default query value to None

* improve /crypto description with custom examples

* improve /crypto/price/historical description with custom examples

* updated static for crypto menu

* ignore line too long

* linting

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Final Implementation of Changelog V2 (#6050)

* Updated the release drafter to process the released changelog for OpenBB Platform

* Update release drafter configuration

* Add OpenBB Documentation Changes and Create Release

* Update process_changelog.py path in draft-release.yml

* Update release-drafter version and save changelog

* Copy changelog with python

* Update draft-release.yml to save Changelog

* Update draft-release.yml

* Encode and save Changelog to Base64

* Update Changelog saving method

* Update Changelog format

* Update CHANGELOG.md with release notes

* Fix draft release workflow

* Add cat command to print CHANGELOG.md

* Add platform-drafter.yml and update release-drafter.yml and draft-release.yml

* Commented out config-name in release-drafter step

* Update branch name validation and process_changelog.py

* Refactor process_changelog.py to improve readability and maintainability

* Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* improve discriminator logic, fix package return type docs (#6052)

* improve discriminator logic, fix package return type docs

* Update registry_map.py

* build package

* Update registry_map.py

* defaults

* Update registry_map.py

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Add LLM tools example notebook (#6053)

* Add LLM tools example notebook

* Update README, rename example notebook

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Remove the  preference (#6055)

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* [Feature] - Standardise multiple symbols input (#6056)

* feat: remove list of str

* fix: update cpi

* package builder + cpi

* build

* fix: update unittests

* fix: check_item

* fix: unittests

* Improve the docstrings (#6057)

* update economy router docstrings (#6058)

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Fix OECD Long Term Interest Rate (#6060)

* fix long term interest rate

* pylint unused argument

* [Bugfix] - Fix economic calendar country (#6059)

* fix economic calendar country

* lint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [HotFix] Index Router Docstrings & `sp500_multiples()` Cleanup (#6063)

* sp500 multiples cleanup

* remove dict from standard model

* static pacakge

* pylint

* [Feature] FMP Current Holdings (#6043)

* add fmp current holdings to etf holdings

* pylint unused argument

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Replace symbols in company/news (#6061)

* feat: replace symbols in /news

* fix: integration tests

* fix: integration tests api

* fix: typo

* Update test_intrinio_fetchers.py

* [Enhancement] Add function examples to router. (#6042)

* options router

* fixedincome router

* futures router

* missing comma

* static assets

* futures router

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Enhancement] Add function examples to Regulators Router (#6054)

* options router

* fixedincome router

* futures router

* missing comma

* static assets

* futures router

* sec router

* cftc router

* black

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Fix World News (#6064)

* fix fmp

* fix intrinio

* fix biztoc

* actually commit intrinio fix

* fix tiingo

* unused import

* fix tests

* black

* ruff

* benzinga empty strings

* codespell

* fix test?

* more empty strings

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - remove unused validators from standard models (#6067)

* update standard models

* lint

* Update USD Liquidity Example Notebook for V4 (#5902)

* Update USD Liquidity Example Notebook for V4

* delete some v3 text in the copperToGold

* Update README.md

* findSymbols preview image

* Google Colab preview image

* financialStatements preview

* content tsx file

* ### title

* convert tsx to json

* indent size

* double quote keys.json

* trailing commas

* Update content.json

* patch

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Fix QA Examples (#6072)

* [Feature] - Ensure Bugfix branches can only do PRs to `develop` branches (#6073)

* bugfix branch name checks and few fixes on the linting not to run on pushes to branches outside PRs

* Update branch naming guidelines link

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Feature/charting obbject (#5938)

* fix circular import issues on the obbject extension framework

* settings available on the obbject

* extension init

* charting assets and code

* introduce to_chart functionality

* removes the to_chart method from obbject in detriment of the one from the obbject extension

* Update openbb_platform/obbject_extensions/charting/charting/__init__.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* fix on the show method

* adding the example to the to_chart docstring

* copying the exsting README from charting extension - needs to be revamped

* moving to openbb_charting instead

* update the pyproject.toml file

* pydocstyle

* versions

* better docstrings

* making accessors public

* removing unnecessary credentials variable cc @montezdesousa

* removing access to extra/metadata and use designated private attrs instead

* Fixes linting for the logging service (#5992)

* lints

* typing.Type instead

* deprecating ChartingService to use the new extension instead - adding function discovery capabilities using it

* tests for the obbject charting extension

* removing charting service from command runner

* filter functions not implemented in the module

* remove charting service tests

* removing charting service on the tests for int tests

* charting integration tests

* removing charting service file

* removing old charting extension code

* revamp builder

* fix obbject tests

* fix command_runner tests

* removing openbb_figure_table

* better website docs

* reviewed readme

* unsetting api key for posthog (pywry) windows

* added debug_mode to the system settings

* removing api key

* update nightly script

* fix tests

* black

* black

* Revert "black"

This reverts commit 21d76ad689.

* Revert "black"

This reverts commit 0904653fd7.

* black for henrique

* returning a list instead

* better docstrings

* removing unnecessary indicators docstring

* typo

* black

* intentional access to protected member

* changes to publish script

* filtering deleted files

* black

* adding render argument

* fixing the df_to_basemodel function: it should include the index in the columns either if flagged or if the index is named

* adding the hability to add you own data to to_chart method

* tests

* black

* disable protected access

* accept kwargs to eg. save image

* adjustment cc Igor

* add if statement for protection

* remove unused return typing

* fix technical charting views

* better error message cc @IgorWounds

* better structure and fix test

* Revert "better structure and fix test"

This reverts commit 612ea6117c.

* Revert "better error message cc @IgorWounds"

This reverts commit 3d7ee53878.

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Fix CAPM example (#6075)

* Start removing dead v3 commands for deprecation (#6070)

* Yeet tokenterminal

* Yeet crypto/onchain/hr and gwei

* yeet luna

* yeet coinglass

* yeet dps/ctb

* yeet reddit

* yeet covid

* actually not yeeting

hide yfinance future warning

* yeet options/hedge

* not yeeting.  i18n words

* something happened on accident

* still fixing

* git reset/git checkout -f 2516cfbc72 website/content

* still not sure whats going on

* Edit workflow to not look at deleted files + change bootup message

* Dont pin the workflow to my branch always lol

* Remove askobb

* [Feature]  - Comma separated string and list inputs (#6062)

* feat: balancesheet

* feat: income statement

* fix: cash flow statement

* feat: financial ratios

* feat: reported financials

* feat: revenue business line

* feat: revenue per geography

* fix: warnings

* Update balance_sheet.py

* fix: remove warning imports

* feat: balance sheet growth

* feat: calendar ipo

* feat: cashflow growth

* feat: __validators__

* fix: typing

* fix: validator msg

* feat: trailing dividend_yield

* feat: short volume

* feat: share statistics

* feat: price target + consensus

* fix: update validator

* feat: historical dividends

* feat: key executives

* fix: getattr directly

* fix: type hint validator

* fix: add default to getattr

* typo

* feat: otc

* feat: options chains

* fix: remove list validators

* feat: add validator dict to fetchers

* lint

* update standard models

* lint

* feat: rename validator

* fix: ownership

* feat: query params description

* fix: balance yfinance

* key execs, income statement

* remove change

* fix: revenue geographic

* fix: disable pylint

* fix: unusual + balance

* unit test validator

* minor fix

* explicit validators

* update test

* feat: multiple items allowed

* rebuild

* move check_single_value

* crypto historical

* order providers

* fix typing

* rename extra dict

* marking multiple items allowed

* Revert "marking multiple items allowed"

This reverts commit 7da04817e1.

* error msg

* fix: default provider runtime vs configuration

* minor fix

* docstring

* revert default changes

* get provider before executing cmd

* fix container bug

* clean filter

* add comment

* prevent bad defaults

* update docstring

* typing

* fix

* black

* fix docstring generation

* [Feature] - Mark multiple item fetchers (#6074)

* feat: price target

* bezinga company news

* equity quote

* marking multiple items allowed

* more multiple items

* black

* rebuild

* another batch

* rebuild

* another

* cpi

* move prop

* rebuild

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* rename var

* update msg

* rename func

* fix test

* mypy

* ruff

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* [Feature] Add Regional Data Endpoint from FRED (#6071)

* add regional data endpoint from FRED

* codespell

* ruff

* sort imports

* add provder='fred' to integration test

* thought I already sorted those imports..

* pylint..

* more test params....

* even more test params...

* even more test params....

* static assets

* reconfigure params

* ruff

* alias dict

* recapture cassette

* router doctstring

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] - Fix most integration tests (#6082)

* Fix most integration tests

* Lint

* Fix price_target column for Benzinga (#6083)

* Release/4.1.4 (#6081)

* static assets

* patch version increase

* core update

* bumping versions

* bump finviz version

* bump versions

* bump versions on package.extension

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Add dates to /quantitative as needed. (#6078)

* Add dates to /quantitative as needed.

Run new black

* Fix tests

* Pycharm is weird sometimes

* uncommit

* Add default window + error handling + mistake

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] Add end point: `etf.equity_exposure()` with FMP provider (#6079)

* add etf.equity_exposure from FMP

* empty data error

* recapture cassette

* pylint unused argument

* Fix router example typo

* fix test...?

* static file to fix test?

* fix test..?

* __json_schema_extra__

* black

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [BugFix] Fix Equity Integration Tests (#6086)

* fix equity integration tests

* black

* pylint

* black

* black

* move df_apply to helpers

* unused import

* remove file that shouldn't have been added

* oops. didn't remove a couple lines

* [Enhancement] Add `analyst_search` to the Equity/Estimates Router (#6088)

* standardize price_target

* add analyst search

* black

* more black

* ruff

* linter, test parmas

* last missing param

* get rid of convert to upper

* ruff

* pylint

* [BugFix] - Fix POST docstring examples (#6095)

* Fix POST docstring examples.

* Move router examples to command decorator

* [BugFix] Fix `treasury_rates()` (#6092)

* fix treasury_rates

* drop rows with no data

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* clean up the remains from my yeeting (#6089)

* clean up the remains from my yeeting

* was not careful

* Add ETF examples (#6102)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* [BugFix] Fix integration tests (#6100)

* fix int tests

* fix obbject int tests

* fix quant tests

* fix index tests

* use python 3.10 instead

* remove cache

* end_date < start_date

* [Enhancement]: Add TMX data provider extension. (#5913)

* dev install

* add TMX provider extension

* normalize ytm and coupopn_rate values

* black

* codespell

* ruff

* black again

* pylint

* ftw

* undo what Pylint thinks is best

* more black

* renovate insider_trading standard model

* fix tests

* typo

* tests

* empty string

* pylint unused argument

* nans for some reason

* black

* static files

* static files with openbb-tmx installed this time

* yfinance TypeError..?

* NA -> N/A

* update for version bump

* list exchange-calendars as tmx dependency

* eod chains date -> eod_date

* new line

* not that file

* more black

* one more black

* fix weird merge thing

* ruff

* index constituents params

* insider trading

* fixing things

* black

* black AGAIN

* news integration params

* the other missing param

* ruff

* historical dividends field update

* add json_schema_extra

* gainers

* symbols -> symbol

* company news symbol

* unit test param

* review items

* wrangle a rogue field

* index router example

* company news thing - symbols -> symbol

* field name map

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [Feature] - OBB.GET (#6097)

* create OBB.GET and data slicer page

* remove quotes

* format description

* wording

* functions.json

* sidebar position

* remove if stamente

* [Docs] Remove Reference to `to_chart` in OBBject. (#6096)

* remove reference to to_chart in OBBject.

* put chart description back in OBBject properties

* [Feature] - Create openbb assets folder (#6101)

* create openbb assets folder

* fix unittest

* rebuild

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099)

* allow mixed utc offset in a tz-aware date column

* enforce ascending from all providers for price.historical

* fix tests

* add comments and apply treatment to basemodel_from_df before JSON output

* yfinance consistency

* add unit test

* add unit test

* better test

* ruff

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Update the quantitative extension to make more sense (#6087)

* Split out a rolling submenu for the rolling functions

* Make a performance and a stats submenu.

* Test the statistics functions

* lint

* lint

* dupe test

* pylint

* ruff

* Try tests quick

* black magic signature funcs

* fix my custom tests

* Fix the existing imports/urls

* push the api update

* okay I figured out whats going on

* this should be all  of them

* Correct docstringing examples

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* [BugFix] Fix ECB Yield Curve (#6108)

* fix ecb yield curve

* standard model update

* Update unit-test workflow to check for changes to openbb_platform (#6109)

* [Bug fix] - Fix package mypy (#6110)

* fix: package mypy

* types

* black

* [Feature] - Equity router descriptions & examples (#6103)

* feat: equity/calendar

* feat: compare router

* fix descriptions

* darkpool + discovery

* fix paragraph issues

* fix descriptions

* fundamental part 1

* fundamental part2

* transcipts

* ownership

* fix

* price

* shorts

* Update darkpool_router.py

* minor fix

* shorts examples

* examples

* ruff

* black

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Add `exception_handler` decorator to static (#611…

* Update deploy to gh pages condition

* Update CONTRIBUTING.md

* Allow `hotfix`  branch to be merged with `develop` branch

* Update branch name check to allow docs branch merge to main

* Release/3.2.5 (#6214)

* Fix bug. Add router test. (#5888)

* Fix bug. Add router test.

* Simplify

* separate pylint between platform + terminal (#5892)

* separate pylint b/w platform + terminal

* Explicitly set pylint check scope to files in the diff

---------

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>

* sync descriptions (#5893)

* Add REST API docs page with advanced settings configuration (#5890)

* Don't mention docker in a list of python envs

* Create a REST API page

* Update docs to get api keys from the hub

* Update installation instructions

* Mention requirement of poetry and toml in source installation section

* move rest page up to the top. and add url to google colab example notebook

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* fix a v3 syntax example (#5891)

* Adds federal reserve data points (#5885)

* Allow optional input for 2-month treasury rates and add FederalReserve rates model

The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher.

* Add Money Measures models and commands

This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data.

* Add Federal Reserve Money Measures test file

This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server.

* Cleanup

* Sneaky unformatted integration tests

* its a dawg life for me ...... ruff

* add the fed funds rate

* didnt mean to commmit this

* black

* this is why we should pre commit kids

* change install name

* add providers to int tests

* review comments + commit static

* replace nan with None

* fix float on None

* get rid of nans for nulls for json handling

* change `_` to `-` in readme pip install.

* Update __init__.py docstring

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>

* Check if outdated (#5898)

* Add econometrics API tests (#5899)

* Docs/excel update (#5889)

* update xl docs

* update syntax line

* update again

* Fix pylint scope (#5895)

* Allow optional input for 2-month treasury rates and add FederalReserve rates model

The commit includes two main changes. One being the modification to the standard treasury rate models, where the 2-month input field is now optional, and a default value is set to none. The other main change is the addition of a new module for the FederalReserve treasury rates model, which includes query parameters, a data model, and a data fetcher.

* Add Money Measures models and commands

This commit introduces new Money Measures models to handle money-related data, defines Money Measures commands in the economy router, and implements the Federal Reserve Money Measures model. The core model includes fields like start_date, end_date, and various components of the money supply. The new command added to the economy router allows the querying of these data.

* Add Federal Reserve Money Measures test file

This commit adds a test case file for the Federal Reserve Money Measures fetcher in the Federal Reserve module. The test case includes simulating a GET request and the corresponding expected response from the server.

* Cleanup

* Sneaky unformatted integration tests

* its a dawg life for me ...... ruff

* add the fed funds rate

* didnt mean to commmit this

* black

* this is why we should pre commit kids

* change install name

* add providers to int tests

* review comments + commit static

* replace nan with None

* fix float on None

* get rid of nans for nulls for json handling

* change `_` to `-` in readme pip install.

* Update __init__.py docstring

* Debug pylint

* Adjust the fetch depth

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* fix `from openbb import obb` asyncio lock in python REPL (#5896)

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* feature/financials - PR for working on structure of financial statements. (#5794)

* balance sheet draft

* balance_sheet draft

* cash_flow draft

* income_statement draft

* intrinio financials

* description

* period field

* ruff

* income statement

* field

* label - gross profit ratio

* cash flow statement

* investing order

* add option for caching to cashflow

* add caching to balance and income

* typos and update order for financial institutions

* replace 0 values with None

* add financial ratios from intrinio

* black

* missing test params

* balance cassette

* query param description

* symbol list warning

* black

* handle BRK-A and symbols with a dash for Intrinio

* fix typo error

* add free cash flow to bottom of cash flow statement

* amortization_expense

* dev_install.py

* undo dev_install.. wrong branch

* cash flow order things

* standardized cash flow

* fields

* integration tests

* cash flow model validator

* more polygon cash

* black

* black

* Delete openbb_sdk/providers/polygon/openbb_polygon/utils/definitions.py

wrong file

* balance sheet

* some cleanup

* ruff

* income statement

* black

* test params

* financial ratios async update

* recapture fmp and polygon tests

* yFinance financials

* yfinance tests

* delete financial_statements standard model

* intrinio balance sheet order

* fiscal year standard param

* remove file accidentally committed

* add reported_financials end point

* fiscal_year param for reported_financials

* fix url

* fmp test cassette

* add safe-guard with warning for fiscal year before 2008

* periods can only be annual and quarter

* url in docstring correction

* add fiscal_year param to intrinio standardized financials and ratios

* fix fmp ratios

* black

* rename fields as per Minh

* rogue field

* black

* Fix typo in a docstring

* Resolve linting errors

* type ignore

* disable=unused-argument

* changing the arg name cc @minhhoang1023

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* docs/legacy-install: Add warning at top of page - Instructions on this page are for installing the Terminal (#5904)

* add warning at top of page - instructions are for installing the Terminal app

* pip install openbb-nightly

* hotfix/financials-field-maps: Updates A Couple FMP/Polygon Income Statement Fields (#5907)

* update income statement fields

* another polygon field

* ratio -> margin

* black

* explicit fmp fields

* add reported_currency for standardized intrinio

* # pylint: disable=unused-argument

* another unused-argument

* black..

* patch tests

* polygon income: eps -> basic earnings per share

* re-capture terminal portfolio menu test

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Fix test (#5916)

* Fix test

* Skip ultima integration tests

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* hotfix/fmp-price-performance-zeros: Replace returned zero with None and normalize percent values. (#5918)

* replace zeros with none and normalize percents

* pylint unused argument

* Update index.md (#5906)

* Release/4.1.0 (#5901)

* Hotfix/terminal tests (#5919)

* skip supressed arguments

* silent way of customly load on quote

* specify source for call_load

* docs/platform-faq: Start Platform FAQ page with bullet points on Platform vs SDK (#5914)

* platform vs sdk faq page

* add data and data providers faq section and some style cards

* typo

* makes changes as per reviews

* openbb-nightly as a way to install everything

* jupyter-lab instead of jupyter

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* hotfix/backend - Initialize OpenBBFigure (#5912)

* create backend

* openbb_figure

* black

* pylint

* pylint again

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* hotfix/yf-futures-historical: yfinance historical futures multi-ticker support and symbol parsing (#5923)

* multi-ticker support for yfinance futures historical

* raise-missing-from

* integration test params

* equity_historical adjusted kwargs

* pylint unused argument

* Docs/excel examples (#5920)

* regen excel md

* add syntax + basic example

* fix example

* create json with docs map

* update docs to latest functions.json + remove tiingo

* remove space from examples

* minor fix

* remove spaces

* remove spaces

* bug fix: remove folder before generating

* fix typo

* add link to appsource

* fix

* Update templates.md

* regenerate content

* change docs colors

* fix light mode

* add back tiingo

* update functions.json

* templates go later

* remove Library from reference

* Make the excel markdown being generated at runtime

* fix reference cards having commands under menu

* remove excel/reference folder since this is built at runtime by gh-pages action

* black formatting

* improve title

* add excel to the main page

* add excel image bg

* make excel sidebar show up next to pro

* improve main page

* small fix for platform page title

* update basics page

* add tip to autocomplete

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* Re-record tests and fix symbol bug (#5924)

* Re-record tests and fix symbol bug

* nordvpn us ftw

* @IgorWounds says "SPY >> IOO"

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Docs/bug fix (#5926)

* fix pro link

* fix wrong example

* Introduces a limit argument for the `equity.fundamental.trailing_dividend_yield` endpoint (#5925)

* introduces a limit argument for the equity.fundamental.trailing_dividend_yield endpoint

* add default args to test

* Add json_schema_extra to openapi.json (#5930)

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* feature/standardize-quote: Proposal to Standardize EquityQuote (#5922)

* standardize EquityQuote

* intrinio reference

* rogue comma

* pylint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* hotfix/fmp-rev-segments: Adds Fiscal Period to busines/geographic segments revenue. (#5921)

* add fiscal_period to revenue by geography and business line

* data description and unused imports

* update test cassette

* Allow multiple symbols `equity.profile` (#5929)

* allow multiple symbols

* pylint

* pylint ignore position

* change callback to helper func

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Add filtering to AV historical price (#5928)

* add filtering to av historical price

* lints

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Fix vwap FMP error (#5936)

* Fix vwap FMP error

* Linting

* Painlint

* Add date filter + symbols to comp (#5931)

* add date filter + symbols to comp

* make sure year is in d

* tests fix

* Improving Platform's import time (#5894)

* missing decorator

* missing optional statements

* us-gov to optional and right position

* removing redundant call

* lazy load mappings

* docstrings

* introducing the extension loader class

* misleading docstring

* using the extension loader on the router

* using the extension loader on the credentials

* docstrings

* lazy load of entry points

* checkout dev_install

* using the extension loader to get the entry points instead of recalling the function

* improved auth service and charting service

* using the extension loader on the registry

* typos

* adding properties to extension loader for easy access

* using the extension loader on the package builder

* avoiding circular imports by using forward references

* fix charting service tests

* test for the extension loader

* Update openbb_platform/core/openbb_core/app/model/credentials.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* Update openbb_platform/core/openbb_core/app/router.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* Update openbb_platform/core/openbb_core/provider/registry.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* adjustments

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* Disable auto_build on test run (#5937)

* Disable auto_build on test run

* Move to conftest

* Update excel docs (#5940)

* update basics

* update reference generator

* Categorize release notes based on labels for OpenBB Platform (#5943)

* Categorize release notes based on labels for OpenBB Platform

* Add environment variable for GitHub token in labels-PR.yml

* Update labeler.yml to use "enhancement" label for feature branches

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Custom deprecation message in API endpoints and Python commands (#5942)

* add custom deprecation message feature in routers

* add custom deprecation message feature in package builder

* using an actual DeprecationWarning instead

* fix tests

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Hotfix/remove unused workflow (#5945)

* Disable auto_build on test run

* Remove unused workflow

* Revert

* Hotfix/fix typo (#5948)

* Disable auto_build on test run

* Fix typo

* Revert

* docs/data-models-url: Fix URLs on Development Page (#5944)

* fix url to the standard models

* github links

* `equity.fundamental.dividends`: allow filter by date (#5932)

* allow filter by date

* ruff

* pylint

* fix tests

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Create Excel templates page (#5947)

* create templates page

* Update index.mdx

* fix description

* update card

* remove clsx

* Update index.mdx

* Update index.mdx

* Update index.mdx

* Update index.mdx

* min height

* min height

* improve excel docs and point towards hub

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951)

* fix limit param

* pylint unused argument, recapture test cassette

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Docs/remove core refs (#5957)

* remove references to core: PathHandler + ProviderInterface

* remove unused function

* add comment

* regenerate

* fix a few examples

* add comment

* rename file

* Excel tutorials on the docs (#5956)

* update workflows name to tutorial

* update title

* get barebones to bring in Excel videos

* tutorial excel videos in

* hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961)

* convert intrinio balance sheet values to float type

* unused import

* typo in alias dict

* Update to OpenBB Add-in for Excel (#5965)

* Log custom headers (#5966)

* add custom headers

* fix: send on startup and defaults

* pylint

* unittests

* move government-us to community in dev_install (#5963)

* fix: adds logic to check whther user is logged in on hub (#5941)

Co-authored-by: Luqman <luqazino@gmail.com>

* hotfix/fix-company-filings: Fixes too many mandatory fields. (#5909)

* Fixes too many mandatory fields.

* black

* black again

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* `equity.estimates.price_target` - Integrate with Benzinga (#5946)

* deprecation message

* fix lints

* adding equity.estimates.ratings and fmp as its provider

* unit tests for fmp

* removing unused file

* typos

* add benzinga to AnalystRatings

* revert changes to estimates router

* moving it to price target instead

* reverting changes

* fmp support for multiple ticker

* benzinga price target

* ruffy

* unused argument

* fix type hints

* tests for the new fetcher

* new integration tests

* fixing tests

* missing std arg

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [DEPRECATION] `index.market` renamed to `index.price.historical` (#5962)

* deprecate index.market and add index.price.historical

* add index.historical standard model

* add index.historical provider models

* index extension tests

* provider tests

* linting

* bug fix (#5969)

* Uppercase excel reference (#5958)

* uppercase reference

* fix name header

* add tab title

* remove reference excel folder

* add to gitignore excel reference files

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* move templates (#5970)

* Release 4.1.1. (#5964)

* update dev_install

* fix effr test

* Update dev_install.py

* fix fundamental balance test

* fix equity price historical test

* fix price target model

* black

* rebuild static files

* update publish.md

* fixed dev_install

* update publishing doc

* updated `openbb-core` to 1.1.1

* updated extensions

* updated providers

* updated `openbb` package

* updated static extension map

* updated publishing doc

* fixed toml for `openbb-finra`

* @jmaslek yfinance IS DEFAULT

* updated static

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Fix link to discord channel (#5910)

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Fixing Posthog handler for thread safety (#5968)

* fixing posthog handler for thread safety

* removing loggging init from the global scope - per sensei juan

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Update labeler.yml and labels-PR.yml (#5974)

* hotfix/ allow multiple `identify` calls (#5976)

* allow multiple `identify` calls

* Update posthog_handler.py

* regex out any invisible control character from sales_conditions field (#5977)

* docs/http-requests: Contributor Guide For Building HTTP Requests (#5973)

* contributor guide for http requests

* add a docstring

* add section on get_querystring

* extra space

* add note for people installing PyPI in a zsh terminal shell

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* feature/add-yfinance-functions: Add equity.profile for yFinance (#5978)

* equity profile for yFinance

* pylint

* equity quote

* unused imports

* remove yfinance from extras in toml (#5982)

* Release OpenBB Platform v`4.1.3` (#5983)

* fixing pyproject.toml

* adding pandas-ta to technical package for publishing

* bumping technical

* test for pyproject toml

* feature/cboe-async: Refactor Cboe for Async (#5900)

* refactor cboe for async

* codespell

* unused imports

* pylint

* more pylint

* platform metadata

* classmethod decorator

* test params

* intrinio quote

* test param names

* date in test needs to be a datetime.date not string

* make fmp unix timestamp tz-aware and normalize percent change

* different way of parsing datetime string

* recapture cboe equity historical test

* unused import

* index snapshot update

* black

* extension map

* pylint

* cboe pyproject.toml

* proposal to standardize equity_quote

* one more file

* removing changes on static assets

* index_historical

* index_historical again

* last_time -> last_timestamp

* obsolete router path

* fix tests

* test param

* restore market index deprecation that I forgot about

* fixing tests

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Fix typo in  website/README.md (#5980)

* Fix typo in  website/README.md

* Update linting.yml

* Update linting.yml

* Update linting.yml

* Change ref conditions

* Update linting.yml

---------

Co-authored-by: Luqman <luqman.bello@openbb.finance>
Co-authored-by: Luqman <luqazino@gmail.com>

* Hotfix/th etfs (#5959)

* added etf trading hours

* black formatter

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Luqman <luqazino@gmail.com>

* feature/finviz-provider: Adds Community Finviz Provider Extension (#5952)

* add finviz provider

* recapture tests

* recapture tests again?

* invalid test param

* static packages

* units_measurement -> unit_measurement

* static packages as core only

* openbb_core version bump in pyproject.toml

* try adding user-agent to test response

* fix tests

* linting

* provider model cosmetic changes

* fix install script and typo in openbb toml

* static

* fix: re-record unittests

* empty data error

* definitions as a file

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* Add support for multiple symbols on `obb.equity.price.historical` (#5984)

* av - support for multiple symbols

* tiingo - support for multiple symbols

* include symbol only if necessary

* update extension descriptions page (#5985)

* remove useless file (#5991)

* added symbol to headers (#5981)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Fixing Docs Typos (#5955)

* fixed typo

* fixed stocka typo

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* fix nasdaq test cassettes (#5989)

* don't include `custom_headers` in openapi schema (#5994)

* hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987)

* drop None rows from intrinio historical indexes

* add empty data error

* static assets

* hotfix/insider-trading: Fix #5988 (#5990)

* fix validation errors

* empty strings

* validator

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>

* CI listing quick fix (#6002)

* BIGGGG LINTING

* fixing lints

* fixing lints

* black

* very ruff

* no export

* fix hedge_view again

* lints

* platform lints

* lints

* black

* black it @hjoaquim

* fix some more linting

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Release `openbb-finviz` `1.0.0` to the public (#6000)

* set version to `1.0.0`

* Set correct dep version in main package

* Add `finviz` to table

* Auto Labelling for OpenBB Excel Docs Changes (#5998)

* Update pull request labels

* Update labeler.yml with new label for Excel files

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Support for custom examples in router commands (#5993)

* Disable auto_build on test run

* Add support for custom router examples

* Revert odd file change

* Fix API pollution

* Refactor examples with @montezdesousa

* Check if model is inside the PI

* Fix

* feat: add & fix examples (#6001)

* feat: add & fix examples

* fix: ruff + comment

* feat: read parameter pool from file

* feat: typing + unit test

* Disable auto_build on test run

* Add field order to OBBject

* Revert

* lint and revert

* fix test

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* hotfix/intrinio-options-date: Fix comparing values between str and datetime (#5997)

* fix compare between str and datetime

* unused argument

* get_weekday

* lint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Field order added to the OBBject extra as preference (#5999)

* Disable auto_build on test run

* Add field order to OBBject

* Improvements

* Remove noxfile

* Disable auto_build on test run

* Add field order to OBBject

* Revert

* lint

* Add docs

* Not sure how this happened

* lint

* Update `openbb-devtools` (#6008)

* update deps

* unpinned package versions from gh linting action

* codespell

* updated black dependency

* linting

* linting

* linting

* pin codespell version

* black

* black again

* install devtools in linting action

* format w new black (#6009)

* format w new black

* format w new black

* black again

* black the terminal

* ignoring unused arguments

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* remove reviewpad (#6010)

* Remove Ultima provider (#6012)

* Add OECD unemployment (+more) + data cache idea (#5917)

* Add OECD unemployment + data cache idea

* Docstring edits

* Tests

* Add composite leading indicator

* i truested ruff --fix too much

* Add short + long term interest rates

* pylint

* pylint2

* was not committing.  my b

* add csv cache + make it default.  remove pyarrow from poetry

* Clean up

* Didnt run on this file.  My bad

* Why was this ignored /shrug

* pylint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Feature/improved pr template (#6018)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* better pr templates

* developer template

* [Feature] - Custom deprecation (#6005)

* custom deprecation

* custom deprecation

* using the new deprecation

* custom deprecation on the package builder

* remove comment

* ruff

* black

* static assets

* tests

* using parametrization instead

* test for deprecated endpoints (#6014)

* Deprecation warning on the reference docs (#6015)

* typo/fix

* bring back methods needed for markdown generation

* add deprecation warning to docs

* contributor docs for deprecating endpoints - tks @deeleeramone

* small changes on publishing procedure per @the-praxs

* moving the deprecation summary class to deprecation file instead

* explanation on class variables

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update openbb_platform/openbb/package/index.py

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* deprecating on 4.3 instead @the-praxs

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* [BugFix] Fix package builder (#6022)

* fix: remove specific imports

* adjustments for correct deprecation

* static assets

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* [Feature] Add support for multiple tags in `historical_attributes` and `latest_attributes` (#6013)

* historical attributes standard model -
* add support multiple tags
* add `tag` field in data

* add support for multiple tags in historical attributes

* set correct return type in `callback` function

* latest attributes standard model -
* add support for multiple tags
* add `tag` field in data

* add support for multiple tags in latest attributes

* add test params for the attributes endpoints

* add support for multiple `symbol` and add `symbol` field in the data

* modified code to fetch data from multiple symbols and throw warning as per @deeleeramone

* add params for testing multiple symbols

* linting

* fix test params

* fixed condition to check if its a `Dict` type

* updated intrinio fetcher tests for the statements

* updated static

* [feature]: feature/overview-to-profile: Deprecate `equity.fundamental.overview()` and move to `equity.profile()` (#6011)

* fmp overview to equity profile

* deprecation warning

* urls

* wrangle fields

* black

* pylint unused argument

* insert additional securityID fields to standard model

* custom deprecation using OpenBBDeprecationWarning

* typo - need to have the deprecated=True flag

* static assets

* fix non related test

* minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* [BugFix] - Remove duplicate code (#6025)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* remove `SectorNews` from router and standard models (#6026)

* feature/more-yfinance: Adds some more to openbb-yfinance (#5979)

* equity profile for yFinance

* pylint

* equity quote

* unused imports

* price target consensus

* add currency field

* add share_statistics

* don't append empty result to results

* key executives

* missing definition in key_executives

* pylint

* key metrics

* add currency to key metrics

* add etf_info

* rename trailing_annual_dividend -> dividend_rate_ttm

* add institutions count to share_statistics

* add historical dividends

* add logic for start-end dates to historical_dividends

* recapture the test..?

* funny test

* filter on tests?

* record test with clean cache..?

* year_price_change -> price_return_1y in key_metrics

* black

* make descriptions clear for beta and dividend_yield fields

* add description field to standard model

* updated static

* clear description of shares_implied_outstanding field

* updated static for equity

* clean descriptions

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760)

* add commodity extension and add lbma fixing endpoint

* dev_install.py

* readme url

* renovate the standard model

* makes a query_params model for nasdaq data link

* literal not optional

* unused imports

* missing test params

* test cassette

* DataLink query param description

* test file import

* actually fix import

* from openbb_core.provider.....

* ruff

* another import statement

* black

* async router

* move query_params

* update version

* version numbers

* extension_map

* satisfy pylint?

* pylint

* Update pyproject.toml

* black

* poetry lock

* Update extension_map.json

* Update __extensions__.py

* Update module_map.json

* clean descriptions

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Improve UX for `obb.news` (#5986)

* adding date,start_date and end_date to std params

* add date to special params which should've another type

* change types to dateType

* change helper to accomadate changes in types

* date filtering

* using the date filtering for all providers

* date params on the std model instead

* adding the right type

* filtering dates on world news

* integration tests

* fix descriptions

* static assets

* black

* Revert "black"

This reverts commit 7288b59f87.

* lint

* addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing

* tests accordingly

* static assets

* black

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] - Improve Standardization - `IndexHistorical` (#6030)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* fix tests

* keep the skip

* fix test

* [Feature] - Refactor Response Model (#6024)

* Start refactor with @montezdesousa

* feat: add response model inside openapi_extra

* feat: find+replace return types

* fix: ruff

* Feature/api response by provider (#6029)

* init

* Update router.py

* Update registry_map.py

* check dicts

* lint

* exclude provider on data model for package build

* `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data`

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>

* [BugFix] - Improve Standardization - `CotSearch` (#6031)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* use cache as std field

* fix tests

* fix tests

* keep the skip

* fix test

* adding missing param

* fix tests accordingly

* Docs/byod (#5996)

* add byod to reference

* fix: rename add-in name

* feat: add data conectors page

* fix: additional notes

* tiny tweaks

* update functions.json and openapi.json

* fix: fix bug in hedge controller

* fix: another bug hedgecontroller

* black

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006)

* date -> ex_dividend_date

* nasdaq historical dividends

* black

* pylint

* intrinio alias_dict

* dividend_currency -> currency

* yfinance field name

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023)

* fix: remove specific imports

* make polygon historical tz-aware

* undo including that commit

* that PR wasn't supposed to be there.

* pylint unused argument

* fix polygon crypto historical intervals

* pylint

* new cassette

* fix the rest of the polygon historical price query params

* black

* pylint..

* integration test param

* appease daylight savings handling

* paginate for crypto currency and index

* black

* raise EmptyDataError when no results instead of returning an empty list

* ruff

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* Hotfix/wrong pydantic validator (#6037)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* Use field_validator instead

* fix openapi schema fields `to_snake` (#6036)

* Fix data connectors link typo (#6038)

* [BugFix] - Improve Standardization - `EquitySearch` (#6033)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* use cache as std field

* fix tests

* fix tests

* use_cache as std

* adjust tests

* keep the skip

* re-record test

* black

* Docs / only display results for current platform (#6017)

* Update index.js

* Update index.js

* yfinance

* tzcache no longer exists

* fixxy

* ruff

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Andrew <andrew.kenreich@gmail.com>

* Improve the docstrings (#6040)

* Improve the docstrings (#6041)

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* dont run base tests with v4 label (#6046)

* Sync excel reference (#6039)

* sync excel reference

* fix: change delimiter to comma

* feat: update data connectors

* test skipping wf

* Update unit-test.yml

* Update unit-test.yml

* test skipping wf

* watch label changes

* Update unit-test.yml

* [Enhancement] - Improve `news` router docs and examples (#6047)

* better docs

* static assets

* Feature/platform standardization notebook (#6049)

* Add platform standardization overview notebook to examples

* Add py.typed marker to openbb-fred

* [Enhancement] - Improve `currency` router docs and examples (#6045)

* currency search

* reference rates

* historical price

* static assets

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* display warnings based on preference (#6051)

* [Enhancement] - Improve `crypto` router docs and examples (#6048)

* crypto search add validation for '-'-separated pairs

* set default query value to None

* improve /crypto description with custom examples

* improve /crypto/price/historical description with custom examples

* updated static for crypto menu

* ignore line too long

* linting

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Final Implementation of Changelog V2 (#6050)

* Updated the release drafter to process the released changelog for OpenBB Platform

* Update release drafter configuration

* Add OpenBB Documentation Changes and Create Release

* Update process_changelog.py path in draft-release.yml

* Update release-drafter version and save changelog

* Copy changelog with python

* Update draft-release.yml to save Changelog

* Update draft-release.yml

* Encode and save Changelog to Base64

* Update Changelog saving method

* Update Changelog format

* Update CHANGELOG.md with release notes

* Fix draft release workflow

* Add cat command to print CHANGELOG.md

* Add platform-drafter.yml and update release-drafter.yml and draft-release.yml

* Commented out config-name in release-drafter step

* Update branch name validation and process_changelog.py

* Refactor process_changelog.py to improve readability and maintainability

* Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* improve discriminator logic, fix package return type docs (#6052)

* improve discriminator logic, fix package return type docs

* Update registry_map.py

* build package

* Update registry_map.py

* defaults

* Update registry_map.py

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Add LLM tools example notebook (#6053)

* Add LLM tools example notebook

* Update README, rename example notebook

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Remove the  preference (#6055)

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* [Feature] - Standardise multiple symbols input (#6056)

* feat: remove list of str

* fix: update cpi

* package builder + cpi

* build

* fix: update unittests

* fix: check_item

* fix: unittests

* Improve the docstrings (#6057)

* update economy router docstrings (#6058)

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Fix OECD Long Term Interest Rate (#6060)

* fix long term interest rate

* pylint unused argument

* [Bugfix] - Fix economic calendar country (#6059)

* fix economic calendar country

* lint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [HotFix] Index Router Docstrings & `sp500_multiples()` Cleanup (#6063)

* sp500 multiples cleanup

* remove dict from standard model

* static pacakge

* pylint

* [Feature] FMP Current Holdings (#6043)

* add fmp current holdings to etf holdings

* pylint unused argument

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Replace symbols in company/news (#6061)

* feat: replace symbols in /news

* fix: integration tests

* fix: integration tests api

* fix: typo

* Update test_intrinio_fetchers.py

* [Enhancement] Add function examples to router. (#6042)

* options router

* fixedincome router

* futures router

* missing comma

* static assets

* futures router

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Enhancement] Add function examples to Regulators Router (#6054)

* options router

* fixedincome router

* futures router

* missing comma

* static assets

* futures router

* sec router

* cftc router

* black

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Fix World News (#6064)

* fix fmp

* fix intrinio

* fix biztoc

* actually commit intrinio fix

* fix tiingo

* unused import

* fix tests

* black

* ruff

* benzinga empty strings

* codespell

* fix test?

* more empty strings

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - remove unused validators from standard models (#6067)

* update standard models

* lint

* Update USD Liquidity Example Notebook for V4 (#5902)

* Update USD Liquidity Example Notebook for V4

* delete some v3 text in the copperToGold

* Update README.md

* findSymbols preview image

* Google Colab preview image

* financialStatements preview

* content tsx file

* ### title

* convert tsx to json

* indent size

* double quote keys.json

* trailing commas

* Update content.json

* patch

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Fix QA Examples (#6072)

* [Feature] - Ensure Bugfix branches can only do PRs to `develop` branches (#6073)

* bugfix branch name checks and few fixes on the linting not to run on pushes to branches outside PRs

* Update branch naming guidelines link

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Feature/charting obbject (#5938)

* fix circular import issues on the obbject extension framework

* settings available on the obbject

* extension init

* charting assets and code

* introduce to_chart functionality

* removes the to_chart method from obbject in detriment of the one from the obbject extension

* Update openbb_platform/obbject_extensions/charting/charting/__init__.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* fix on the show method

* adding the example to the to_chart docstring

* copying the exsting README from charting extension - needs to be revamped

* moving to openbb_charting instead

* update the pyproject.toml file

* pydocstyle

* versions

* better docstrings

* making accessors public

* removing unnecessary credentials variable cc @montezdesousa

* removing access to extra/metadata and use designated private attrs instead

* Fixes linting for the logging service (#5992)

* lints

* typing.Type instead

* deprecating ChartingService to use the new extension instead - adding function discovery capabilities using it

* tests for the obbject charting extension

* removing charting service from command runner

* filter functions not implemented in the module

* remove charting service tests

* removing charting service on the tests for int tests

* charting integration tests

* removing charting service file

* removing old charting extension code

* revamp builder

* fix obbject tests

* fix command_runner tests

* removing openbb_figure_table

* better website docs

* reviewed readme

* unsetting api key for posthog (pywry) windows

* added debug_mode to the system settings

* removing api key

* update nightly script

* fix tests

* black

* black

* Revert "black"

This reverts commit 21d76ad689.

* Revert "black"

This reverts commit 0904653fd7.

* black for henrique

* returning a list instead

* better docstrings

* removing unnecessary indicators docstring

* typo

* black

* intentional access to protected member

* changes to publish script

* filtering deleted files

* black

* adding render argument

* fixing the df_to_basemodel function: it should include the index in the columns either if flagged or if the index is named

* adding the hability to add you own data to to_chart method

* tests

* black

* disable protected access

* accept kwargs to eg. save image

* adjustment cc Igor

* add if statement for protection

* remove unused return typing

* fix technical charting views

* better error message cc @IgorWounds

* better structure and fix test

* Revert "better structure and fix test"

This reverts commit 612ea6117c.

* Revert "better error message cc @IgorWounds"

This reverts commit 3d7ee53878.

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Fix CAPM example (#6075)

* Start removing dead v3 commands for deprecation (#6070)

* Yeet tokenterminal

* Yeet crypto/onchain/hr and gwei

* yeet luna

* yeet coinglass

* yeet dps/ctb

* yeet reddit

* yeet covid

* actually not yeeting

hide yfinance future warning

* yeet options/hedge

* not yeeting.  i18n words

* something happened on accident

* still fixing

* git reset/git checkout -f 2516cfbc72 website/content

* still not sure whats going on

* Edit workflow to not look at deleted files + change bootup message

* Dont pin the workflow to my branch always lol

* Remove askobb

* [Feature]  - Comma separated string and list inputs (#6062)

* feat: balancesheet

* feat: income statement

* fix: cash flow statement

* feat: financial ratios

* feat: reported financials

* feat: revenue business line

* feat: revenue per geography

* fix: warnings

* Update balance_sheet.py

* fix: remove warning imports

* feat: balance sheet growth

* feat: calendar ipo

* feat: cashflow growth

* feat: __validators__

* fix: typing

* fix: validator msg

* feat: trailing dividend_yield

* feat: short volume

* feat: share statistics

* feat: price target + consensus

* fix: update validator

* feat: historical dividends

* feat: key executives

* fix: getattr directly

* fix: type hint validator

* fix: add default to getattr

* typo

* feat: otc

* feat: options chains

* fix: remove list validators

* feat: add validator dict to fetchers

* lint

* update standard models

* lint

* feat: rename validator

* fix: ownership

* feat: query params description

* fix: balance yfinance

* key execs, income statement

* remove change

* fix: revenue geographic

* fix: disable pylint

* fix: unusual + balance

* unit test validator

* minor fix

* explicit validators

* update test

* feat: multiple items allowed

* rebuild

* move check_single_value

* crypto historical

* order providers

* fix typing

* rename extra dict

* marking multiple items allowed

* Revert "marking multiple items allowed"

This reverts commit 7da04817e1.

* error msg

* fix: default provider runtime vs configuration

* minor fix

* docstring

* revert default changes

* get provider before executing cmd

* fix container bug

* clean filter

* add comment

* prevent bad defaults

* update docstring

* typing

* fix

* black

* fix docstring generation

* [Feature] - Mark multiple item fetchers (#6074)

* feat: price target

* bezinga company news

* equity quote

* marking multiple items allowed

* more multiple items

* black

* rebuild

* another batch

* rebuild

* another

* cpi

* move prop

* rebuild

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* rename var

* update msg

* rename func

* fix test

* mypy

* ruff

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* [Feature] Add Regional Data Endpoint from FRED (#6071)

* add regional data endpoint from FRED

* codespell

* ruff

* sort imports

* add provder='fred' to integration test

* thought I already sorted those imports..

* pylint..

* more test params....

* even more test params...

* even more test params....

* static assets

* reconfigure params

* ruff

* alias dict

* recapture cassette

* router doctstring

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] - Fix most integration tests (#6082)

* Fix most integration tests

* Lint

* Fix price_target column for Benzinga (#6083)

* Release/4.1.4 (#6081)

* static assets

* patch version increase

* core update

* bumping versions

* bump finviz version

* bump versions

* bump versions on package.extension

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Add dates to /quantitative as needed. (#6078)

* Add dates to /quantitative as needed.

Run new black

* Fix tests

* Pycharm is weird sometimes

* uncommit

* Add default window + error handling + mistake

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] Add end point: `etf.equity_exposure()` with FMP provider (#6079)

* add etf.equity_exposure from FMP

* empty data error

* recapture cassette

* pylint unused argument

* Fix router example typo

* fix test...?

* static file to fix test?

* fix test..?

* __json_schema_extra__

* black

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [BugFix] Fix Equity Integration Tests (#6086)

* fix equity integration tests

* black

* pylint

* black

* black

* move df_apply to helpers

* unused import

* remove file that shouldn't have been added

* oops. didn't remove a couple lines

* [Enhancement] Add `analyst_search` to the Equity/Estimates Router (#6088)

* standardize price_target

* add analyst search

* black

* more black

* ruff

* linter, test parmas

* last missing param

* get rid of convert to upper

* ruff

* pylint

* [BugFix] - Fix POST docstring examples (#6095)

* Fix POST docstring examples.

* Move router examples to command decorator

* [BugFix] Fix `treasury_rates()` (#6092)

* fix treasury_rates

* drop rows with no data

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* clean up the remains from my yeeting (#6089)

* clean up the remains from my yeeting

* was not careful

* Add ETF examples (#6102)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* [BugFix] Fix integration tests (#6100)

* fix int tests

* fix obbject int tests

* fix quant tests

* fix index tests

* use python 3.10 instead

* remove cache

* end_date < start_date

* [Enhancement]: Add TMX data provider extension. (#5913)

* dev install

* add TMX provider extension

* normalize ytm and coupopn_rate values

* black

* codespell

* ruff

* black again

* pylint

* ftw

* undo what Pylint thinks is best

* more black

* renovate insider_trading standard model

* fix tests

* typo

* tests

* empty string

* pylint unused argument

* nans for some reason

* black

* static files

* static files with openbb-tmx installed this time

* yfinance TypeError..?

* NA -> N/A

* update for version bump

* list exchange-calendars as tmx dependency

* eod chains date -> eod_date

* new line

* not that file

* more black

* one more black

* fix weird merge thing

* ruff

* index constituents params

* insider trading

* fixing things

* black

* black AGAIN

* news integration params

* the other missing param

* ruff

* historical dividends field update

* add json_schema_extra

* gainers

* symbols -> symbol

* company news symbol

* unit test param

* review items

* wrangle a rogue field

* index router example

* company news thing - symbols -> symbol

* field name map

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [Feature] - OBB.GET (#6097)

* create OBB.GET and data slicer page

* remove quotes

* format description

* wording

* functions.json

* sidebar position

* remove if stamente

* [Docs] Remove Reference to `to_chart` in OBBject. (#6096)

* remove reference to to_chart in OBBject.

* put chart description back in OBBject properties

* [Feature] - Create openbb assets folder (#6101)

* create openbb assets folder

* fix unittest

* rebuild

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099)

* allow mixed utc offset in a tz-aware date column

* enforce ascending from all providers for price.historical

* fix tests

* add comments and apply treatment to basemodel_from_df before JSON output

* yfinance consistency

* add unit test

* add unit test

* better test

* ruff

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Update the quantitative extension to make more sense (#6087)

* Split out a rolling submenu for the rolling functions

* Make a performance and a stats submenu.

* Test the statistics functions

* lint

* lint

* dupe test

* pylint

* ruff

* Try tests quick

* black magic signature funcs

* fix my custom tests

* Fix the existing imports/urls

* push the api update

* okay I figured out whats going on

* this should be all  of them

* Correct docstringing examples

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* [BugFix] Fix ECB Yield Curve (#6108)

* fix ecb yield curve

* standard model update

* Update unit-test workflow to check for changes to openbb_platform (#6109)

* [Bug fix] - Fix package mypy (#6110)

* fix: package mypy

* types

* black

* [Feature] - Equity router descriptions & examples (#6103)

* feat: equity/calendar

* feat: compare router

* fix descriptions

* darkpool + discovery

* fix paragraph issues

* fix descriptions

* fundamental part 1

* fundamental part2

* transcipts

* ownership

* fix

* price

* shorts

* Update darkpool_router.py

* minor fix

* shorts examples

* examples

* ruff

* black

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Add `exception_handler` decorator to static (#6112)

* add exception handler decorator

* add exception handler decorator code

* updated static

* rebuild to fix docstring indentation

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* update extensions list (#6114)

* add missing field descriptions to yfinance equity price historical (#6116)

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* remove charting extension env var (#6118)

* [BugFix] Fix Company News (#6111)

* fix company news

* update tests

* multiple symbols for polygon

* don't include pageSize in Benzinga querystring, fixed as 100

* remove extra space

* black

* unused imports

* make benzinga test cassette smaller

* missing params

* clear empty strings

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Allow Multiple Symbols in `equity.fundamental.metrics()` from `yfinance` (#6124)

* allow multiple symbols in key_metrics from yfinance

* field order thing

* remove unnecessary function (#6125)

* [Docs] Update OpenBB Copilot docs (#6106)

* WIP: Tweak description.

* WIP: Experimenting with react-player

* WIP: Add copilot docs.

* fixes videos width/height

* WIP: Refine videos and copy.

* WIP: Add last videos and sections.

* Add bring-your-own-copilot section.

* Tweak grammar.

* Add copilot link.

* Fix typos.

---------

Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>

* [Enhancement] Add Previous Close to DATA_DESCRIPTIONS (#6120)

* add data description for previous close

* ..just the one

* update the model tripped by this change

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* added australia as a country also (#6131)

* [Bug fix] - Fix regulator cik map standard model (#6129)

* Fix regulator cik map standard model

* fix description

* Update cik_map.py

* increase timeout to 30 (#6115)

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* clean up some v3 deps (#6105)

* clean up some v3 deps

* forgot we need to do the requirements txt files

* not sure it matters, but run ruff + black

* am addicted to bug fixes

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* [Bug fix] - explicit multiple items docstring (#6127)

* explicit multiple items docstring

* rebuiild

* rebuild again

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* [Feature] Pretty Pydantic `ValidationError` exceptions (#6130)

* fix validator in fmp IndexHistorical model

* make ValidationError pretty

* modify arg error

* linting fmp IndexHistorical

* black

* remove unused code

* tmx etf info (#6132)

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* [Feature] - Platform V4 Markdown Generator V2 (#6094)

* add recent `openapi.json`

* fix data types in models

* removed `openapi.json`

* set default date value as None in PolygonCurrencyPairs class

* add function to generate reference.json file

* reworked function to improve readability

* reword function to add seo metadata

* add functions for creating markdown sections

* add code to extract data card markdown title

* add additional functions for generating index and data models file

* extract first sentence of the description for cards

* code cleanup and documentation

* linting

* linting polygon models

* add openbb import statement in create_reference_markdown_examples function

* add POST method functions

* cleanup; reworked generate_reference_index_files function

* moved development section to 7th position in the sidebar

* fix POST function params default value

add standard flag to QueryParams and Data fields

cleanup

* add type expansion from package_builder.MethodDefinition

* sort data models cards alphabetically

make printing less verbose

* make MAX_CARDS global

display less content in cards in Commannds section

* cleanup

* Remove '_' from the cards under Commands section

* " to ' in econometrics/causality

* replace ' with " in ReferenceCard for reference dir index files

* remove extra . from the quantile function description

* shoutout to @deeleeramone for finding POST method description bug!

* set correct value for standard field

* handle BaseModel types in provider data fields

* unit tests for the platform markdown generator v2

* yeet 'Default' and 'Optional' columns in the 'Data' section

* last minute bug fix

* add info for multiple symbols

* make multiple items info same as platform static

* organize sections properly

* sort reference sub-directories alphabetically

* extra space in 'OBBject extra' description

* add type expansion for fields with multiple items

POST method cleanup

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Docs] Adds Example Notebook for the Implied Earnings Move (#6128)

* adds example notebook for the implied earnings move

* remove commented out line

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [Feature] - Sync with new openapi.json (#6137)

* feat: create data tabs

* fix: uncomment

* fix: remove unecessary comment

* sort side bar

* comment

* uncomment

* use .dev functions.json + clean traverse

* fix futures example

* fix example

* point to .co

* Fix the v3 markdown generation workflow (#6138)

* fix workflow

* debug time

* see if the docs generate at least

* ahhhh i found it

* getting there

* put the test first

* some keys cleanup

* small change to error message

* remove ultima + althub

* update functions.json (#6140)

* move twitter keys

* fix intraday check in charting ta_class (#6119)

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* [BugFix] Display EconDB as source for macro (#6143)

* [BugFix] Disable Intrinio `InstitutionalOwnership` model (#6142)

* disable fetcher in init and fetcher tests

* disable provider test params from equity python and api tests

* updated static

* add more examples into findSymbols (#6139)

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [BugFix] Fix SEC ETF Holdings Parsing Exception (#6121)

* fix etf holdings

* linting

* black

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Docs/update xl docs (#6145)

* remove print

* update obb.get docs

* example

* md lint

* fix g…

* [Docs] - Update BYOD page (#6207)

* update byod docs

* regenerate docs

---------

Co-authored-by: Luqman <luqazino@gmail.com>

* [HotFix] Fix FMP Intraday (#6229)

* fix fmp intraday

* clean up error messages

* Add Native Integrations Documentation (#6241)

* Add Native Integrations Documentation

* Update integrate-your-own-backend.md

* Update integrate-your-own-backend.md

* update the reference and data models markdown files (#6246)

* [Hotfix] - Delete data models and reference folders (#6274)

* Remove reference + data models

* add to gitignore

* [Release] 4.1.6 (#6273)

* Create Excel templates page (#5947)

* create templates page

* Update index.mdx

* fix description

* update card

* remove clsx

* Update index.mdx

* Update index.mdx

* Update index.mdx

* Update index.mdx

* min height

* min height

* improve excel docs and point towards hub

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* hotfix/intrinio-dividends-limit: Fix Limit Param Alias (#5951)

* fix limit param

* pylint unused argument, recapture test cassette

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Docs/remove core refs (#5957)

* remove references to core: PathHandler + ProviderInterface

* remove unused function

* add comment

* regenerate

* fix a few examples

* add comment

* rename file

* Excel tutorials on the docs (#5956)

* update workflows name to tutorial

* update title

* get barebones to bring in Excel videos

* tutorial excel videos in

* hotfix/float-values: Convert Intrinio balance sheet values to float type (#5961)

* convert intrinio balance sheet values to float type

* unused import

* typo in alias dict

* Update to OpenBB Add-in for Excel (#5965)

* Log custom headers (#5966)

* add custom headers

* fix: send on startup and defaults

* pylint

* unittests

* move government-us to community in dev_install (#5963)

* fix: adds logic to check whther user is logged in on hub (#5941)

Co-authored-by: Luqman <luqazino@gmail.com>

* hotfix/fix-company-filings: Fixes too many mandatory fields. (#5909)

* Fixes too many mandatory fields.

* black

* black again

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* `equity.estimates.price_target` - Integrate with Benzinga (#5946)

* deprecation message

* fix lints

* adding equity.estimates.ratings and fmp as its provider

* unit tests for fmp

* removing unused file

* typos

* add benzinga to AnalystRatings

* revert changes to estimates router

* moving it to price target instead

* reverting changes

* fmp support for multiple ticker

* benzinga price target

* ruffy

* unused argument

* fix type hints

* tests for the new fetcher

* new integration tests

* fixing tests

* missing std arg

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [DEPRECATION] `index.market` renamed to `index.price.historical` (#5962)

* deprecate index.market and add index.price.historical

* add index.historical standard model

* add index.historical provider models

* index extension tests

* provider tests

* linting

* bug fix (#5969)

* Uppercase excel reference (#5958)

* uppercase reference

* fix name header

* add tab title

* remove reference excel folder

* add to gitignore excel reference files

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* move templates (#5970)

* Release 4.1.1. (#5964)

* update dev_install

* fix effr test

* Update dev_install.py

* fix fundamental balance test

* fix equity price historical test

* fix price target model

* black

* rebuild static files

* update publish.md

* fixed dev_install

* update publishing doc

* updated `openbb-core` to 1.1.1

* updated extensions

* updated providers

* updated `openbb` package

* updated static extension map

* updated publishing doc

* fixed toml for `openbb-finra`

* @jmaslek yfinance IS DEFAULT

* updated static

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Fix link to discord channel (#5910)

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Fixing Posthog handler for thread safety (#5968)

* fixing posthog handler for thread safety

* removing loggging init from the global scope - per sensei juan

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Update labeler.yml and labels-PR.yml (#5974)

* hotfix/ allow multiple `identify` calls (#5976)

* allow multiple `identify` calls

* Update posthog_handler.py

* regex out any invisible control character from sales_conditions field (#5977)

* docs/http-requests: Contributor Guide For Building HTTP Requests (#5973)

* contributor guide for http requests

* add a docstring

* add section on get_querystring

* extra space

* add note for people installing PyPI in a zsh terminal shell

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* feature/add-yfinance-functions: Add equity.profile for yFinance (#5978)

* equity profile for yFinance

* pylint

* equity quote

* unused imports

* remove yfinance from extras in toml (#5982)

* Release OpenBB Platform v`4.1.3` (#5983)

* fixing pyproject.toml

* adding pandas-ta to technical package for publishing

* bumping technical

* test for pyproject toml

* feature/cboe-async: Refactor Cboe for Async (#5900)

* refactor cboe for async

* codespell

* unused imports

* pylint

* more pylint

* platform metadata

* classmethod decorator

* test params

* intrinio quote

* test param names

* date in test needs to be a datetime.date not string

* make fmp unix timestamp tz-aware and normalize percent change

* different way of parsing datetime string

* recapture cboe equity historical test

* unused import

* index snapshot update

* black

* extension map

* pylint

* cboe pyproject.toml

* proposal to standardize equity_quote

* one more file

* removing changes on static assets

* index_historical

* index_historical again

* last_time -> last_timestamp

* obsolete router path

* fix tests

* test param

* restore market index deprecation that I forgot about

* fixing tests

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Fix typo in  website/README.md (#5980)

* Fix typo in  website/README.md

* Update linting.yml

* Update linting.yml

* Update linting.yml

* Change ref conditions

* Update linting.yml

---------

Co-authored-by: Luqman <luqman.bello@openbb.finance>
Co-authored-by: Luqman <luqazino@gmail.com>

* Hotfix/th etfs (#5959)

* added etf trading hours

* black formatter

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Luqman <luqazino@gmail.com>

* feature/finviz-provider: Adds Community Finviz Provider Extension (#5952)

* add finviz provider

* recapture tests

* recapture tests again?

* invalid test param

* static packages

* units_measurement -> unit_measurement

* static packages as core only

* openbb_core version bump in pyproject.toml

* try adding user-agent to test response

* fix tests

* linting

* provider model cosmetic changes

* fix install script and typo in openbb toml

* static

* fix: re-record unittests

* empty data error

* definitions as a file

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* Add support for multiple symbols on `obb.equity.price.historical` (#5984)

* av - support for multiple symbols

* tiingo - support for multiple symbols

* include symbol only if necessary

* update extension descriptions page (#5985)

* remove useless file (#5991)

* added symbol to headers (#5981)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Fixing Docs Typos (#5955)

* fixed typo

* fixed stocka typo

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* fix nasdaq test cassettes (#5989)

* don't include `custom_headers` in openapi schema (#5994)

* hotfix/intrinio-index: Drop None Rows From intrinio Historical Index (#5987)

* drop None rows from intrinio historical indexes

* add empty data error

* static assets

* hotfix/insider-trading: Fix #5988 (#5990)

* fix validation errors

* empty strings

* validator

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>

* CI listing quick fix (#6002)

* BIGGGG LINTING

* fixing lints

* fixing lints

* black

* very ruff

* no export

* fix hedge_view again

* lints

* platform lints

* lints

* black

* black it @hjoaquim

* fix some more linting

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* Release `openbb-finviz` `1.0.0` to the public (#6000)

* set version to `1.0.0`

* Set correct dep version in main package

* Add `finviz` to table

* Auto Labelling for OpenBB Excel Docs Changes (#5998)

* Update pull request labels

* Update labeler.yml with new label for Excel files

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Support for custom examples in router commands (#5993)

* Disable auto_build on test run

* Add support for custom router examples

* Revert odd file change

* Fix API pollution

* Refactor examples with @montezdesousa

* Check if model is inside the PI

* Fix

* feat: add & fix examples (#6001)

* feat: add & fix examples

* fix: ruff + comment

* feat: read parameter pool from file

* feat: typing + unit test

* Disable auto_build on test run

* Add field order to OBBject

* Revert

* lint and revert

* fix test

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* hotfix/intrinio-options-date: Fix comparing values between str and datetime (#5997)

* fix compare between str and datetime

* unused argument

* get_weekday

* lint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Field order added to the OBBject extra as preference (#5999)

* Disable auto_build on test run

* Add field order to OBBject

* Improvements

* Remove noxfile

* Disable auto_build on test run

* Add field order to OBBject

* Revert

* lint

* Add docs

* Not sure how this happened

* lint

* Update `openbb-devtools` (#6008)

* update deps

* unpinned package versions from gh linting action

* codespell

* updated black dependency

* linting

* linting

* linting

* pin codespell version

* black

* black again

* install devtools in linting action

* format w new black (#6009)

* format w new black

* format w new black

* black again

* black the terminal

* ignoring unused arguments

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* remove reviewpad (#6010)

* Remove Ultima provider (#6012)

* Add OECD unemployment (+more) + data cache idea (#5917)

* Add OECD unemployment + data cache idea

* Docstring edits

* Tests

* Add composite leading indicator

* i truested ruff --fix too much

* Add short + long term interest rates

* pylint

* pylint2

* was not committing.  my b

* add csv cache + make it default.  remove pyarrow from poetry

* Clean up

* Didnt run on this file.  My bad

* Why was this ignored /shrug

* pylint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Feature/improved pr template (#6018)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* better pr templates

* developer template

* [Feature] - Custom deprecation (#6005)

* custom deprecation

* custom deprecation

* using the new deprecation

* custom deprecation on the package builder

* remove comment

* ruff

* black

* static assets

* tests

* using parametrization instead

* test for deprecated endpoints (#6014)

* Deprecation warning on the reference docs (#6015)

* typo/fix

* bring back methods needed for markdown generation

* add deprecation warning to docs

* contributor docs for deprecating endpoints - tks @deeleeramone

* small changes on publishing procedure per @the-praxs

* moving the deprecation summary class to deprecation file instead

* explanation on class variables

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update openbb_platform/openbb/package/index.py

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Update website/content/platform/development/contributor-guidelines/deprecating_endpoints.md

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* deprecating on 4.3 instead @the-praxs

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* [BugFix] Fix package builder (#6022)

* fix: remove specific imports

* adjustments for correct deprecation

* static assets

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* [Feature] Add support for multiple tags in `historical_attributes` and `latest_attributes` (#6013)

* historical attributes standard model -
* add support multiple tags
* add `tag` field in data

* add support for multiple tags in historical attributes

* set correct return type in `callback` function

* latest attributes standard model -
* add support for multiple tags
* add `tag` field in data

* add support for multiple tags in latest attributes

* add test params for the attributes endpoints

* add support for multiple `symbol` and add `symbol` field in the data

* modified code to fetch data from multiple symbols and throw warning as per @deeleeramone

* add params for testing multiple symbols

* linting

* fix test params

* fixed condition to check if its a `Dict` type

* updated intrinio fetcher tests for the statements

* updated static

* [feature]: feature/overview-to-profile: Deprecate `equity.fundamental.overview()` and move to `equity.profile()` (#6011)

* fmp overview to equity profile

* deprecation warning

* urls

* wrangle fields

* black

* pylint unused argument

* insert additional securityID fields to standard model

* custom deprecation using OpenBBDeprecationWarning

* typo - need to have the deprecated=True flag

* static assets

* fix non related test

* minor adjustment - removing the need for the try/except block - using the get and pop removes the need for key existance checking. cc @deeleeramone

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* [BugFix] - Remove duplicate code (#6025)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* remove `SectorNews` from router and standard models (#6026)

* feature/more-yfinance: Adds some more to openbb-yfinance (#5979)

* equity profile for yFinance

* pylint

* equity quote

* unused imports

* price target consensus

* add currency field

* add share_statistics

* don't append empty result to results

* key executives

* missing definition in key_executives

* pylint

* key metrics

* add currency to key metrics

* add etf_info

* rename trailing_annual_dividend -> dividend_rate_ttm

* add institutions count to share_statistics

* add historical dividends

* add logic for start-end dates to historical_dividends

* recapture the test..?

* funny test

* filter on tests?

* record test with clean cache..?

* year_price_change -> price_return_1y in key_metrics

* black

* make descriptions clear for beta and dividend_yield fields

* add description field to standard model

* updated static

* clear description of shares_implied_outstanding field

* updated static for equity

* clean descriptions

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* feature/commodities-lbma-fixing: Adds Commodity Extension and LBMA Gold/Silver daily fixing levels (#5760)

* add commodity extension and add lbma fixing endpoint

* dev_install.py

* readme url

* renovate the standard model

* makes a query_params model for nasdaq data link

* literal not optional

* unused imports

* missing test params

* test cassette

* DataLink query param description

* test file import

* actually fix import

* from openbb_core.provider.....

* ruff

* another import statement

* black

* async router

* move query_params

* update version

* version numbers

* extension_map

* satisfy pylint?

* pylint

* Update pyproject.toml

* black

* poetry lock

* Update extension_map.json

* Update __extensions__.py

* Update module_map.json

* clean descriptions

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Improve UX for `obb.news` (#5986)

* adding date,start_date and end_date to std params

* add date to special params which should've another type

* change types to dateType

* change helper to accomadate changes in types

* date filtering

* using the date filtering for all providers

* date params on the std model instead

* adding the right type

* filtering dates on world news

* integration tests

* fix descriptions

* static assets

* black

* Revert "black"

This reverts commit 7288b59f87.

* lint

* addressing @montezdesousa suggestion: removing qua 31 jan 2024 15:01:20 WET from standard models and using it only on benzing

* tests accordingly

* static assets

* black

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] - Improve Standardization - `IndexHistorical` (#6030)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* fix tests

* keep the skip

* fix test

* [Feature] - Refactor Response Model (#6024)

* Start refactor with @montezdesousa

* feat: add response model inside openapi_extra

* feat: find+replace return types

* fix: ruff

* Feature/api response by provider (#6029)

* init

* Update router.py

* Update registry_map.py

* check dicts

* lint

* exclude provider on data model for package build

* `results_type_repr` logic for `Annotated`, ignore provider field in `_extract_data`

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>

* [BugFix] - Improve Standardization - `CotSearch` (#6031)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* use cache as std field

* fix tests

* fix tests

* keep the skip

* fix test

* adding missing param

* fix tests accordingly

* Docs/byod (#5996)

* add byod to reference

* fix: rename add-in name

* feat: add data conectors page

* fix: additional notes

* tiny tweaks

* update functions.json and openapi.json

* fix: fix bug in hedge controller

* fix: another bug hedgecontroller

* black

---------

Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* Feature/ex-dividend: Renames "date" columns as "ex_dividend_date" for Dividend Calendar and Historical Dividends (#6006)

* date -> ex_dividend_date

* nasdaq historical dividends

* black

* pylint

* intrinio alias_dict

* dividend_currency -> currency

* yfinance field name

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] - Adds a timezone to the Unix timestamp conversion to correct localization errors. (#6023)

* fix: remove specific imports

* make polygon historical tz-aware

* undo including that commit

* that PR wasn't supposed to be there.

* pylint unused argument

* fix polygon crypto historical intervals

* pylint

* new cassette

* fix the rest of the polygon historical price query params

* black

* pylint..

* integration test param

* appease daylight savings handling

* paginate for crypto currency and index

* black

* raise EmptyDataError when no results instead of returning an empty list

* ruff

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* Hotfix/wrong pydantic validator (#6037)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* Use field_validator instead

* fix openapi schema fields `to_snake` (#6036)

* Fix data connectors link typo (#6038)

* [BugFix] - Improve Standardization - `EquitySearch` (#6033)

* format w new black

* Revert "format w new black"

This reverts commit 74b9619cc6.

* small adjustment on the test

* index historical

* adjust tests accordingly

* keep the test skipped

* match tests w python

* use cache as std field

* fix tests

* fix tests

* use_cache as std

* adjust tests

* keep the skip

* re-record test

* black

* Docs / only display results for current platform (#6017)

* Update index.js

* Update index.js

* yfinance

* tzcache no longer exists

* fixxy

* ruff

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Andrew <andrew.kenreich@gmail.com>

* Improve the docstrings (#6040)

* Improve the docstrings (#6041)

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* dont run base tests with v4 label (#6046)

* Sync excel reference (#6039)

* sync excel reference

* fix: change delimiter to comma

* feat: update data connectors

* test skipping wf

* Update unit-test.yml

* Update unit-test.yml

* test skipping wf

* watch label changes

* Update unit-test.yml

* [Enhancement] - Improve `news` router docs and examples (#6047)

* better docs

* static assets

* Feature/platform standardization notebook (#6049)

* Add platform standardization overview notebook to examples

* Add py.typed marker to openbb-fred

* [Enhancement] - Improve `currency` router docs and examples (#6045)

* currency search

* reference rates

* historical price

* static assets

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* display warnings based on preference (#6051)

* [Enhancement] - Improve `crypto` router docs and examples (#6048)

* crypto search add validation for '-'-separated pairs

* set default query value to None

* improve /crypto description with custom examples

* improve /crypto/price/historical description with custom examples

* updated static for crypto menu

* ignore line too long

* linting

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Final Implementation of Changelog V2 (#6050)

* Updated the release drafter to process the released changelog for OpenBB Platform

* Update release drafter configuration

* Add OpenBB Documentation Changes and Create Release

* Update process_changelog.py path in draft-release.yml

* Update release-drafter version and save changelog

* Copy changelog with python

* Update draft-release.yml to save Changelog

* Update draft-release.yml

* Encode and save Changelog to Base64

* Update Changelog saving method

* Update Changelog format

* Update CHANGELOG.md with release notes

* Fix draft release workflow

* Add cat command to print CHANGELOG.md

* Add platform-drafter.yml and update release-drafter.yml and draft-release.yml

* Commented out config-name in release-drafter step

* Update branch name validation and process_changelog.py

* Refactor process_changelog.py to improve readability and maintainability

* Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* improve discriminator logic, fix package return type docs (#6052)

* improve discriminator logic, fix package return type docs

* Update registry_map.py

* build package

* Update registry_map.py

* defaults

* Update registry_map.py

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Add LLM tools example notebook (#6053)

* Add LLM tools example notebook

* Update README, rename example notebook

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Remove the  preference (#6055)

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* [Feature] - Standardise multiple symbols input (#6056)

* feat: remove list of str

* fix: update cpi

* package builder + cpi

* build

* fix: update unittests

* fix: check_item

* fix: unittests

* Improve the docstrings (#6057)

* update economy router docstrings (#6058)

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Fix OECD Long Term Interest Rate (#6060)

* fix long term interest rate

* pylint unused argument

* [Bugfix] - Fix economic calendar country (#6059)

* fix economic calendar country

* lint

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [HotFix] Index Router Docstrings & `sp500_multiples()` Cleanup (#6063)

* sp500 multiples cleanup

* remove dict from standard model

* static pacakge

* pylint

* [Feature] FMP Current Holdings (#6043)

* add fmp current holdings to etf holdings

* pylint unused argument

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Replace symbols in company/news (#6061)

* feat: replace symbols in /news

* fix: integration tests

* fix: integration tests api

* fix: typo

* Update test_intrinio_fetchers.py

* [Enhancement] Add function examples to router. (#6042)

* options router

* fixedincome router

* futures router

* missing comma

* static assets

* futures router

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Enhancement] Add function examples to Regulators Router (#6054)

* options router

* fixedincome router

* futures router

* missing comma

* static assets

* futures router

* sec router

* cftc router

* black

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Fix World News (#6064)

* fix fmp

* fix intrinio

* fix biztoc

* actually commit intrinio fix

* fix tiingo

* unused import

* fix tests

* black

* ruff

* benzinga empty strings

* codespell

* fix test?

* more empty strings

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - remove unused validators from standard models (#6067)

* update standard models

* lint

* Update USD Liquidity Example Notebook for V4 (#5902)

* Update USD Liquidity Example Notebook for V4

* delete some v3 text in the copperToGold

* Update README.md

* findSymbols preview image

* Google Colab preview image

* financialStatements preview

* content tsx file

* ### title

* convert tsx to json

* indent size

* double quote keys.json

* trailing commas

* Update content.json

* patch

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Fix QA Examples (#6072)

* [Feature] - Ensure Bugfix branches can only do PRs to `develop` branches (#6073)

* bugfix branch name checks and few fixes on the linting not to run on pushes to branches outside PRs

* Update branch naming guidelines link

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Feature/charting obbject (#5938)

* fix circular import issues on the obbject extension framework

* settings available on the obbject

* extension init

* charting assets and code

* introduce to_chart functionality

* removes the to_chart method from obbject in detriment of the one from the obbject extension

* Update openbb_platform/obbject_extensions/charting/charting/__init__.py

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* fix on the show method

* adding the example to the to_chart docstring

* copying the exsting README from charting extension - needs to be revamped

* moving to openbb_charting instead

* update the pyproject.toml file

* pydocstyle

* versions

* better docstrings

* making accessors public

* removing unnecessary credentials variable cc @montezdesousa

* removing access to extra/metadata and use designated private attrs instead

* Fixes linting for the logging service (#5992)

* lints

* typing.Type instead

* deprecating ChartingService to use the new extension instead - adding function discovery capabilities using it

* tests for the obbject charting extension

* removing charting service from command runner

* filter functions not implemented in the module

* remove charting service tests

* removing charting service on the tests for int tests

* charting integration tests

* removing charting service file

* removing old charting extension code

* revamp builder

* fix obbject tests

* fix command_runner tests

* removing openbb_figure_table

* better website docs

* reviewed readme

* unsetting api key for posthog (pywry) windows

* added debug_mode to the system settings

* removing api key

* update nightly script

* fix tests

* black

* black

* Revert "black"

This reverts commit 21d76ad689.

* Revert "black"

This reverts commit 0904653fd7.

* black for henrique

* returning a list instead

* better docstrings

* removing unnecessary indicators docstring

* typo

* black

* intentional access to protected member

* changes to publish script

* filtering deleted files

* black

* adding render argument

* fixing the df_to_basemodel function: it should include the index in the columns either if flagged or if the index is named

* adding the hability to add you own data to to_chart method

* tests

* black

* disable protected access

* accept kwargs to eg. save image

* adjustment cc Igor

* add if statement for protection

* remove unused return typing

* fix technical charting views

* better error message cc @IgorWounds

* better structure and fix test

* Revert "better structure and fix test"

This reverts commit 612ea6117c.

* Revert "better error message cc @IgorWounds"

This reverts commit 3d7ee53878.

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Fix CAPM example (#6075)

* Start removing dead v3 commands for deprecation (#6070)

* Yeet tokenterminal

* Yeet crypto/onchain/hr and gwei

* yeet luna

* yeet coinglass

* yeet dps/ctb

* yeet reddit

* yeet covid

* actually not yeeting

hide yfinance future warning

* yeet options/hedge

* not yeeting.  i18n words

* something happened on accident

* still fixing

* git reset/git checkout -f 2516cfbc72 website/content

* still not sure whats going on

* Edit workflow to not look at deleted files + change bootup message

* Dont pin the workflow to my branch always lol

* Remove askobb

* [Feature]  - Comma separated string and list inputs (#6062)

* feat: balancesheet

* feat: income statement

* fix: cash flow statement

* feat: financial ratios

* feat: reported financials

* feat: revenue business line

* feat: revenue per geography

* fix: warnings

* Update balance_sheet.py

* fix: remove warning imports

* feat: balance sheet growth

* feat: calendar ipo

* feat: cashflow growth

* feat: __validators__

* fix: typing

* fix: validator msg

* feat: trailing dividend_yield

* feat: short volume

* feat: share statistics

* feat: price target + consensus

* fix: update validator

* feat: historical dividends

* feat: key executives

* fix: getattr directly

* fix: type hint validator

* fix: add default to getattr

* typo

* feat: otc

* feat: options chains

* fix: remove list validators

* feat: add validator dict to fetchers

* lint

* update standard models

* lint

* feat: rename validator

* fix: ownership

* feat: query params description

* fix: balance yfinance

* key execs, income statement

* remove change

* fix: revenue geographic

* fix: disable pylint

* fix: unusual + balance

* unit test validator

* minor fix

* explicit validators

* update test

* feat: multiple items allowed

* rebuild

* move check_single_value

* crypto historical

* order providers

* fix typing

* rename extra dict

* marking multiple items allowed

* Revert "marking multiple items allowed"

This reverts commit 7da04817e1.

* error msg

* fix: default provider runtime vs configuration

* minor fix

* docstring

* revert default changes

* get provider before executing cmd

* fix container bug

* clean filter

* add comment

* prevent bad defaults

* update docstring

* typing

* fix

* black

* fix docstring generation

* [Feature] - Mark multiple item fetchers (#6074)

* feat: price target

* bezinga company news

* equity quote

* marking multiple items allowed

* more multiple items

* black

* rebuild

* another batch

* rebuild

* another

* cpi

* move prop

* rebuild

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* rename var

* update msg

* rename func

* fix test

* mypy

* ruff

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>

* [Feature] Add Regional Data Endpoint from FRED (#6071)

* add regional data endpoint from FRED

* codespell

* ruff

* sort imports

* add provder='fred' to integration test

* thought I already sorted those imports..

* pylint..

* more test params....

* even more test params...

* even more test params....

* static assets

* reconfigure params

* ruff

* alias dict

* recapture cassette

* router doctstring

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] - Fix most integration tests (#6082)

* Fix most integration tests

* Lint

* Fix price_target column for Benzinga (#6083)

* Release/4.1.4 (#6081)

* static assets

* patch version increase

* core update

* bumping versions

* bump finviz version

* bump versions

* bump versions on package.extension

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Add dates to /quantitative as needed. (#6078)

* Add dates to /quantitative as needed.

Run new black

* Fix tests

* Pycharm is weird sometimes

* uncommit

* Add default window + error handling + mistake

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] Add end point: `etf.equity_exposure()` with FMP provider (#6079)

* add etf.equity_exposure from FMP

* empty data error

* recapture cassette

* pylint unused argument

* Fix router example typo

* fix test...?

* static file to fix test?

* fix test..?

* __json_schema_extra__

* black

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [BugFix] Fix Equity Integration Tests (#6086)

* fix equity integration tests

* black

* pylint

* black

* black

* move df_apply to helpers

* unused import

* remove file that shouldn't have been added

* oops. didn't remove a couple lines

* [Enhancement] Add `analyst_search` to the Equity/Estimates Router (#6088)

* standardize price_target

* add analyst search

* black

* more black

* ruff

* linter, test parmas

* last missing param

* get rid of convert to upper

* ruff

* pylint

* [BugFix] - Fix POST docstring examples (#6095)

* Fix POST docstring examples.

* Move router examples to command decorator

* [BugFix] Fix `treasury_rates()` (#6092)

* fix treasury_rates

* drop rows with no data

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* clean up the remains from my yeeting (#6089)

* clean up the remains from my yeeting

* was not careful

* Add ETF examples (#6102)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* [BugFix] Fix integration tests (#6100)

* fix int tests

* fix obbject int tests

* fix quant tests

* fix index tests

* use python 3.10 instead

* remove cache

* end_date < start_date

* [Enhancement]: Add TMX data provider extension. (#5913)

* dev install

* add TMX provider extension

* normalize ytm and coupopn_rate values

* black

* codespell

* ruff

* black again

* pylint

* ftw

* undo what Pylint thinks is best

* more black

* renovate insider_trading standard model

* fix tests

* typo

* tests

* empty string

* pylint unused argument

* nans for some reason

* black

* static files

* static files with openbb-tmx installed this time

* yfinance TypeError..?

* NA -> N/A

* update for version bump

* list exchange-calendars as tmx dependency

* eod chains date -> eod_date

* new line

* not that file

* more black

* one more black

* fix weird merge thing

* ruff

* index constituents params

* insider trading

* fixing things

* black

* black AGAIN

* news integration params

* the other missing param

* ruff

* historical dividends field update

* add json_schema_extra

* gainers

* symbols -> symbol

* company news symbol

* unit test param

* review items

* wrangle a rogue field

* index router example

* company news thing - symbols -> symbol

* field name map

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [Feature] - OBB.GET (#6097)

* create OBB.GET and data slicer page

* remove quotes

* format description

* wording

* functions.json

* sidebar position

* remove if stamente

* [Docs] Remove Reference to `to_chart` in OBBject. (#6096)

* remove reference to to_chart in OBBject.

* put chart description back in OBBject properties

* [Feature] - Create openbb assets folder (#6101)

* create openbb assets folder

* fix unittest

* rebuild

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Fixes to_df() where the date series contains multiple TZ-offsets. (#6099)

* allow mixed utc offset in a tz-aware date column

* enforce ascending from all providers for price.historical

* fix tests

* add comments and apply treatment to basemodel_from_df before JSON output

* yfinance consistency

* add unit test

* add unit test

* better test

* ruff

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* Update the quantitative extension to make more sense (#6087)

* Split out a rolling submenu for the rolling functions

* Make a performance and a stats submenu.

* Test the statistics functions

* lint

* lint

* dupe test

* pylint

* ruff

* Try tests quick

* black magic signature funcs

* fix my custom tests

* Fix the existing imports/urls

* push the api update

* okay I figured out whats going on

* this should be all  of them

* Correct docstringing examples

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* [BugFix] Fix ECB Yield Curve (#6108)

* fix ecb yield curve

* standard model update

* Update unit-test workflow to check for changes to openbb_platform (#6109)

* [Bug fix] - Fix package mypy (#6110)

* fix: package mypy

* types

* black

* [Feature] - Equity router descriptions & examples (#6103)

* feat: equity/calendar

* feat: compare router

* fix descriptions

* darkpool + discovery

* fix paragraph issues

* fix descriptions

* fundamental part 1

* fundamental part2

* transcipts

* ownership

* fix

* price

* shorts

* Update darkpool_router.py

* minor fix

* shorts examples

* examples

* ruff

* black

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Feature] - Add `exception_handler` decorator to static (#6112)

* add exception handler decorator

* add exception handler decorator code

* updated static

* rebuild to fix docstring indentation

---------

Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>

* update extensions list (#6114)

* add missing field descriptions to yfinance equity price historical (#6116)

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* remove charting extension env var (#6118)

* [BugFix] Fix Company News (#6111)

* fix company news

* update tests

* multiple symbols for polygon

* don't include pageSize in Benzinga querystring, fixed as 100

* remove extra space

* black

* unused imports

* make benzinga test cassette smaller

* missing params

* clear empty strings

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [BugFix] Allow Multiple Symbols in `equity.fundamental.metrics()` from `yfinance` (#6124)

* allow multiple symbols in key_metrics from yfinance

* field order thing

* remove unnecessary function (#6125)

* [Docs] Update OpenBB Copilot docs (#6106)

* WIP: Tweak description.

* WIP: Experimenting with react-player

* WIP: Add copilot docs.

* fixes videos width/height

* WIP: Refine videos and copy.

* WIP: Add last videos and sections.

* Add bring-your-own-copilot section.

* Tweak grammar.

* Add copilot link.

* Fix typos.

---------

Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>

* [Enhancement] Add Previous Close to DATA_DESCRIPTIONS (#6120)

* add data description for previous close

* ..just the one

* update the model tripped by this change

---------

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* added australia as a country also (#6131)

* [Bug fix] - Fix regulator cik map standard model (#6129)

* Fix regulator cik map standard model

* fix description

* Update cik_map.py

* increase timeout to 30 (#6115)

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* clean up some v3 deps (#6105)

* clean up some v3 deps

* forgot we need to do the requirements txt files

* not sure it matters, but run ruff + black

* am addicted to bug fixes

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* [Bug fix] - explicit multiple items docstring (#6127)

* explicit multiple items docstring

* rebuiild

* rebuild again

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* [Feature] Pretty Pydantic `ValidationError` exceptions (#6130)

* fix validator in fmp IndexHistorical model

* make ValidationError pretty

* modify arg error

* linting fmp IndexHistorical

* black

* remove unused code

* tmx etf info (#6132)

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* [Feature] - Platform V4 Markdown Generator V2 (#6094)

* add recent `openapi.json`

* fix data types in models

* removed `openapi.json`

* set default date value as None in PolygonCurrencyPairs class

* add function to generate reference.json file

* reworked function to improve readability

* reword function to add seo metadata

* add functions for creating markdown sections

* add code to extract data card markdown title

* add additional functions for generating index and data models file

* extract first sentence of the description for cards

* code cleanup and documentation

* linting

* linting polygon models

* add openbb import statement in create_reference_markdown_examples function

* add POST method functions

* cleanup; reworked generate_reference_index_files function

* moved development section to 7th position in the sidebar

* fix POST function params default value

add standard flag to QueryParams and Data fields

cleanup

* add type expansion from package_builder.MethodDefinition

* sort data models cards alphabetically

make printing less verbose

* make MAX_CARDS global

display less content in cards in Commannds section

* cleanup

* Remove '_' from the cards under Commands section

* " to ' in econometrics/causality

* replace ' with " in ReferenceCard for reference dir index files

* remove extra . from the quantile function description

* shoutout to @deeleeramone for finding POST method description bug!

* set correct value for standard field

* handle BaseModel types in provider data fields

* unit tests for the platform markdown generator v2

* yeet 'Default' and 'Optional' columns in the 'Data' section

* last minute bug fix

* add info for multiple symbols

* make multiple items info same as platform static

* organize sections properly

* sort reference sub-directories alphabetically

* extra space in 'OBBject extra' description

* add type expansion for fields with multiple items

POST method cleanup

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>

* [Docs] Adds Example Notebook for the Implied Earnings Move (#6128)

* adds example notebook for the implied earnings move

* remove commented out line

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [Feature] - Sync with new openapi.json (#6137)

* feat: create data tabs

* fix: uncomment

* fix: remove unecessary comment

* sort side bar

* comment

* uncomment

* use .dev functions.json + clean traverse

* fix futures example

* fix example

* point to .co

* Fix the v3 markdown generation workflow (#6138)

* fix workflow

* debug time

* see if the docs generate at least

* ahhhh i found it

* getting there

* put the test first

* some keys cleanup

* small change to error message

* update functions.json (#6140)

* fix intraday check in charting ta_class (#6119)

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>

* [BugFix] Display EconDB as source for macro (#6143)

* [BugFix] Disable Intrinio `InstitutionalOwnership` model (#6142)

* disable fetcher in init and fetcher tests

* disable provider test params from equity python and api tests

* updated static

* add more examples into findSymbols (#6139)

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* [BugFix] Fix SEC ETF Holdings Parsing Exception (#6121)

* fix etf holdings

* linting

* black

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Docs/update xl docs (#6145)

* remove print

* update obb.get docs

* example

* md lint

* fix get reference (#6147)

* [BugFix] Filter OECD data using `start_date` and `end_date` parameters (#6144)

* move constant dicts to constants.py

filter by start_date and end_date

* black

* black again again

* Merge 'main' into 'develop' (#6151)

* Release/3.2.4 (#5696)

* test

* ultima description (#5541)

* Updating showcase page (#5543)

* updating showcase page

* use sdk instead

* add new bot command autopost docs (#5530)

add new bot command autopost docs to docs.openbb.co

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Hotfix/ultima improvements (#5553)

* tweaks for monetization

* fix linting issue

* fix: Modify 'load' behavior to append data to existing sheet (#5503)

* fix: Modify 'load' behavior to append data to existing sheet

Details:
- Added logic to detect existing sheet and append data if present.
- There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number.

Resolves: #5472

* Fixed 'worksheet not found' error during export to an existing sheet

* Changes:
* Now if the sheet exists in the xlsx file it will ask the user if he
  wants to replace/append/create new sheet

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* added platform API integration test to Nightly build (#5571)

* Add columns to `stocks/search` (#5565)

* Add columns to `stocks/search`

isin, cusip, figi, composite_figi, shareclass_figi

* Update test_search[False].txt

* Update test_search[True].txt

* Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml

* Create test_search.yaml

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* updating ultima urls (#5587)

* fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591)

* Update README.md (#5598)

* Hotfix/econometrics export filename fix (#5508)

* fix: Modify 'load' behavior to append data to existing sheet

Details:
- Added logic to detect existing sheet and append data if present.
- There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number.

Resolves: #5472

* Added --export option for exporting to a desired file in /econometrics menu

* Added a -f/--file option to provide the filename for export.
Made -t/--type and -f/--file mutually exclusive.
If -f is not given, -t is required and the filename will be generated based on the time and module.

* Revert `helper_funcs.py` to original state

* Made some arguments not required.

* Minor changes asked by @deeleeramone

* No sheet name

* black

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* FIX #5600 Updated the Twitter logo to X logo (#5601)

* Change Ultima paragraph (#5624)

* change ultima paragraph

* remove old paragraph

* Update CONTRIBUTING.md (#5623)

* mobile line-brake fixed (#5604)

In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments.

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Docs/terminalpro and improvement (#5622)

* add first iteration of content for Terminal Pro

* Update index.md

* Update dashboards.md

* Update folders.md

* Update grouping.md

* Update report.md

* Update templates.md

* Update quick-start.md

* Update index.md

* Update index.md

* Update home.md

* Update news.md

* Update index.md

* Update index.md

* Update index.md

* Update data-provider.md

* Update chat-with-widget.md

* Update data-manipulation.md

* Update forecasting.md

* fix: images self closing tags

* fix: only pro visitors can see pro

* inter font

* improve SEO content and restructuring

* add new package for toggle on tutorials

* move folder around

* improve main page of each prod

* small updates and improvements

* fix logo above

* small improvement in headtitle for portfolio funcs

* fix typos from OpenAI's GPT-4

* fix _category_ json

* remove generic SEO words

* add script that generates SEO for documentation

* add missing file

* remove sdk warning message

* fix links for andrew

---------

Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>

* Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627)

* typo

* pro docs tab coloring

* sidebar selection blue

* redirecting missing

* fix docs (#5646)

* Fix the redirect for intro to the correct url for docs (#5658)

* fix the redirect for intro to the correct url for docs

* fix code linting

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Improve Pro documentation further (#5641)

* small improvement

* Fix TutorialVideo for mobile view

* main page terminal pro docs

* jose whelp

* placeholder index file that needs to be removed

* fix: fixes sidebar, removes unused index.md

* update link to api keys

* update api keys link

* fix hyperlinks in terminal helper

* fix a few more links

* fix some more links

* linter

* black linter

* improve main docs page for each product

* small refactor

* header to take to main page of product

* run OpenAI script to generate SEO for pro content

---------

Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>

* Update folders.md

* Update integrate-your-own-backend.md

* Update index.md

* Update settings.md (#5665)

* fix front matter (#5667)

* #5633 adding comma every 1000 (#5652)

* #5633 adding comma every 1000

* pylint

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* Hotfix/reports model render report sanitize inputs (#5669)

* Adding more robust special character handling to create_output_path().Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299

* Running black linter on code to conform to OBB style guides.

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676)

* fix histcont

* some cleanup

* remove sort line

* 12-31 not 12-12

* columns_keep_types

* remove space in regex (#5675)

* Pin openai (#5685)

* Clarified stocks/ta empty recom object message (#5468)

* Clarified stocks/ta empty recom object message

* black

* lint

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* improved market cap value extraction (#5169)

* improved market cap value extraction

* pylint

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* 3.2.3->3.2.4

* Changelogs

* new changelog

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Andrew <andrew.kenreich@gmail.com>
Co-authored-by: Adi Sai <adithya.sairam1@gmail.com>
Co-authored-by: Sandip Saha <sandipsmoto@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Luqman <luqazino@gmail.com>
Co-authored-by: Adwait <111136306+AdwaitSalankar@users.noreply.github.com>
Co-authored-by: Abhishek Amar <66067391+abhishek-amar@users.noreply.github.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: professssor <62937125+professssor@users.noreply.github.com>
Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com>
Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com>
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
Co-authored-by: Mohamad Fadil <fadil.parves@gmail.com>
Co-authored-by: Ramazan <guvencramazan@outlook.com>
Co-authored-by: joshuabuildsthings <joshuabuildsthings@users.noreply.github.com>
Co-authored-by: wojda <114031148+polooner@users.noreply.github.com>
Co-authored-by: Bim Phomthong <118195204+bimbolimbo@users.noreply.github.com>

* Release/4.0.1 (#5840)

* test

* ultima description (#5541)

* Updating showcase page (#5543)

* updating showcase page

* use sdk instead

* add new bot command autopost docs (#5530)

add new bot command autopost docs to docs.openbb.co

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Hotfix/ultima improvements (#5553)

* tweaks for monetization

* fix linting issue

* fix: Modify 'load' behavior to append data to existing sheet (#5503)

* fix: Modify 'load' behavior to append data to existing sheet

Details:
- Added logic to detect existing sheet and append data if present.
- There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number.

Resolves: #5472

* Fixed 'worksheet not found' error during export to an existing sheet

* Changes:
* Now if the sheet exists in the xlsx file it will ask the user if he
  wants to replace/append/create new sheet

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* added platform API integration test to Nightly build (#5571)

* Add columns to `stocks/search` (#5565)

* Add columns to `stocks/search`

isin, cusip, figi, composite_figi, shareclass_figi

* Update test_search[False].txt

* Update test_search[True].txt

* Delete tests/openbb_terminal/stocks/cassettes/test_stocks_helper/test_search.yaml

* Create test_search.yaml

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* updating ultima urls (#5587)

* fix: A value is trying to be set on a copy of a slice from a DataFrame #5582 (#5591)

* Update README.md (#5598)

* Hotfix/econometrics export filename fix (#5508)

* fix: Modify 'load' behavior to append data to existing sheet

Details:
- Added logic to detect existing sheet and append data if present.
- There is no direct way to append on the sheet, so I am reading the sheet to get the last row number and then writing after that row number.

Resolves: #5472

* Added --export option for exporting to a desired file in /econometrics menu

* Added a -f/--file option to provide the filename for export.
Made -t/--type and -f/--file mutually exclusive.
If -f is not given, -t is required and the filename will be generated based on the time and module.

* Revert `helper_funcs.py` to original state

* Made some arguments not required.

* Minor changes asked by @deeleeramone

* No sheet name

* black

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* FIX #5600 Updated the Twitter logo to X logo (#5601)

* Change Ultima paragraph (#5624)

* change ultima paragraph

* remove old paragraph

* Update CONTRIBUTING.md (#5623)

* mobile line-brake fixed (#5604)

In the mobile view (media max 400px ), the text line "Installation >>" appears broken into smaller segments.

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Docs/terminalpro and improvement (#5622)

* add first iteration of content for Terminal Pro

* Update index.md

* Update dashboards.md

* Update folders.md

* Update grouping.md

* Update report.md

* Update templates.md

* Update quick-start.md

* Update index.md

* Update index.md

* Update home.md

* Update news.md

* Update index.md

* Update index.md

* Update index.md

* Update data-provider.md

* Update chat-with-widget.md

* Update data-manipulation.md

* Update forecasting.md

* fix: images self closing tags

* fix: only pro visitors can see pro

* inter font

* improve SEO content and restructuring

* add new package for toggle on tutorials

* move folder around

* improve main page of each prod

* small updates and improvements

* fix logo above

* small improvement in headtitle for portfolio funcs

* fix typos from OpenAI's GPT-4

* fix _category_ json

* remove generic SEO words

* add script that generates SEO for documentation

* add missing file

* remove sdk warning message

* fix links for andrew

---------

Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>

* Add light blue banner, blue when clicking sidebar + fix link in docusaurus.config.js (#5627)

* typo

* pro docs tab coloring

* sidebar selection blue

* redirecting missing

* fix docs (#5646)

* Fix the redirect for intro to the correct url for docs (#5658)

* fix the redirect for intro to the correct url for docs

* fix code linting

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Improve Pro documentation further (#5641)

* small improvement

* Fix TutorialVideo for mobile view

* main page terminal pro docs

* jose whelp

* placeholder index file that needs to be removed

* fix: fixes sidebar, removes unused index.md

* update link to api keys

* update api keys link

* fix hyperlinks in terminal helper

* fix a few more links

* fix some more links

* linter

* black linter

* improve main docs page for each product

* small refactor

* header to take to main page of product

* run OpenAI script to generate SEO for pro content

---------

Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>

* Update folders.md

* Update integrate-your-own-backend.md

* Update index.md

* Update settings.md (#5665)

* fix front matter (#5667)

* #5633 adding comma every 1000 (#5652)

* #5633 adding comma every 1000

* pylint

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* Hotfix/reports model render report sanitize inputs (#5669)

* Adding more robust special character handling to create_output_path().Addresses https://github.com/OpenBB-finance/OpenBBTerminal/issues/5299

* Running black linter on code to conform to OBB style guides.

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* hotfix/fix-gov-histcont: Fix #5650 - /stocks/gov/histcont (#5676)

* fix histcont

* some cleanup

* remove sort line

* 12-31 not 12-12

* columns_keep_types

* remove space in regex (#5675)

* Pin openai (#5685)

* Clarified stocks/ta empty recom object message (#5468)

* Clarified stocks/ta empty recom object message

* black

* lint

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* improved market cap value extraction (#5169)

* improved market cap value extraction

* pylint

---------

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Release/3.2.4 (#5704)

* 3.2.3->3.2.4

* Changelogs

* new changelog

* OpenBB Platform v4 (#522…

* Added data connector docs (#6286)

* fix charting test

* Fix tests

* Fix Intrinio fetcher

* available indices fetcher

* pylint unused argument

* core

* extensions and providers

* update dependencies on the openbb platform package

* bumping commodity

* bumping commodity

* static

* [Docs] - Excel examples from openapi.json (#6318)

* fix: move website gitignore paths

* fix: use openapi.json examples

* Update .gitignore

* pro released

* commodity version

* Update __extensions__.py

* extension map

* more files

* clear merge conflicts

* forgot to clear check artifact

* more linting stuff apparently

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: tehcoderer <me@tehcoderer.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: Luqman <luqazino@gmail.com>
Co-authored-by: minhhoang1023 <40023817+minhhoang1023@users.noreply.github.com>
Co-authored-by: jose-donato <43375532+jose-donato@users.noreply.github.com>
Co-authored-by: Ayrton Parkinson <ayrton.parkinson1@gmail.com>
Co-authored-by: northern-64bit <75195383+northern-64bit@users.noreply.github.com>
Co-authored-by: Luqman <luqman.bello@openbb.finance>
Co-authored-by: Eric Li <38477812+EricLi-Dev@users.noreply.github.com>
Co-authored-by: Andrew <andrew.kenreich@gmail.com>
Co-authored-by: Michael Struwig <mnicstruwig@gmail.com>
Co-authored-by: capital0 <72140796+capital0@users.noreply.github.com>
Co-authored-by: Ben Van Doren <benvandoren@users.noreply.github.com>
Co-authored-by: Adi Sai <adithya.sairam1@gmail.com>
Co-authored-by: Sandip Saha <sandipsmoto@gmail.com>
Co-authored-by: Adwait <111136306+AdwaitSalankar@users.noreply.github.com>
Co-authored-by: Abhishek Amar <66067391+abhishek-amar@users.noreply.github.com>
Co-authored-by: professssor <62937125+professssor@users.noreply.github.com>
Co-authored-by: Farookh Zaheer Siddiqui <129654632+FarukhS52@users.noreply.github.com>
Co-authored-by: MAX SHESTOV <57421753+maxxsh@users.noreply.github.com>
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: Mohamad Fadil <fadil.parves@gmail.com>
Co-authored-by: Ramazan <guvencramazan@outlook.com>
Co-authored-by: joshuabuildsthings <joshuabuildsthings@users.noreply.github.com>
Co-authored-by: wojda <114031148+polooner@users.noreply.github.com>
Co-authored-by: Bim Phomthong <118195204+bimbolimbo@users.noreply.github.com>
Co-authored-by: Ramazan <guvencramazan@yandex.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: Colin Delahunty <72827203+colin99d@users.noreply.github.com>
2024-04-20 13:47:44 +00:00

3747 lines
164 KiB
Python

### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
import datetime
from typing import List, Literal, Optional, Union
from warnings import simplefilter, warn
from annotated_types import Ge
from openbb_core.app.deprecation import OpenBBDeprecationWarning
from openbb_core.app.model.field import OpenBBField
from openbb_core.app.model.obbject import OBBject
from openbb_core.app.static.container import Container
from openbb_core.app.static.utils.decorators import exception_handler, validate
from openbb_core.app.static.utils.filters import filter_inputs
from typing_extensions import Annotated, deprecated
class ROUTER_equity_fundamental(Container):
"""/equity/fundamental
balance
balance_growth
cash
cash_growth
dividends
employee_count
filings
historical_attributes
historical_eps
historical_splits
income
income_growth
latest_attributes
management
management_compensation
metrics
multiples
overview
ratios
reported_financials
revenue_per_geography
revenue_per_segment
search_attributes
trailing_dividend_yield
transcript
"""
def __repr__(self) -> str:
return self.__doc__ or ""
@exception_handler
@validate
def balance(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
period: Annotated[
str, OpenBBField(description="Time period of the data to return.")
] = "annual",
limit: Annotated[
Optional[Annotated[int, Ge(ge=0)]],
OpenBBField(description="The number of data entries to return."),
] = 5,
provider: Annotated[
Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the balance sheet for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
period : str
Time period of the data to return.
limit : Optional[Annotated[int, Ge(ge=0)]]
The number of data entries to return.
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.
fiscal_year : Optional[int]
The specific fiscal year. Reports do not go beyond 2008. (provider: intrinio)
filing_date : Optional[datetime.date]
Filing date of the financial statement. (provider: polygon)
filing_date_lt : Optional[datetime.date]
Filing date less than the given date. (provider: polygon)
filing_date_lte : Optional[datetime.date]
Filing date less than or equal to the given date. (provider: polygon)
filing_date_gt : Optional[datetime.date]
Filing date greater than the given date. (provider: polygon)
filing_date_gte : Optional[datetime.date]
Filing date greater than or equal to the given date. (provider: polygon)
period_of_report_date : Optional[datetime.date]
Period of report date of the financial statement. (provider: polygon)
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[datetime.date]
Period of report date less than or equal to the given date. (provider: polygon)
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[datetime.date]
Period of report date greater than or equal to the given date. (provider: polygon)
include_sources : bool
Whether to include the sources of the financial statement. (provider: polygon)
order : Optional[Literal['asc', 'desc']]
Order of the financial statement. (provider: polygon)
sort : Optional[Literal['filing_date', 'period_of_report_date']]
Sort of the financial statement. (provider: polygon)
Returns
-------
OBBject
results : List[BalanceSheet]
Serializable results.
provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
BalanceSheet
------------
period_ending : date
The end date of the reporting period.
fiscal_period : Optional[str]
The fiscal period of the report.
fiscal_year : Optional[int]
The fiscal year of the fiscal period.
filing_date : Optional[date]
The date when the filing was made. (provider: fmp)
accepted_date : Optional[datetime]
The date and time when the filing was accepted. (provider: fmp)
reported_currency : Optional[str]
The currency in which the balance sheet was reported. (provider: fmp, intrinio)
cash_and_cash_equivalents : Optional[float]
Cash and cash equivalents. (provider: fmp, intrinio)
short_term_investments : Optional[float]
Short term investments. (provider: fmp, intrinio)
cash_and_short_term_investments : Optional[float]
Cash and short term investments. (provider: fmp)
net_receivables : Optional[float]
Net receivables. (provider: fmp)
inventory : Optional[Union[float, int]]
Inventory. (provider: fmp, polygon)
other_current_assets : Optional[Union[float, int]]
Other current assets. (provider: fmp, intrinio, polygon)
total_current_assets : Optional[Union[float, int]]
Total current assets. (provider: fmp, intrinio, polygon)
plant_property_equipment_net : Optional[float]
Plant property equipment net. (provider: fmp, intrinio)
goodwill : Optional[float]
Goodwill. (provider: fmp, intrinio)
intangible_assets : Optional[Union[float, int]]
Intangible assets. (provider: fmp, intrinio, polygon)
goodwill_and_intangible_assets : Optional[float]
Goodwill and intangible assets. (provider: fmp)
long_term_investments : Optional[float]
Long term investments. (provider: fmp, intrinio)
tax_assets : Optional[float]
Tax assets. (provider: fmp)
other_non_current_assets : Optional[Union[float, int]]
Other non current assets. (provider: fmp, polygon)
non_current_assets : Optional[float]
Total non current assets. (provider: fmp)
other_assets : Optional[float]
Other assets. (provider: fmp, intrinio)
total_assets : Optional[Union[float, int]]
Total assets. (provider: fmp, intrinio, polygon)
accounts_payable : Optional[Union[float, int]]
Accounts payable. (provider: fmp, intrinio, polygon)
short_term_debt : Optional[float]
Short term debt. (provider: fmp, intrinio)
tax_payables : Optional[float]
Tax payables. (provider: fmp)
current_deferred_revenue : Optional[float]
Current deferred revenue. (provider: fmp, intrinio)
other_current_liabilities : Optional[Union[float, int]]
Other current liabilities. (provider: fmp, intrinio, polygon)
total_current_liabilities : Optional[Union[float, int]]
Total current liabilities. (provider: fmp, intrinio, polygon)
long_term_debt : Optional[Union[float, int]]
Long term debt. (provider: fmp, intrinio, polygon)
deferred_revenue_non_current : Optional[float]
Non current deferred revenue. (provider: fmp)
deferred_tax_liabilities_non_current : Optional[float]
Deferred tax liabilities non current. (provider: fmp)
other_non_current_liabilities : Optional[Union[float, int]]
Other non current liabilities. (provider: fmp, polygon)
total_non_current_liabilities : Optional[Union[float, int]]
Total non current liabilities. (provider: fmp, intrinio, polygon)
other_liabilities : Optional[float]
Other liabilities. (provider: fmp)
capital_lease_obligations : Optional[float]
Capital lease obligations. (provider: fmp, intrinio)
total_liabilities : Optional[Union[float, int]]
Total liabilities. (provider: fmp, intrinio, polygon)
preferred_stock : Optional[Union[float, int]]
Preferred stock. (provider: fmp, intrinio, polygon)
common_stock : Optional[float]
Common stock. (provider: fmp, intrinio)
retained_earnings : Optional[float]
Retained earnings. (provider: fmp, intrinio)
accumulated_other_comprehensive_income : Optional[float]
Accumulated other comprehensive income (loss). (provider: fmp, intrinio)
other_shareholders_equity : Optional[float]
Other shareholders equity. (provider: fmp)
other_total_shareholders_equity : Optional[float]
Other total shareholders equity. (provider: fmp)
total_common_equity : Optional[float]
Total common equity. (provider: fmp, intrinio)
total_equity_non_controlling_interests : Optional[float]
Total equity non controlling interests. (provider: fmp, intrinio)
total_liabilities_and_shareholders_equity : Optional[float]
Total liabilities and shareholders equity. (provider: fmp)
minority_interest : Optional[Union[float, int]]
Minority interest. (provider: fmp, polygon)
total_liabilities_and_total_equity : Optional[float]
Total liabilities and total equity. (provider: fmp)
total_investments : Optional[float]
Total investments. (provider: fmp)
total_debt : Optional[float]
Total debt. (provider: fmp)
net_debt : Optional[float]
Net debt. (provider: fmp)
link : Optional[str]
Link to the filing. (provider: fmp)
final_link : Optional[str]
Link to the filing document. (provider: fmp)
cash_and_due_from_banks : Optional[float]
Cash and due from banks. (provider: intrinio)
restricted_cash : Optional[float]
Restricted cash. (provider: intrinio)
federal_funds_sold : Optional[float]
Federal funds sold. (provider: intrinio)
accounts_receivable : Optional[Union[float, int]]
Accounts receivable. (provider: intrinio, polygon)
note_and_lease_receivable : Optional[float]
Note and lease receivable. (Vendor non-trade receivables) (provider: intrinio)
inventories : Optional[float]
Net Inventories. (provider: intrinio)
customer_and_other_receivables : Optional[float]
Customer and other receivables. (provider: intrinio)
interest_bearing_deposits_at_other_banks : Optional[float]
Interest bearing deposits at other banks. (provider: intrinio)
time_deposits_placed_and_other_short_term_investments : Optional[float]
Time deposits placed and other short term investments. (provider: intrinio)
trading_account_securities : Optional[float]
Trading account securities. (provider: intrinio)
loans_and_leases : Optional[float]
Loans and leases. (provider: intrinio)
allowance_for_loan_and_lease_losses : Optional[float]
Allowance for loan and lease losses. (provider: intrinio)
current_deferred_refundable_income_taxes : Optional[float]
Current deferred refundable income taxes. (provider: intrinio)
loans_and_leases_net_of_allowance : Optional[float]
Loans and leases net of allowance. (provider: intrinio)
accrued_investment_income : Optional[float]
Accrued investment income. (provider: intrinio)
other_current_non_operating_assets : Optional[float]
Other current non-operating assets. (provider: intrinio)
loans_held_for_sale : Optional[float]
Loans held for sale. (provider: intrinio)
prepaid_expenses : Optional[Union[float, int]]
Prepaid expenses. (provider: intrinio, polygon)
plant_property_equipment_gross : Optional[float]
Plant property equipment gross. (provider: intrinio)
accumulated_depreciation : Optional[float]
Accumulated depreciation. (provider: intrinio)
premises_and_equipment_net : Optional[float]
Net premises and equipment. (provider: intrinio)
mortgage_servicing_rights : Optional[float]
Mortgage servicing rights. (provider: intrinio)
unearned_premiums_asset : Optional[float]
Unearned premiums asset. (provider: intrinio)
non_current_note_lease_receivables : Optional[float]
Non-current note lease receivables. (provider: intrinio)
deferred_acquisition_cost : Optional[float]
Deferred acquisition cost. (provider: intrinio)
separate_account_business_assets : Optional[float]
Separate account business assets. (provider: intrinio)
non_current_deferred_refundable_income_taxes : Optional[float]
Noncurrent deferred refundable income taxes. (provider: intrinio)
employee_benefit_assets : Optional[float]
Employee benefit assets. (provider: intrinio)
other_non_current_operating_assets : Optional[float]
Other noncurrent operating assets. (provider: intrinio)
other_non_current_non_operating_assets : Optional[float]
Other noncurrent non-operating assets. (provider: intrinio)
interest_bearing_deposits : Optional[float]
Interest bearing deposits. (provider: intrinio)
total_non_current_assets : Optional[Union[float, int]]
Total noncurrent assets. (provider: intrinio, polygon)
non_interest_bearing_deposits : Optional[float]
Non interest bearing deposits. (provider: intrinio)
federal_funds_purchased_and_securities_sold : Optional[float]
Federal funds purchased and securities sold. (provider: intrinio)
bankers_acceptance_outstanding : Optional[float]
Bankers acceptance outstanding. (provider: intrinio)
current_deferred_payable_income_tax_liabilities : Optional[float]
Current deferred payable income tax liabilities. (provider: intrinio)
accrued_interest_payable : Optional[float]
Accrued interest payable. (provider: intrinio)
accrued_expenses : Optional[float]
Accrued expenses. (provider: intrinio)
other_short_term_payables : Optional[float]
Other short term payables. (provider: intrinio)
customer_deposits : Optional[float]
Customer deposits. (provider: intrinio)
dividends_payable : Optional[float]
Dividends payable. (provider: intrinio)
claims_and_claim_expense : Optional[float]
Claims and claim expense. (provider: intrinio)
future_policy_benefits : Optional[float]
Future policy benefits. (provider: intrinio)
current_employee_benefit_liabilities : Optional[float]
Current employee benefit liabilities. (provider: intrinio)
unearned_premiums_liability : Optional[float]
Unearned premiums liability. (provider: intrinio)
other_taxes_payable : Optional[float]
Other taxes payable. (provider: intrinio)
policy_holder_funds : Optional[float]
Policy holder funds. (provider: intrinio)
other_current_non_operating_liabilities : Optional[float]
Other current non-operating liabilities. (provider: intrinio)
separate_account_business_liabilities : Optional[float]
Separate account business liabilities. (provider: intrinio)
other_long_term_liabilities : Optional[float]
Other long term liabilities. (provider: intrinio)
non_current_deferred_revenue : Optional[float]
Non-current deferred revenue. (provider: intrinio)
non_current_deferred_payable_income_tax_liabilities : Optional[float]
Non-current deferred payable income tax liabilities. (provider: intrinio)
non_current_employee_benefit_liabilities : Optional[float]
Non-current employee benefit liabilities. (provider: intrinio)
other_non_current_operating_liabilities : Optional[float]
Other non-current operating liabilities. (provider: intrinio)
other_non_current_non_operating_liabilities : Optional[float]
Other non-current, non-operating liabilities. (provider: intrinio)
asset_retirement_reserve_litigation_obligation : Optional[float]
Asset retirement reserve litigation obligation. (provider: intrinio)
commitments_contingencies : Optional[float]
Commitments contingencies. (provider: intrinio)
redeemable_non_controlling_interest : Optional[Union[float, int]]
Redeemable non-controlling interest. (provider: intrinio, polygon)
treasury_stock : Optional[float]
Treasury stock. (provider: intrinio)
participating_policy_holder_equity : Optional[float]
Participating policy holder equity. (provider: intrinio)
other_equity_adjustments : Optional[float]
Other equity adjustments. (provider: intrinio)
total_preferred_common_equity : Optional[float]
Total preferred common equity. (provider: intrinio)
non_controlling_interest : Optional[float]
Non-controlling interest. (provider: intrinio)
total_liabilities_shareholders_equity : Optional[float]
Total liabilities and shareholders equity. (provider: intrinio)
marketable_securities : Optional[int]
Marketable securities (provider: polygon)
property_plant_equipment_net : Optional[int]
Property plant and equipment net (provider: polygon)
employee_wages : Optional[int]
Employee wages (provider: polygon)
temporary_equity_attributable_to_parent : Optional[int]
Temporary equity attributable to parent (provider: polygon)
equity_attributable_to_parent : Optional[int]
Equity attributable to parent (provider: polygon)
temporary_equity : Optional[int]
Temporary equity (provider: polygon)
redeemable_non_controlling_interest_other : Optional[int]
Redeemable non-controlling interest other (provider: polygon)
total_stock_holders_equity : Optional[int]
Total stock holders equity (provider: polygon)
total_liabilities_and_stock_holders_equity : Optional[int]
Total liabilities and stockholders equity (provider: polygon)
total_equity : Optional[int]
Total equity (provider: polygon)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.balance(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.balance(symbol='AAPL', period='annual', limit=5, provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/balance",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/balance",
("fmp", "intrinio", "polygon", "yfinance"),
)
},
standard_params={
"symbol": symbol,
"period": period,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def balance_growth(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
limit: Annotated[
int, OpenBBField(description="The number of data entries to return.")
] = 10,
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the growth of a company's balance sheet items over time.
Parameters
----------
symbol : str
Symbol to get data for.
limit : 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.
Returns
-------
OBBject
results : List[BalanceSheetGrowth]
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.
BalanceSheetGrowth
------------------
symbol : Optional[str]
Symbol representing the entity requested in the data.
date : date
The date of the data.
period : str
Reporting period.
growth_cash_and_cash_equivalents : float
Growth rate of cash and cash equivalents.
growth_short_term_investments : float
Growth rate of short-term investments.
growth_cash_and_short_term_investments : float
Growth rate of cash and short-term investments.
growth_net_receivables : float
Growth rate of net receivables.
growth_inventory : float
Growth rate of inventory.
growth_other_current_assets : float
Growth rate of other current assets.
growth_total_current_assets : float
Growth rate of total current assets.
growth_property_plant_equipment_net : float
Growth rate of net property, plant, and equipment.
growth_goodwill : float
Growth rate of goodwill.
growth_intangible_assets : float
Growth rate of intangible assets.
growth_goodwill_and_intangible_assets : float
Growth rate of goodwill and intangible assets.
growth_long_term_investments : float
Growth rate of long-term investments.
growth_tax_assets : float
Growth rate of tax assets.
growth_other_non_current_assets : float
Growth rate of other non-current assets.
growth_total_non_current_assets : float
Growth rate of total non-current assets.
growth_other_assets : float
Growth rate of other assets.
growth_total_assets : float
Growth rate of total assets.
growth_account_payables : float
Growth rate of accounts payable.
growth_short_term_debt : float
Growth rate of short-term debt.
growth_tax_payables : float
Growth rate of tax payables.
growth_deferred_revenue : float
Growth rate of deferred revenue.
growth_other_current_liabilities : float
Growth rate of other current liabilities.
growth_total_current_liabilities : float
Growth rate of total current liabilities.
growth_long_term_debt : float
Growth rate of long-term debt.
growth_deferred_revenue_non_current : float
Growth rate of non-current deferred revenue.
growth_deferrred_tax_liabilities_non_current : float
Growth rate of non-current deferred tax liabilities.
growth_other_non_current_liabilities : float
Growth rate of other non-current liabilities.
growth_total_non_current_liabilities : float
Growth rate of total non-current liabilities.
growth_other_liabilities : float
Growth rate of other liabilities.
growth_total_liabilities : float
Growth rate of total liabilities.
growth_common_stock : float
Growth rate of common stock.
growth_retained_earnings : float
Growth rate of retained earnings.
growth_accumulated_other_comprehensive_income_loss : float
Growth rate of accumulated other comprehensive income/loss.
growth_othertotal_stockholders_equity : float
Growth rate of other total stockholders' equity.
growth_total_stockholders_equity : float
Growth rate of total stockholders' equity.
growth_total_liabilities_and_stockholders_equity : float
Growth rate of total liabilities and stockholders' equity.
growth_total_investments : float
Growth rate of total investments.
growth_total_debt : float
Growth rate of total debt.
growth_net_debt : float
Growth rate of net debt.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.balance_growth(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.balance_growth(symbol='AAPL', limit=10, provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/balance_growth",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/balance_growth",
("fmp",),
)
},
standard_params={
"symbol": symbol,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def cash(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
period: Annotated[
str, OpenBBField(description="Time period of the data to return.")
] = "annual",
limit: Annotated[
Optional[Annotated[int, Ge(ge=0)]],
OpenBBField(description="The number of data entries to return."),
] = 5,
provider: Annotated[
Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the cash flow statement for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
period : str
Time period of the data to return.
limit : Optional[Annotated[int, Ge(ge=0)]]
The number of data entries to return.
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.
fiscal_year : Optional[int]
The specific fiscal year. Reports do not go beyond 2008. (provider: intrinio)
filing_date : Optional[datetime.date]
Filing date of the financial statement. (provider: polygon)
filing_date_lt : Optional[datetime.date]
Filing date less than the given date. (provider: polygon)
filing_date_lte : Optional[datetime.date]
Filing date less than or equal to the given date. (provider: polygon)
filing_date_gt : Optional[datetime.date]
Filing date greater than the given date. (provider: polygon)
filing_date_gte : Optional[datetime.date]
Filing date greater than or equal to the given date. (provider: polygon)
period_of_report_date : Optional[datetime.date]
Period of report date of the financial statement. (provider: polygon)
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[datetime.date]
Period of report date less than or equal to the given date. (provider: polygon)
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[datetime.date]
Period of report date greater than or equal to the given date. (provider: polygon)
include_sources : bool
Whether to include the sources of the financial statement. (provider: polygon)
order : Literal[None, 'asc', 'desc']
Order of the financial statement. (provider: polygon)
sort : Literal[None, 'filing_date', 'period_of_report_date']
Sort of the financial statement. (provider: polygon)
Returns
-------
OBBject
results : List[CashFlowStatement]
Serializable results.
provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
CashFlowStatement
-----------------
period_ending : date
The end date of the reporting period.
fiscal_period : Optional[str]
The fiscal period of the report.
fiscal_year : Optional[int]
The fiscal year of the fiscal period.
filing_date : Optional[date]
The date of the filing. (provider: fmp)
accepted_date : Optional[datetime]
The date the filing was accepted. (provider: fmp)
reported_currency : Optional[str]
The currency in which the cash flow statement was reported. (provider: fmp);
The currency in which the balance sheet is reported. (provider: intrinio)
net_income : Optional[float]
Net income. (provider: fmp);
Consolidated Net Income. (provider: intrinio)
depreciation_and_amortization : Optional[float]
Depreciation and amortization. (provider: fmp)
deferred_income_tax : Optional[float]
Deferred income tax. (provider: fmp)
stock_based_compensation : Optional[float]
Stock-based compensation. (provider: fmp)
change_in_working_capital : Optional[float]
Change in working capital. (provider: fmp)
change_in_account_receivables : Optional[float]
Change in account receivables. (provider: fmp)
change_in_inventory : Optional[float]
Change in inventory. (provider: fmp)
change_in_account_payable : Optional[float]
Change in account payable. (provider: fmp)
change_in_other_working_capital : Optional[float]
Change in other working capital. (provider: fmp)
change_in_other_non_cash_items : Optional[float]
Change in other non-cash items. (provider: fmp)
net_cash_from_operating_activities : Optional[float]
Net cash from operating activities. (provider: fmp, intrinio)
purchase_of_property_plant_and_equipment : Optional[float]
Purchase of property, plant and equipment. (provider: fmp, intrinio)
acquisitions : Optional[float]
Acquisitions. (provider: fmp, intrinio)
purchase_of_investment_securities : Optional[float]
Purchase of investment securities. (provider: fmp, intrinio)
sale_and_maturity_of_investments : Optional[float]
Sale and maturity of investments. (provider: fmp, intrinio)
other_investing_activities : Optional[float]
Other investing activities. (provider: fmp, intrinio)
net_cash_from_investing_activities : Optional[float]
Net cash from investing activities. (provider: fmp, intrinio)
repayment_of_debt : Optional[float]
Repayment of debt. (provider: fmp, intrinio)
issuance_of_common_equity : Optional[float]
Issuance of common equity. (provider: fmp, intrinio)
repurchase_of_common_equity : Optional[float]
Repurchase of common equity. (provider: fmp, intrinio)
payment_of_dividends : Optional[float]
Payment of dividends. (provider: fmp, intrinio)
other_financing_activities : Optional[float]
Other financing activities. (provider: fmp, intrinio)
net_cash_from_financing_activities : Optional[float]
Net cash from financing activities. (provider: fmp, intrinio)
effect_of_exchange_rate_changes_on_cash : Optional[float]
Effect of exchange rate changes on cash. (provider: fmp)
net_change_in_cash_and_equivalents : Optional[float]
Net change in cash and equivalents. (provider: fmp, intrinio)
cash_at_beginning_of_period : Optional[float]
Cash at beginning of period. (provider: fmp)
cash_at_end_of_period : Optional[float]
Cash at end of period. (provider: fmp)
operating_cash_flow : Optional[float]
Operating cash flow. (provider: fmp)
capital_expenditure : Optional[float]
Capital expenditure. (provider: fmp)
free_cash_flow : Optional[float]
None
link : Optional[str]
Link to the filing. (provider: fmp)
final_link : Optional[str]
Link to the filing document. (provider: fmp)
net_income_continuing_operations : Optional[float]
Net Income (Continuing Operations) (provider: intrinio)
net_income_discontinued_operations : Optional[float]
Net Income (Discontinued Operations) (provider: intrinio)
provision_for_loan_losses : Optional[float]
Provision for Loan Losses (provider: intrinio)
provision_for_credit_losses : Optional[float]
Provision for credit losses (provider: intrinio)
depreciation_expense : Optional[float]
Depreciation Expense. (provider: intrinio)
amortization_expense : Optional[float]
Amortization Expense. (provider: intrinio)
share_based_compensation : Optional[float]
Share-based compensation. (provider: intrinio)
non_cash_adjustments_to_reconcile_net_income : Optional[float]
Non-Cash Adjustments to Reconcile Net Income. (provider: intrinio)
changes_in_operating_assets_and_liabilities : Optional[float]
Changes in Operating Assets and Liabilities (Net) (provider: intrinio)
net_cash_from_continuing_operating_activities : Optional[float]
Net Cash from Continuing Operating Activities (provider: intrinio)
net_cash_from_discontinued_operating_activities : Optional[float]
Net Cash from Discontinued Operating Activities (provider: intrinio)
divestitures : Optional[float]
Divestitures (provider: intrinio)
sale_of_property_plant_and_equipment : Optional[float]
Sale of Property, Plant, and Equipment (provider: intrinio)
purchase_of_investments : Optional[float]
Purchase of Investments (provider: intrinio)
loans_held_for_sale : Optional[float]
Loans Held for Sale (Net) (provider: intrinio)
net_cash_from_continuing_investing_activities : Optional[float]
Net Cash from Continuing Investing Activities (provider: intrinio)
net_cash_from_discontinued_investing_activities : Optional[float]
Net Cash from Discontinued Investing Activities (provider: intrinio)
repurchase_of_preferred_equity : Optional[float]
Repurchase of Preferred Equity (provider: intrinio)
issuance_of_preferred_equity : Optional[float]
Issuance of Preferred Equity (provider: intrinio)
issuance_of_debt : Optional[float]
Issuance of Debt (provider: intrinio)
cash_interest_received : Optional[float]
Cash Interest Received (provider: intrinio)
net_change_in_deposits : Optional[float]
Net Change in Deposits (provider: intrinio)
net_increase_in_fed_funds_sold : Optional[float]
Net Increase in Fed Funds Sold (provider: intrinio)
net_cash_from_continuing_financing_activities : Optional[float]
Net Cash from Continuing Financing Activities (provider: intrinio)
net_cash_from_discontinued_financing_activities : Optional[float]
Net Cash from Discontinued Financing Activities (provider: intrinio)
effect_of_exchange_rate_changes : Optional[float]
Effect of Exchange Rate Changes (provider: intrinio)
other_net_changes_in_cash : Optional[float]
Other Net Changes in Cash (provider: intrinio)
cash_income_taxes_paid : Optional[float]
Cash Income Taxes Paid (provider: intrinio)
cash_interest_paid : Optional[float]
Cash Interest Paid (provider: intrinio)
net_cash_flow_from_operating_activities_continuing : Optional[int]
Net cash flow from operating activities continuing. (provider: polygon)
net_cash_flow_from_operating_activities_discontinued : Optional[int]
Net cash flow from operating activities discontinued. (provider: polygon)
net_cash_flow_from_operating_activities : Optional[int]
Net cash flow from operating activities. (provider: polygon)
net_cash_flow_from_investing_activities_continuing : Optional[int]
Net cash flow from investing activities continuing. (provider: polygon)
net_cash_flow_from_investing_activities_discontinued : Optional[int]
Net cash flow from investing activities discontinued. (provider: polygon)
net_cash_flow_from_investing_activities : Optional[int]
Net cash flow from investing activities. (provider: polygon)
net_cash_flow_from_financing_activities_continuing : Optional[int]
Net cash flow from financing activities continuing. (provider: polygon)
net_cash_flow_from_financing_activities_discontinued : Optional[int]
Net cash flow from financing activities discontinued. (provider: polygon)
net_cash_flow_from_financing_activities : Optional[int]
Net cash flow from financing activities. (provider: polygon)
net_cash_flow_continuing : Optional[int]
Net cash flow continuing. (provider: polygon)
net_cash_flow_discontinued : Optional[int]
Net cash flow discontinued. (provider: polygon)
exchange_gains_losses : Optional[int]
Exchange gains losses. (provider: polygon)
net_cash_flow : Optional[int]
Net cash flow. (provider: polygon)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.cash(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.cash(symbol='AAPL', period='annual', limit=5, provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/cash",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/cash",
("fmp", "intrinio", "polygon", "yfinance"),
)
},
standard_params={
"symbol": symbol,
"period": period,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def cash_growth(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
limit: Annotated[
int, OpenBBField(description="The number of data entries to return.")
] = 10,
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the growth of a company's cash flow statement items over time.
Parameters
----------
symbol : str
Symbol to get data for.
limit : 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.
Returns
-------
OBBject
results : List[CashFlowStatementGrowth]
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.
CashFlowStatementGrowth
-----------------------
symbol : Optional[str]
Symbol representing the entity requested in the data.
date : date
The date of the data.
period : str
Period the statement is returned for.
growth_net_income : float
Growth rate of net income.
growth_depreciation_and_amortization : float
Growth rate of depreciation and amortization.
growth_deferred_income_tax : float
Growth rate of deferred income tax.
growth_stock_based_compensation : float
Growth rate of stock-based compensation.
growth_change_in_working_capital : float
Growth rate of change in working capital.
growth_accounts_receivables : float
Growth rate of accounts receivables.
growth_inventory : float
Growth rate of inventory.
growth_accounts_payables : float
Growth rate of accounts payables.
growth_other_working_capital : float
Growth rate of other working capital.
growth_other_non_cash_items : float
Growth rate of other non-cash items.
growth_net_cash_provided_by_operating_activities : float
Growth rate of net cash provided by operating activities.
growth_investments_in_property_plant_and_equipment : float
Growth rate of investments in property, plant, and equipment.
growth_acquisitions_net : float
Growth rate of net acquisitions.
growth_purchases_of_investments : float
Growth rate of purchases of investments.
growth_sales_maturities_of_investments : float
Growth rate of sales maturities of investments.
growth_other_investing_activities : float
Growth rate of other investing activities.
growth_net_cash_used_for_investing_activities : float
Growth rate of net cash used for investing activities.
growth_debt_repayment : float
Growth rate of debt repayment.
growth_common_stock_issued : float
Growth rate of common stock issued.
growth_common_stock_repurchased : float
Growth rate of common stock repurchased.
growth_dividends_paid : float
Growth rate of dividends paid.
growth_other_financing_activities : float
Growth rate of other financing activities.
growth_net_cash_used_provided_by_financing_activities : float
Growth rate of net cash used/provided by financing activities.
growth_effect_of_forex_changes_on_cash : float
Growth rate of the effect of foreign exchange changes on cash.
growth_net_change_in_cash : float
Growth rate of net change in cash.
growth_cash_at_end_of_period : float
Growth rate of cash at the end of the period.
growth_cash_at_beginning_of_period : float
Growth rate of cash at the beginning of the period.
growth_operating_cash_flow : float
Growth rate of operating cash flow.
growth_capital_expenditure : float
Growth rate of capital expenditure.
growth_free_cash_flow : float
Growth rate of free cash flow.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.cash_growth(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.cash_growth(symbol='AAPL', limit=10, provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/cash_growth",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/cash_growth",
("fmp",),
)
},
standard_params={
"symbol": symbol,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def dividends(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
] = None,
provider: Annotated[
Optional[Literal["fmp", "intrinio", "yfinance"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get historical dividend data for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
start_date : Union[datetime.date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[datetime.date, None, str]
End date of the data, in YYYY-MM-DD format.
provider : Optional[Literal['fmp', 'intrinio', '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.
limit : Optional[int]
The number of data entries to return. (provider: intrinio)
Returns
-------
OBBject
results : List[HistoricalDividends]
Serializable results.
provider : Optional[Literal['fmp', 'intrinio', 'yfinance']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
HistoricalDividends
-------------------
ex_dividend_date : date
The ex-dividend date - the date on which the stock begins trading without rights to the dividend.
amount : float
The dividend amount per share.
label : Optional[str]
Label of the historical dividends. (provider: fmp)
adj_dividend : Optional[float]
Adjusted dividend of the historical dividends. (provider: fmp)
record_date : Optional[date]
Record date of the historical dividends. (provider: fmp)
payment_date : Optional[date]
Payment date of the historical dividends. (provider: fmp)
declaration_date : Optional[date]
Declaration date of the historical dividends. (provider: fmp)
factor : Optional[float]
factor by which to multiply stock prices before this date, in order to calculate historically-adjusted stock prices. (provider: intrinio)
currency : Optional[str]
The currency in which the dividend is paid. (provider: intrinio)
split_ratio : Optional[float]
The ratio of the stock split, if a stock split occurred. (provider: intrinio)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.dividends(symbol='AAPL', provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/dividends",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/dividends",
("fmp", "intrinio", "yfinance"),
)
},
standard_params={
"symbol": symbol,
"start_date": start_date,
"end_date": end_date,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def employee_count(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get historical employee count data for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
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.
Returns
-------
OBBject
results : List[HistoricalEmployees]
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.
HistoricalEmployees
-------------------
symbol : str
Symbol representing the entity requested in the data.
cik : int
Central Index Key (CIK) for the requested entity.
acceptance_time : datetime
Time of acceptance of the company employee.
period_of_report : date
Date of reporting of the company employee.
company_name : str
Registered name of the company to retrieve the historical employees of.
form_type : str
Form type of the company employee.
filing_date : date
Filing date of the company employee
employee_count : int
Count of employees of the company.
source : str
Source URL which retrieves this data for the company.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.employee_count(symbol='AAPL', provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/employee_count",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/employee_count",
("fmp",),
)
},
standard_params={
"symbol": symbol,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def filings(
self,
symbol: Annotated[
Optional[str], OpenBBField(description="Symbol to get data for.")
] = None,
form_type: Annotated[
Optional[str],
OpenBBField(
description="Filter by form type. Check the data provider for available types."
),
] = None,
limit: Annotated[
int, OpenBBField(description="The number of data entries to return.")
] = 100,
provider: Annotated[
Optional[Literal["fmp", "intrinio", "sec"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the URLs to SEC filings reported to EDGAR database, such as 10-K, 10-Q, 8-K, and more. SEC
filings include Form 10-K, Form 10-Q, Form 8-K, the proxy statement, Forms 3, 4, and 5, Schedule 13, Form 114,
Foreign Investment Disclosures and others. The annual 10-K report is required to be
filed annually and includes the company's financial statements, management discussion and analysis,
and audited financial statements.
Parameters
----------
symbol : Optional[str]
Symbol to get data for.
form_type : Optional[str]
Filter by form type. Check the data provider for available types.
limit : int
The number of data entries to return.
provider : Optional[Literal['fmp', 'intrinio', 'sec']]
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.
start_date : Optional[datetime.date]
Start date of the data, in YYYY-MM-DD format. (provider: intrinio)
end_date : Optional[datetime.date]
End date of the data, in YYYY-MM-DD format. (provider: intrinio)
thea_enabled : Optional[bool]
Return filings that have been read by Intrinio's Thea NLP. (provider: intrinio)
cik : Optional[Union[int, str]]
Lookup filings by Central Index Key (CIK) instead of by symbol. (provider: sec)
type : Optional[Literal['1', '1-A', '1-A POS', '1-A-W', '1-E', '1-E AD', '1-K', '1-SA', '1-U', '1-Z', '1-Z-W', '10-12B', '10-12G', '10-D', '10-K', '10-KT', '10-Q', '10-QT', '11-K', '11-KT', '13F-HR', '13F-NT', '13FCONP', '144', '15-12B', '15-12G', '15-15D', '15F-12B', '15F-12G', '15F-15D', '18-12B', '18-K', '19B-4E', '2-A', '2-AF', '2-E', '20-F', '20FR12B', '20FR12G', '24F-2NT', '25', '25-NSE', '253G1', '253G2', '253G3', '253G4', '3', '305B2', '34-12H', '4', '40-17F1', '40-17F2', '40-17G', '40-17GCS', '40-202A', '40-203A', '40-206A', '40-24B2', '40-33', '40-6B', '40-8B25', '40-8F-2', '40-APP', '40-F', '40-OIP', '40FR12B', '40FR12G', '424A', '424B1', '424B2', '424B3', '424B4', '424B5', '424B7', '424B8', '424H', '425', '485APOS', '485BPOS', '485BXT', '486APOS', '486BPOS', '486BXT', '487', '497', '497AD', '497H2', '497J', '497K', '497VPI', '497VPU', '5', '6-K', '6B NTC', '6B ORDR', '8-A12B', '8-A12G', '8-K', '8-K12B', '8-K12G3', '8-K15D5', '8-M', '8F-2 NTC', '8F-2 ORDR', '9-M', 'ABS-15G', 'ABS-EE', 'ADN-MTL', 'ADV-E', 'ADV-H-C', 'ADV-H-T', 'ADV-NR', 'ANNLRPT', 'APP NTC', 'APP ORDR', 'APP WD', 'APP WDG', 'ARS', 'ATS-N', 'ATS-N-C', 'ATS-N/UA', 'AW', 'AW WD', 'C', 'C-AR', 'C-AR-W', 'C-TR', 'C-TR-W', 'C-U', 'C-U-W', 'C-W', 'CB', 'CERT', 'CERTARCA', 'CERTBATS', 'CERTCBO', 'CERTNAS', 'CERTNYS', 'CERTPAC', 'CFPORTAL', 'CFPORTAL-W', 'CORRESP', 'CT ORDER', 'D', 'DEF 14A', 'DEF 14C', 'DEFA14A', 'DEFA14C', 'DEFC14A', 'DEFC14C', 'DEFM14A', 'DEFM14C', 'DEFN14A', 'DEFR14A', 'DEFR14C', 'DEL AM', 'DFAN14A', 'DFRN14A', 'DOS', 'DOSLTR', 'DRS', 'DRSLTR', 'DSTRBRPT', 'EFFECT', 'F-1', 'F-10', 'F-10EF', 'F-10POS', 'F-1MEF', 'F-3', 'F-3ASR', 'F-3D', 'F-3DPOS', 'F-3MEF', 'F-4', 'F-4 POS', 'F-4MEF', 'F-6', 'F-6 POS', 'F-6EF', 'F-7', 'F-7 POS', 'F-8', 'F-8 POS', 'F-80', 'F-80POS', 'F-9', 'F-9 POS', 'F-N', 'F-X', 'FOCUSN', 'FWP', 'G-405', 'G-405N', 'G-FIN', 'G-FINW', 'IRANNOTICE', 'MA', 'MA-A', 'MA-I', 'MA-W', 'MSD', 'MSDCO', 'MSDW', 'N-1', 'N-14', 'N-14 8C', 'N-14MEF', 'N-18F1', 'N-1A', 'N-2', 'N-2 POSASR', 'N-23C-2', 'N-23C3A', 'N-23C3B', 'N-23C3C', 'N-2ASR', 'N-2MEF', 'N-30B-2', 'N-30D', 'N-4', 'N-5', 'N-54A', 'N-54C', 'N-6', 'N-6F', 'N-8A', 'N-8B-2', 'N-8F', 'N-8F NTC', 'N-8F ORDR', 'N-CEN', 'N-CR', 'N-CSR', 'N-CSRS', 'N-MFP', 'N-MFP1', 'N-MFP2', 'N-PX', 'N-Q', 'N-VP', 'N-VPFS', 'NO ACT', 'NPORT-EX', 'NPORT-NP', 'NPORT-P', 'NRSRO-CE', 'NRSRO-UPD', 'NSAR-A', 'NSAR-AT', 'NSAR-B', 'NSAR-BT', 'NSAR-U', 'NT 10-D', 'NT 10-K', 'NT 10-Q', 'NT 11-K', 'NT 20-F', 'NT N-CEN', 'NT N-MFP', 'NT N-MFP1', 'NT N-MFP2', 'NT NPORT-EX', 'NT NPORT-P', 'NT-NCEN', 'NT-NCSR', 'NT-NSAR', 'NTFNCEN', 'NTFNCSR', 'NTFNSAR', 'NTN 10D', 'NTN 10K', 'NTN 10Q', 'NTN 20F', 'OIP NTC', 'OIP ORDR', 'POS 8C', 'POS AM', 'POS AMI', 'POS EX', 'POS462B', 'POS462C', 'POSASR', 'PRE 14A', 'PRE 14C', 'PREC14A', 'PREC14C', 'PREM14A', 'PREM14C', 'PREN14A', 'PRER14A', 'PRER14C', 'PRRN14A', 'PX14A6G', 'PX14A6N', 'QRTLYRPT', 'QUALIF', 'REG-NR', 'REVOKED', 'RW', 'RW WD', 'S-1', 'S-11', 'S-11MEF', 'S-1MEF', 'S-20', 'S-3', 'S-3ASR', 'S-3D', 'S-3DPOS', 'S-3MEF', 'S-4', 'S-4 POS', 'S-4EF', 'S-4MEF', 'S-6', 'S-8', 'S-8 POS', 'S-B', 'S-BMEF', 'SBSE', 'SBSE-A', 'SBSE-BD', 'SBSE-C', 'SBSE-W', 'SC 13D', 'SC 13E1', 'SC 13E3', 'SC 13G', 'SC 14D9', 'SC 14F1', 'SC 14N', 'SC TO-C', 'SC TO-I', 'SC TO-T', 'SC13E4F', 'SC14D1F', 'SC14D9C', 'SC14D9F', 'SD', 'SDR', 'SE', 'SEC ACTION', 'SEC STAFF ACTION', 'SEC STAFF LETTER', 'SF-1', 'SF-3', 'SL', 'SP 15D2', 'STOP ORDER', 'SUPPL', 'T-3', 'TA-1', 'TA-2', 'TA-W', 'TACO', 'TH', 'TTW', 'UNDER', 'UPLOAD', 'WDL-REQ', 'X-17A-5']]
Type of the SEC filing form. (provider: sec)
use_cache : bool
Whether or not to use cache. If True, cache will store for one day. (provider: sec)
Returns
-------
OBBject
results : List[CompanyFilings]
Serializable results.
provider : Optional[Literal['fmp', 'intrinio', 'sec']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
CompanyFilings
--------------
filing_date : date
The date of the filing.
accepted_date : Optional[datetime]
Accepted date of the filing.
symbol : Optional[str]
Symbol representing the entity requested in the data.
cik : Optional[str]
Central Index Key (CIK) for the requested entity.
report_type : Optional[str]
Type of filing.
filing_url : Optional[str]
URL to the filing page.
report_url : str
URL to the actual report.
id : Optional[str]
Intrinio ID of the filing. (provider: intrinio)
period_end_date : Optional[date]
Ending date of the fiscal period for the filing. (provider: intrinio)
sec_unique_id : Optional[str]
SEC unique ID of the filing. (provider: intrinio)
instance_url : Optional[str]
URL for the XBRL filing for the report. (provider: intrinio)
industry_group : Optional[str]
Industry group of the company. (provider: intrinio)
industry_category : Optional[str]
Industry category of the company. (provider: intrinio)
report_date : Optional[date]
The date of the filing. (provider: sec)
act : Optional[Union[int, str]]
The SEC Act number. (provider: sec)
items : Optional[Union[str, float]]
The SEC Item numbers. (provider: sec)
primary_doc_description : Optional[str]
The description of the primary document. (provider: sec)
primary_doc : Optional[str]
The filename of the primary document. (provider: sec)
accession_number : Optional[Union[int, str]]
The accession number. (provider: sec)
file_number : Optional[Union[int, str]]
The file number. (provider: sec)
film_number : Optional[Union[int, str]]
The film number. (provider: sec)
is_inline_xbrl : Optional[Union[int, str]]
Whether the filing is an inline XBRL filing. (provider: sec)
is_xbrl : Optional[Union[int, str]]
Whether the filing is an XBRL filing. (provider: sec)
size : Optional[Union[int, str]]
The size of the filing. (provider: sec)
complete_submission_url : Optional[str]
The URL to the complete filing submission. (provider: sec)
filing_detail_url : Optional[str]
The URL to the filing details. (provider: sec)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.filings(provider='fmp')
>>> obb.equity.fundamental.filings(limit=100, provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/filings",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/filings",
("fmp", "intrinio", "sec"),
)
},
standard_params={
"symbol": symbol,
"form_type": form_type,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def historical_attributes(
self,
symbol: Annotated[
Union[str, List[str]],
OpenBBField(
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): intrinio."
),
],
tag: Annotated[
Union[str, List[str]],
OpenBBField(
description="Intrinio data tag ID or code. Multiple comma separated items allowed for provider(s): intrinio."
),
],
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
] = None,
frequency: Annotated[
Optional[Literal["daily", "weekly", "monthly", "quarterly", "yearly"]],
OpenBBField(description="The frequency of the data."),
] = "yearly",
limit: Annotated[
Optional[int],
OpenBBField(description="The number of data entries to return."),
] = 1000,
tag_type: Annotated[
Optional[str], OpenBBField(description="Filter by type, when applicable.")
] = None,
sort: Annotated[
Optional[Literal["asc", "desc"]], OpenBBField(description="Sort order.")
] = "desc",
provider: Annotated[
Optional[Literal["intrinio"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'intrinio' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the historical values of a data tag from Intrinio.
Parameters
----------
symbol : Union[str, List[str]]
Symbol to get data for. Multiple comma separated items allowed for provider(s): intrinio.
tag : Union[str, List[str]]
Intrinio data tag ID or code. Multiple comma separated items allowed for provider(s): intrinio.
start_date : Union[datetime.date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[datetime.date, None, str]
End date of the data, in YYYY-MM-DD format.
frequency : Optional[Literal['daily', 'weekly', 'monthly', 'quarterly', 'year...
The frequency of the data.
limit : Optional[int]
The number of data entries to return.
tag_type : Optional[str]
Filter by type, when applicable.
sort : Optional[Literal['asc', 'desc']]
Sort order.
provider : Optional[Literal['intrinio']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'intrinio' if there is
no default.
Returns
-------
OBBject
results : List[HistoricalAttributes]
Serializable results.
provider : Optional[Literal['intrinio']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
HistoricalAttributes
--------------------
date : date
The date of the data.
symbol : str
Symbol representing the entity requested in the data.
tag : Optional[str]
Tag name for the fetched data.
value : Optional[float]
The value of the data.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.historical_attributes(symbol='AAPL', tag='ebitda', provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/historical_attributes",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/historical_attributes",
("intrinio",),
)
},
standard_params={
"symbol": symbol,
"tag": tag,
"start_date": start_date,
"end_date": end_date,
"frequency": frequency,
"limit": limit,
"tag_type": tag_type,
"sort": sort,
},
extra_params=kwargs,
info={
"symbol": {"multiple_items_allowed": ["intrinio"]},
"tag": {"multiple_items_allowed": ["intrinio"]},
},
)
)
@exception_handler
@validate
def historical_eps(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get historical earnings per share data for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
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.
limit : Optional[int]
The number of data entries to return. (provider: fmp)
Returns
-------
OBBject
results : List[HistoricalEps]
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.
HistoricalEps
-------------
date : Optional[date]
The date of the data.
symbol : str
Symbol representing the entity requested in the data.
announce_time : Optional[str]
Timing of the earnings announcement.
eps_actual : Optional[float]
Actual EPS from the earnings date.
eps_estimated : Optional[float]
Estimated EPS for the earnings date.
revenue_estimated : Optional[float]
Estimated consensus revenue for the reporting period. (provider: fmp)
revenue_actual : Optional[float]
The actual reported revenue. (provider: fmp)
reporting_time : Optional[str]
The reporting time - e.g. after market close. (provider: fmp)
updated_at : Optional[date]
The date when the data was last updated. (provider: fmp)
period_ending : Optional[date]
The fiscal period end date. (provider: fmp)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.historical_eps(symbol='AAPL', provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/historical_eps",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/historical_eps",
("fmp",),
)
},
standard_params={
"symbol": symbol,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def historical_splits(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get historical stock splits for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
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.
Returns
-------
OBBject
results : List[HistoricalSplits]
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.
HistoricalSplits
----------------
date : date
The date of the data.
numerator : Optional[float]
Numerator of the split.
denominator : Optional[float]
Denominator of the split.
split_ratio : Optional[str]
Split ratio.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.historical_splits(symbol='AAPL', provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/historical_splits",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/historical_splits",
("fmp",),
)
},
standard_params={
"symbol": symbol,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def income(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
period: Annotated[
str, OpenBBField(description="Time period of the data to return.")
] = "annual",
limit: Annotated[
Optional[Annotated[int, Ge(ge=0)]],
OpenBBField(description="The number of data entries to return."),
] = 5,
provider: Annotated[
Optional[Literal["fmp", "intrinio", "polygon", "yfinance"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the income statement for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
period : str
Time period of the data to return.
limit : Optional[Annotated[int, Ge(ge=0)]]
The number of data entries to return.
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.
fiscal_year : Optional[int]
The specific fiscal year. Reports do not go beyond 2008. (provider: intrinio)
filing_date : Optional[datetime.date]
Filing date of the financial statement. (provider: polygon)
filing_date_lt : Optional[datetime.date]
Filing date less than the given date. (provider: polygon)
filing_date_lte : Optional[datetime.date]
Filing date less than or equal to the given date. (provider: polygon)
filing_date_gt : Optional[datetime.date]
Filing date greater than the given date. (provider: polygon)
filing_date_gte : Optional[datetime.date]
Filing date greater than or equal to the given date. (provider: polygon)
period_of_report_date : Optional[datetime.date]
Period of report date of the financial statement. (provider: polygon)
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[datetime.date]
Period of report date less than or equal to the given date. (provider: polygon)
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[datetime.date]
Period of report date greater than or equal to the given date. (provider: polygon)
include_sources : Optional[bool]
Whether to include the sources of the financial statement. (provider: polygon)
order : Optional[Literal['asc', 'desc']]
Order of the financial statement. (provider: polygon)
sort : Optional[Literal['filing_date', 'period_of_report_date']]
Sort of the financial statement. (provider: polygon)
Returns
-------
OBBject
results : List[IncomeStatement]
Serializable results.
provider : Optional[Literal['fmp', 'intrinio', 'polygon', 'yfinance']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
IncomeStatement
---------------
period_ending : date
The end date of the reporting period.
fiscal_period : Optional[str]
The fiscal period of the report.
fiscal_year : Optional[int]
The fiscal year of the fiscal period.
filing_date : Optional[date]
The date when the filing was made. (provider: fmp)
accepted_date : Optional[datetime]
The date and time when the filing was accepted. (provider: fmp)
reported_currency : Optional[str]
The currency in which the balance sheet was reported. (provider: fmp, intrinio)
revenue : Optional[float]
Total revenue. (provider: fmp, intrinio, polygon)
cost_of_revenue : Optional[float]
Cost of revenue. (provider: fmp, intrinio, polygon)
gross_profit : Optional[float]
Gross profit. (provider: fmp, intrinio, polygon)
gross_profit_margin : Optional[float]
Gross profit margin. (provider: fmp);
Gross margin ratio. (provider: intrinio)
general_and_admin_expense : Optional[float]
General and administrative expenses. (provider: fmp)
research_and_development_expense : Optional[float]
Research and development expenses. (provider: fmp, intrinio)
selling_and_marketing_expense : Optional[float]
Selling and marketing expenses. (provider: fmp)
selling_general_and_admin_expense : Optional[float]
Selling, general and administrative expenses. (provider: fmp, intrinio)
other_expenses : Optional[float]
Other expenses. (provider: fmp)
total_operating_expenses : Optional[float]
Total operating expenses. (provider: fmp, intrinio)
cost_and_expenses : Optional[float]
Cost and expenses. (provider: fmp)
interest_income : Optional[float]
Interest income. (provider: fmp)
total_interest_expense : Optional[float]
Total interest expenses. (provider: fmp, intrinio);
Interest Expense (provider: polygon)
depreciation_and_amortization : Optional[float]
Depreciation and amortization. (provider: fmp, polygon)
ebitda : Optional[float]
EBITDA. (provider: fmp);
Earnings Before Interest, Taxes, Depreciation and Amortization. (provider: intrinio)
ebitda_margin : Optional[float]
EBITDA margin. (provider: fmp);
Margin on Earnings Before Interest, Taxes, Depreciation and Amortization. (provider: intrinio)
total_operating_income : Optional[float]
Total operating income. (provider: fmp, intrinio)
operating_income_margin : Optional[float]
Operating income margin. (provider: fmp)
total_other_income_expenses : Optional[float]
Total other income and expenses. (provider: fmp)
total_pre_tax_income : Optional[float]
Total pre-tax income. (provider: fmp, intrinio);
Income Before Tax (provider: polygon)
pre_tax_income_margin : Optional[float]
Pre-tax income margin. (provider: fmp, intrinio)
income_tax_expense : Optional[float]
Income tax expense. (provider: fmp, intrinio, polygon)
consolidated_net_income : Optional[float]
Consolidated net income. (provider: fmp, intrinio);
Net Income/Loss (provider: polygon)
net_income_margin : Optional[float]
Net income margin. (provider: fmp)
basic_earnings_per_share : Optional[float]
Basic earnings per share. (provider: fmp, intrinio);
Earnings Per Share (provider: polygon)
diluted_earnings_per_share : Optional[float]
Diluted earnings per share. (provider: fmp, intrinio, polygon)
weighted_average_basic_shares_outstanding : Optional[float]
Weighted average basic shares outstanding. (provider: fmp, intrinio);
Basic Average Shares (provider: polygon)
weighted_average_diluted_shares_outstanding : Optional[float]
Weighted average diluted shares outstanding. (provider: fmp, intrinio);
Diluted Average Shares (provider: polygon)
link : Optional[str]
Link to the filing. (provider: fmp)
final_link : Optional[str]
Link to the filing document. (provider: fmp)
operating_revenue : Optional[float]
Total operating revenue (provider: intrinio)
operating_cost_of_revenue : Optional[float]
Total operating cost of revenue (provider: intrinio)
provision_for_credit_losses : Optional[float]
Provision for credit losses (provider: intrinio)
salaries_and_employee_benefits : Optional[float]
Salaries and employee benefits (provider: intrinio)
marketing_expense : Optional[float]
Marketing expense (provider: intrinio)
net_occupancy_and_equipment_expense : Optional[float]
Net occupancy and equipment expense (provider: intrinio)
other_operating_expenses : Optional[float]
Other operating expenses (provider: intrinio, polygon)
depreciation_expense : Optional[float]
Depreciation expense (provider: intrinio)
amortization_expense : Optional[float]
Amortization expense (provider: intrinio)
amortization_of_deferred_policy_acquisition_costs : Optional[float]
Amortization of deferred policy acquisition costs (provider: intrinio)
exploration_expense : Optional[float]
Exploration expense (provider: intrinio)
depletion_expense : Optional[float]
Depletion expense (provider: intrinio)
deposits_and_money_market_investments_interest_income : Optional[float]
Deposits and money market investments interest income (provider: intrinio)
federal_funds_sold_and_securities_borrowed_interest_income : Optional[float]
Federal funds sold and securities borrowed interest income (provider: intrinio)
investment_securities_interest_income : Optional[float]
Investment securities interest income (provider: intrinio)
loans_and_leases_interest_income : Optional[float]
Loans and leases interest income (provider: intrinio)
trading_account_interest_income : Optional[float]
Trading account interest income (provider: intrinio)
other_interest_income : Optional[float]
Other interest income (provider: intrinio)
total_non_interest_income : Optional[float]
Total non-interest income (provider: intrinio)
interest_and_investment_income : Optional[float]
Interest and investment income (provider: intrinio)
short_term_borrowings_interest_expense : Optional[float]
Short-term borrowings interest expense (provider: intrinio)
long_term_debt_interest_expense : Optional[float]
Long-term debt interest expense (provider: intrinio)
capitalized_lease_obligations_interest_expense : Optional[float]
Capitalized lease obligations interest expense (provider: intrinio)
deposits_interest_expense : Optional[float]
Deposits interest expense (provider: intrinio)
federal_funds_purchased_and_securities_sold_interest_expense : Optional[float]
Federal funds purchased and securities sold interest expense (provider: intrinio)
other_interest_expense : Optional[float]
Other interest expense (provider: intrinio)
net_interest_income : Optional[float]
Net interest income (provider: intrinio);
Interest Income Net (provider: polygon)
other_non_interest_income : Optional[float]
Other non-interest income (provider: intrinio)
investment_banking_income : Optional[float]
Investment banking income (provider: intrinio)
trust_fees_by_commissions : Optional[float]
Trust fees by commissions (provider: intrinio)
premiums_earned : Optional[float]
Premiums earned (provider: intrinio)
insurance_policy_acquisition_costs : Optional[float]
Insurance policy acquisition costs (provider: intrinio)
current_and_future_benefits : Optional[float]
Current and future benefits (provider: intrinio)
property_and_liability_insurance_claims : Optional[float]
Property and liability insurance claims (provider: intrinio)
total_non_interest_expense : Optional[float]
Total non-interest expense (provider: intrinio)
net_realized_and_unrealized_capital_gains_on_investments : Optional[float]
Net realized and unrealized capital gains on investments (provider: intrinio)
other_gains : Optional[float]
Other gains (provider: intrinio)
non_operating_income : Optional[float]
Non-operating income (provider: intrinio);
Non Operating Income/Loss (provider: polygon)
other_income : Optional[float]
Other income (provider: intrinio)
other_revenue : Optional[float]
Other revenue (provider: intrinio)
extraordinary_income : Optional[float]
Extraordinary income (provider: intrinio)
total_other_income : Optional[float]
Total other income (provider: intrinio)
ebit : Optional[float]
Earnings Before Interest and Taxes. (provider: intrinio)
impairment_charge : Optional[float]
Impairment charge (provider: intrinio)
restructuring_charge : Optional[float]
Restructuring charge (provider: intrinio)
service_charges_on_deposit_accounts : Optional[float]
Service charges on deposit accounts (provider: intrinio)
other_service_charges : Optional[float]
Other service charges (provider: intrinio)
other_special_charges : Optional[float]
Other special charges (provider: intrinio)
other_cost_of_revenue : Optional[float]
Other cost of revenue (provider: intrinio)
net_income_continuing_operations : Optional[float]
Net income (continuing operations) (provider: intrinio)
net_income_discontinued_operations : Optional[float]
Net income (discontinued operations) (provider: intrinio)
other_adjustments_to_consolidated_net_income : Optional[float]
Other adjustments to consolidated net income (provider: intrinio)
other_adjustment_to_net_income_attributable_to_common_shareholders : Optional[float]
Other adjustment to net income attributable to common shareholders (provider: intrinio)
net_income_attributable_to_noncontrolling_interest : Optional[float]
Net income attributable to noncontrolling interest (provider: intrinio)
net_income_attributable_to_common_shareholders : Optional[float]
Net income attributable to common shareholders (provider: intrinio);
Net Income/Loss Available To Common Stockholders Basic (provider: polygon)
basic_and_diluted_earnings_per_share : Optional[float]
Basic and diluted earnings per share (provider: intrinio)
cash_dividends_to_common_per_share : Optional[float]
Cash dividends to common per share (provider: intrinio)
preferred_stock_dividends_declared : Optional[float]
Preferred stock dividends declared (provider: intrinio)
weighted_average_basic_and_diluted_shares_outstanding : Optional[float]
Weighted average basic and diluted shares outstanding (provider: intrinio)
cost_of_revenue_goods : Optional[float]
Cost of Revenue - Goods (provider: polygon)
cost_of_revenue_services : Optional[float]
Cost of Revenue - Services (provider: polygon)
provisions_for_loan_lease_and_other_losses : Optional[float]
Provisions for loan lease and other losses (provider: polygon)
income_tax_expense_benefit_current : Optional[float]
Income tax expense benefit current (provider: polygon)
deferred_tax_benefit : Optional[float]
Deferred tax benefit (provider: polygon)
benefits_costs_expenses : Optional[float]
Benefits, costs and expenses (provider: polygon)
selling_general_and_administrative_expense : Optional[float]
Selling, general and administrative expense (provider: polygon)
research_and_development : Optional[float]
Research and development (provider: polygon)
costs_and_expenses : Optional[float]
Costs and expenses (provider: polygon)
operating_expenses : Optional[float]
Operating expenses (provider: polygon)
operating_income : Optional[float]
Operating Income/Loss (provider: polygon)
interest_and_dividend_income : Optional[float]
Interest and Dividend Income (provider: polygon)
interest_and_debt_expense : Optional[float]
Interest and Debt Expense (provider: polygon)
interest_income_after_provision_for_losses : Optional[float]
Interest Income After Provision for Losses (provider: polygon)
non_interest_expense : Optional[float]
Non-Interest Expense (provider: polygon)
non_interest_income : Optional[float]
Non-Interest Income (provider: polygon)
income_from_discontinued_operations_net_of_tax_on_disposal : Optional[float]
Income From Discontinued Operations Net of Tax on Disposal (provider: polygon)
income_from_discontinued_operations_net_of_tax : Optional[float]
Income From Discontinued Operations Net of Tax (provider: polygon)
income_before_equity_method_investments : Optional[float]
Income Before Equity Method Investments (provider: polygon)
income_from_equity_method_investments : Optional[float]
Income From Equity Method Investments (provider: polygon)
income_after_tax : Optional[float]
Income After Tax (provider: polygon)
net_income_attributable_noncontrolling_interest : Optional[float]
Net income (loss) attributable to noncontrolling interest (provider: polygon)
net_income_attributable_to_parent : Optional[float]
Net income (loss) attributable to parent (provider: polygon)
participating_securities_earnings : Optional[float]
Participating Securities Distributed And Undistributed Earnings Loss Basic (provider: polygon)
undistributed_earnings_allocated_to_participating_securities : Optional[float]
Undistributed Earnings Allocated To Participating Securities (provider: polygon)
common_stock_dividends : Optional[float]
Common Stock Dividends (provider: polygon)
preferred_stock_dividends_and_other_adjustments : Optional[float]
Preferred stock dividends and other adjustments (provider: polygon)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.income(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.income(symbol='AAPL', period='annual', limit=5, provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/income",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/income",
("fmp", "intrinio", "polygon", "yfinance"),
)
},
standard_params={
"symbol": symbol,
"period": period,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def income_growth(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
limit: Annotated[
int, OpenBBField(description="The number of data entries to return.")
] = 10,
period: Annotated[
Literal["annual", "quarter"],
OpenBBField(description="Time period of the data to return."),
] = "annual",
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the growth of a company's income statement items over time.
Parameters
----------
symbol : str
Symbol to get data for.
limit : int
The number of data entries to return.
period : Literal['annual', 'quarter']
Time period of the data 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.
Returns
-------
OBBject
results : List[IncomeStatementGrowth]
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.
IncomeStatementGrowth
---------------------
symbol : Optional[str]
Symbol representing the entity requested in the data.
date : date
The date of the data.
period : str
Period the statement is returned for.
growth_revenue : float
Growth rate of total revenue.
growth_cost_of_revenue : float
Growth rate of cost of goods sold.
growth_gross_profit : float
Growth rate of gross profit.
growth_gross_profit_ratio : float
Growth rate of gross profit as a percentage of revenue.
growth_research_and_development_expenses : float
Growth rate of expenses on research and development.
growth_general_and_administrative_expenses : float
Growth rate of general and administrative expenses.
growth_selling_and_marketing_expenses : float
Growth rate of expenses on selling and marketing activities.
growth_other_expenses : float
Growth rate of other operating expenses.
growth_operating_expenses : float
Growth rate of total operating expenses.
growth_cost_and_expenses : float
Growth rate of total costs and expenses.
growth_interest_expense : float
Growth rate of interest expenses.
growth_depreciation_and_amortization : float
Growth rate of depreciation and amortization expenses.
growth_ebitda : float
Growth rate of Earnings Before Interest, Taxes, Depreciation, and Amortization.
growth_ebitda_ratio : float
Growth rate of EBITDA as a percentage of revenue.
growth_operating_income : float
Growth rate of operating income.
growth_operating_income_ratio : float
Growth rate of operating income as a percentage of revenue.
growth_total_other_income_expenses_net : float
Growth rate of net total other income and expenses.
growth_income_before_tax : float
Growth rate of income before taxes.
growth_income_before_tax_ratio : float
Growth rate of income before taxes as a percentage of revenue.
growth_income_tax_expense : float
Growth rate of income tax expenses.
growth_net_income : float
Growth rate of net income.
growth_net_income_ratio : float
Growth rate of net income as a percentage of revenue.
growth_eps : float
Growth rate of Earnings Per Share (EPS).
growth_eps_diluted : float
Growth rate of diluted Earnings Per Share (EPS).
growth_weighted_average_shs_out : float
Growth rate of weighted average shares outstanding.
growth_weighted_average_shs_out_dil : float
Growth rate of diluted weighted average shares outstanding.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.income_growth(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.income_growth(symbol='AAPL', limit=10, period='annual', provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/income_growth",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/income_growth",
("fmp",),
)
},
standard_params={
"symbol": symbol,
"limit": limit,
"period": period,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def latest_attributes(
self,
symbol: Annotated[
Union[str, List[str]],
OpenBBField(
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): intrinio."
),
],
tag: Annotated[
Union[str, List[str]],
OpenBBField(
description="Intrinio data tag ID or code. Multiple comma separated items allowed for provider(s): intrinio."
),
],
provider: Annotated[
Optional[Literal["intrinio"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'intrinio' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the latest value of a data tag from Intrinio.
Parameters
----------
symbol : Union[str, List[str]]
Symbol to get data for. Multiple comma separated items allowed for provider(s): intrinio.
tag : Union[str, List[str]]
Intrinio data tag ID or code. Multiple comma separated items allowed for provider(s): intrinio.
provider : Optional[Literal['intrinio']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'intrinio' if there is
no default.
Returns
-------
OBBject
results : List[LatestAttributes]
Serializable results.
provider : Optional[Literal['intrinio']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
LatestAttributes
----------------
symbol : str
Symbol representing the entity requested in the data.
tag : Optional[str]
Tag name for the fetched data.
value : Optional[Union[str, float]]
The value of the data.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.latest_attributes(symbol='AAPL', tag='ceo', provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/latest_attributes",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/latest_attributes",
("intrinio",),
)
},
standard_params={
"symbol": symbol,
"tag": tag,
},
extra_params=kwargs,
info={
"symbol": {"multiple_items_allowed": ["intrinio"]},
"tag": {"multiple_items_allowed": ["intrinio"]},
},
)
)
@exception_handler
@validate
def management(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
provider: Annotated[
Optional[Literal["fmp", "yfinance"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get executive management team data for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
provider : Optional[Literal['fmp', '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.
Returns
-------
OBBject
results : List[KeyExecutives]
Serializable results.
provider : Optional[Literal['fmp', 'yfinance']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
KeyExecutives
-------------
title : str
Designation of the key executive.
name : str
Name of the key executive.
pay : Optional[int]
Pay of the key executive.
currency_pay : Optional[str]
Currency of the pay.
gender : Optional[str]
Gender of the key executive.
year_born : Optional[int]
Birth year of the key executive.
title_since : Optional[int]
Date the tile was held since.
exercised_value : Optional[int]
Value of shares exercised. (provider: yfinance)
unexercised_value : Optional[int]
Value of shares not exercised. (provider: yfinance)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.management(symbol='AAPL', provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/management",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/management",
("fmp", "yfinance"),
)
},
standard_params={
"symbol": symbol,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def management_compensation(
self,
symbol: Annotated[
Union[str, List[str]],
OpenBBField(
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp."
),
],
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get executive management team compensation for a given company over time.
Parameters
----------
symbol : Union[str, List[str]]
Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp.
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.
year : Optional[int]
Year of the compensation. (provider: fmp)
Returns
-------
OBBject
results : List[ExecutiveCompensation]
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.
ExecutiveCompensation
---------------------
symbol : str
Symbol representing the entity requested in the data.
cik : Optional[str]
Central Index Key (CIK) for the requested entity.
company_name : Optional[str]
The name of the company.
industry : Optional[str]
The industry of the company.
year : Optional[int]
Year of the compensation.
name_and_position : Optional[str]
Name and position.
salary : Optional[Annotated[float, Ge(ge=0)]]
Salary.
bonus : Optional[Annotated[float, Ge(ge=0)]]
Bonus payments.
stock_award : Optional[Annotated[float, Ge(ge=0)]]
Stock awards.
incentive_plan_compensation : Optional[Annotated[float, Ge(ge=0)]]
Incentive plan compensation.
all_other_compensation : Optional[Annotated[float, Ge(ge=0)]]
All other compensation.
total : Optional[Annotated[float, Ge(ge=0)]]
Total compensation.
filing_date : Optional[date]
Date of the filing. (provider: fmp)
accepted_date : Optional[datetime]
Date the filing was accepted. (provider: fmp)
url : Optional[str]
URL to the filing data. (provider: fmp)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.management_compensation(symbol='AAPL', provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/management_compensation",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/management_compensation",
("fmp",),
)
},
standard_params={
"symbol": symbol,
},
extra_params=kwargs,
info={"symbol": {"multiple_items_allowed": ["fmp"]}},
)
)
@exception_handler
@validate
def metrics(
self,
symbol: Annotated[
Union[str, List[str]],
OpenBBField(
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp, intrinio, yfinance."
),
],
period: Annotated[
Optional[Literal["annual", "quarter"]],
OpenBBField(description="Time period of the data to return."),
] = "annual",
limit: Annotated[
Optional[int],
OpenBBField(description="The number of data entries to return."),
] = 100,
provider: Annotated[
Optional[Literal["fmp", "intrinio", "yfinance"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get fundamental metrics for a given company.
Parameters
----------
symbol : Union[str, List[str]]
Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp, intrinio, yfinance.
period : Optional[Literal['annual', 'quarter']]
Time period of the data to return.
limit : Optional[int]
The number of data entries to return.
provider : Optional[Literal['fmp', 'intrinio', '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.
with_ttm : Optional[bool]
Include trailing twelve months (TTM) data. (provider: fmp)
Returns
-------
OBBject
results : List[KeyMetrics]
Serializable results.
provider : Optional[Literal['fmp', 'intrinio', 'yfinance']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
KeyMetrics
----------
symbol : Optional[str]
Symbol representing the entity requested in the data.
market_cap : Optional[float]
Market capitalization
pe_ratio : Optional[float]
Price-to-earnings ratio (P/E ratio)
date : Optional[date]
The date of the data. (provider: fmp)
period : Optional[str]
Period of the data. (provider: fmp)
calendar_year : Optional[int]
Calendar year. (provider: fmp)
revenue_per_share : Optional[float]
Revenue per share (provider: fmp, yfinance)
net_income_per_share : Optional[float]
Net income per share (provider: fmp)
operating_cash_flow_per_share : Optional[float]
Operating cash flow per share (provider: fmp)
free_cash_flow_per_share : Optional[float]
Free cash flow per share (provider: fmp)
cash_per_share : Optional[float]
Cash per share (provider: fmp, yfinance)
book_value_per_share : Optional[float]
Book value per share (provider: fmp)
tangible_book_value_per_share : Optional[float]
Tangible book value per share (provider: fmp)
shareholders_equity_per_share : Optional[float]
Shareholders equity per share (provider: fmp)
interest_debt_per_share : Optional[float]
Interest debt per share (provider: fmp)
enterprise_value : Optional[int]
Enterprise value (provider: fmp, intrinio, yfinance)
price_to_sales_ratio : Optional[float]
Price-to-sales ratio (provider: fmp)
pocf_ratio : Optional[float]
Price-to-operating cash flow ratio (provider: fmp)
pfcf_ratio : Optional[float]
Price-to-free cash flow ratio (provider: fmp)
pb_ratio : Optional[float]
Price-to-book ratio (provider: fmp)
ptb_ratio : Optional[float]
Price-to-tangible book ratio (provider: fmp)
ev_to_sales : Optional[float]
Enterprise value-to-sales ratio (provider: fmp)
enterprise_value_over_ebitda : Optional[float]
Enterprise value-to-EBITDA ratio (provider: fmp)
ev_to_operating_cash_flow : Optional[float]
Enterprise value-to-operating cash flow ratio (provider: fmp)
ev_to_free_cash_flow : Optional[float]
Enterprise value-to-free cash flow ratio (provider: fmp)
earnings_yield : Optional[float]
Earnings yield (provider: fmp);
Earnings yield, as a normalized percent. (provider: intrinio)
free_cash_flow_yield : Optional[float]
Free cash flow yield (provider: fmp)
debt_to_equity : Optional[float]
Debt-to-equity ratio (provider: fmp, yfinance)
debt_to_assets : Optional[float]
Debt-to-assets ratio (provider: fmp)
net_debt_to_ebitda : Optional[float]
Net debt-to-EBITDA ratio (provider: fmp)
current_ratio : Optional[float]
Current ratio (provider: fmp, yfinance)
interest_coverage : Optional[float]
Interest coverage (provider: fmp)
income_quality : Optional[float]
Income quality (provider: fmp)
dividend_yield : Optional[float]
Dividend yield, as a normalized percent. (provider: fmp, intrinio, yfinance)
payout_ratio : Optional[float]
Payout ratio (provider: fmp, yfinance)
sales_general_and_administrative_to_revenue : Optional[float]
Sales general and administrative expenses-to-revenue ratio (provider: fmp)
research_and_development_to_revenue : Optional[float]
Research and development expenses-to-revenue ratio (provider: fmp)
intangibles_to_total_assets : Optional[float]
Intangibles-to-total assets ratio (provider: fmp)
capex_to_operating_cash_flow : Optional[float]
Capital expenditures-to-operating cash flow ratio (provider: fmp)
capex_to_revenue : Optional[float]
Capital expenditures-to-revenue ratio (provider: fmp)
capex_to_depreciation : Optional[float]
Capital expenditures-to-depreciation ratio (provider: fmp)
stock_based_compensation_to_revenue : Optional[float]
Stock-based compensation-to-revenue ratio (provider: fmp)
graham_number : Optional[float]
Graham number (provider: fmp)
roic : Optional[float]
Return on invested capital (provider: fmp)
return_on_tangible_assets : Optional[float]
Return on tangible assets (provider: fmp)
graham_net_net : Optional[float]
Graham net-net working capital (provider: fmp)
working_capital : Optional[float]
Working capital (provider: fmp)
tangible_asset_value : Optional[float]
Tangible asset value (provider: fmp)
net_current_asset_value : Optional[float]
Net current asset value (provider: fmp)
invested_capital : Optional[float]
Invested capital (provider: fmp)
average_receivables : Optional[float]
Average receivables (provider: fmp)
average_payables : Optional[float]
Average payables (provider: fmp)
average_inventory : Optional[float]
Average inventory (provider: fmp)
days_sales_outstanding : Optional[float]
Days sales outstanding (provider: fmp)
days_payables_outstanding : Optional[float]
Days payables outstanding (provider: fmp)
days_of_inventory_on_hand : Optional[float]
Days of inventory on hand (provider: fmp)
receivables_turnover : Optional[float]
Receivables turnover (provider: fmp)
payables_turnover : Optional[float]
Payables turnover (provider: fmp)
inventory_turnover : Optional[float]
Inventory turnover (provider: fmp)
roe : Optional[float]
Return on equity (provider: fmp)
capex_per_share : Optional[float]
Capital expenditures per share (provider: fmp)
price_to_book : Optional[float]
Price to book ratio. (provider: intrinio, yfinance)
price_to_tangible_book : Optional[float]
Price to tangible book ratio. (provider: intrinio)
price_to_revenue : Optional[float]
Price to revenue ratio. (provider: intrinio)
quick_ratio : Optional[float]
Quick ratio. (provider: intrinio, yfinance)
gross_margin : Optional[float]
Gross margin, as a normalized percent. (provider: intrinio, yfinance)
ebit_margin : Optional[float]
EBIT margin, as a normalized percent. (provider: intrinio)
profit_margin : Optional[float]
Profit margin, as a normalized percent. (provider: intrinio, yfinance)
eps : Optional[float]
Basic earnings per share. (provider: intrinio)
eps_growth : Optional[float]
EPS growth, as a normalized percent. (provider: intrinio)
revenue_growth : Optional[float]
Revenue growth, as a normalized percent. (provider: intrinio, yfinance)
ebitda_growth : Optional[float]
EBITDA growth, as a normalized percent. (provider: intrinio)
ebit_growth : Optional[float]
EBIT growth, as a normalized percent. (provider: intrinio)
net_income_growth : Optional[float]
Net income growth, as a normalized percent. (provider: intrinio)
free_cash_flow_to_firm_growth : Optional[float]
Free cash flow to firm growth, as a normalized percent. (provider: intrinio)
invested_capital_growth : Optional[float]
Invested capital growth, as a normalized percent. (provider: intrinio)
return_on_assets : Optional[float]
Return on assets, as a normalized percent. (provider: intrinio, yfinance)
return_on_equity : Optional[float]
Return on equity, as a normalized percent. (provider: intrinio, yfinance)
return_on_invested_capital : Optional[float]
Return on invested capital, as a normalized percent. (provider: intrinio)
ebitda : Optional[int]
Earnings before interest, taxes, depreciation, and amortization. (provider: intrinio)
ebit : Optional[int]
Earnings before interest and taxes. (provider: intrinio)
long_term_debt : Optional[int]
Long-term debt. (provider: intrinio)
total_debt : Optional[int]
Total debt. (provider: intrinio)
total_capital : Optional[int]
The sum of long-term debt and total shareholder equity. (provider: intrinio)
free_cash_flow_to_firm : Optional[int]
Free cash flow to firm. (provider: intrinio)
altman_z_score : Optional[float]
Altman Z-score. (provider: intrinio)
beta : Optional[float]
Beta relative to the broad market (rolling three-year). (provider: intrinio);
Beta relative to the broad market (5-year monthly). (provider: yfinance)
last_price : Optional[float]
Last price of the stock. (provider: intrinio)
year_high : Optional[float]
52 week high (provider: intrinio)
year_low : Optional[float]
52 week low (provider: intrinio)
volume_avg : Optional[int]
Average daily volume. (provider: intrinio)
short_interest : Optional[int]
Number of shares reported as sold short. (provider: intrinio)
shares_outstanding : Optional[int]
Weighted average shares outstanding (TTM). (provider: intrinio)
days_to_cover : Optional[float]
Days to cover short interest, based on average daily volume. (provider: intrinio)
forward_pe : Optional[float]
Forward price-to-earnings ratio. (provider: yfinance)
peg_ratio : Optional[float]
PEG ratio (5-year expected). (provider: yfinance)
peg_ratio_ttm : Optional[float]
PEG ratio (TTM). (provider: yfinance)
eps_ttm : Optional[float]
Earnings per share (TTM). (provider: yfinance)
eps_forward : Optional[float]
Forward earnings per share. (provider: yfinance)
enterprise_to_ebitda : Optional[float]
Enterprise value to EBITDA ratio. (provider: yfinance)
earnings_growth : Optional[float]
Earnings growth (Year Over Year), as a normalized percent. (provider: yfinance)
earnings_growth_quarterly : Optional[float]
Quarterly earnings growth (Year Over Year), as a normalized percent. (provider: yfinance)
enterprise_to_revenue : Optional[float]
Enterprise value to revenue ratio. (provider: yfinance)
operating_margin : Optional[float]
Operating margin, as a normalized percent. (provider: yfinance)
ebitda_margin : Optional[float]
EBITDA margin, as a normalized percent. (provider: yfinance)
dividend_yield_5y_avg : Optional[float]
5-year average dividend yield, as a normalized percent. (provider: yfinance)
book_value : Optional[float]
Book value per share. (provider: yfinance)
overall_risk : Optional[float]
Overall risk score. (provider: yfinance)
audit_risk : Optional[float]
Audit risk score. (provider: yfinance)
board_risk : Optional[float]
Board risk score. (provider: yfinance)
compensation_risk : Optional[float]
Compensation risk score. (provider: yfinance)
shareholder_rights_risk : Optional[float]
Shareholder rights risk score. (provider: yfinance)
price_return_1y : Optional[float]
One-year price return, as a normalized percent. (provider: yfinance)
currency : Optional[str]
Currency in which the data is presented. (provider: yfinance)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.metrics(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.metrics(symbol='AAPL', period='annual', limit=100, provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/metrics",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/metrics",
("fmp", "intrinio", "yfinance"),
)
},
standard_params={
"symbol": symbol,
"period": period,
"limit": limit,
},
extra_params=kwargs,
info={
"symbol": {
"multiple_items_allowed": ["fmp", "intrinio", "yfinance"]
}
},
)
)
@exception_handler
@validate
def multiples(
self,
symbol: Annotated[
Union[str, List[str]],
OpenBBField(
description="Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp."
),
],
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get equity valuation multiples for a given company.
Parameters
----------
symbol : Union[str, List[str]]
Symbol to get data for. Multiple comma separated items allowed for provider(s): fmp.
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.
Returns
-------
OBBject
results : List[EquityValuationMultiples]
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.
EquityValuationMultiples
------------------------
symbol : str
Symbol representing the entity requested in the data.
revenue_per_share_ttm : Optional[float]
Revenue per share calculated as trailing twelve months.
net_income_per_share_ttm : Optional[float]
Net income per share calculated as trailing twelve months.
operating_cash_flow_per_share_ttm : Optional[float]
Operating cash flow per share calculated as trailing twelve months.
free_cash_flow_per_share_ttm : Optional[float]
Free cash flow per share calculated as trailing twelve months.
cash_per_share_ttm : Optional[float]
Cash per share calculated as trailing twelve months.
book_value_per_share_ttm : Optional[float]
Book value per share calculated as trailing twelve months.
tangible_book_value_per_share_ttm : Optional[float]
Tangible book value per share calculated as trailing twelve months.
shareholders_equity_per_share_ttm : Optional[float]
Shareholders equity per share calculated as trailing twelve months.
interest_debt_per_share_ttm : Optional[float]
Interest debt per share calculated as trailing twelve months.
market_cap_ttm : Optional[float]
Market capitalization calculated as trailing twelve months.
enterprise_value_ttm : Optional[float]
Enterprise value calculated as trailing twelve months.
pe_ratio_ttm : Optional[float]
Price-to-earnings ratio (P/E ratio) calculated as trailing twelve months.
price_to_sales_ratio_ttm : Optional[float]
Price-to-sales ratio calculated as trailing twelve months.
pocf_ratio_ttm : Optional[float]
Price-to-operating cash flow ratio calculated as trailing twelve months.
pfcf_ratio_ttm : Optional[float]
Price-to-free cash flow ratio calculated as trailing twelve months.
pb_ratio_ttm : Optional[float]
Price-to-book ratio calculated as trailing twelve months.
ptb_ratio_ttm : Optional[float]
Price-to-tangible book ratio calculated as trailing twelve months.
ev_to_sales_ttm : Optional[float]
Enterprise value-to-sales ratio calculated as trailing twelve months.
enterprise_value_over_ebitda_ttm : Optional[float]
Enterprise value-to-EBITDA ratio calculated as trailing twelve months.
ev_to_operating_cash_flow_ttm : Optional[float]
Enterprise value-to-operating cash flow ratio calculated as trailing twelve months.
ev_to_free_cash_flow_ttm : Optional[float]
Enterprise value-to-free cash flow ratio calculated as trailing twelve months.
earnings_yield_ttm : Optional[float]
Earnings yield calculated as trailing twelve months.
free_cash_flow_yield_ttm : Optional[float]
Free cash flow yield calculated as trailing twelve months.
debt_to_equity_ttm : Optional[float]
Debt-to-equity ratio calculated as trailing twelve months.
debt_to_assets_ttm : Optional[float]
Debt-to-assets ratio calculated as trailing twelve months.
net_debt_to_ebitda_ttm : Optional[float]
Net debt-to-EBITDA ratio calculated as trailing twelve months.
current_ratio_ttm : Optional[float]
Current ratio calculated as trailing twelve months.
interest_coverage_ttm : Optional[float]
Interest coverage calculated as trailing twelve months.
income_quality_ttm : Optional[float]
Income quality calculated as trailing twelve months.
dividend_yield_ttm : Optional[float]
Dividend yield calculated as trailing twelve months.
dividend_yield_percentage_ttm : Optional[float]
Dividend yield percentage calculated as trailing twelve months.
dividend_to_market_cap_ttm : Optional[float]
Dividend to market capitalization ratio calculated as trailing twelve months.
dividend_per_share_ttm : Optional[float]
Dividend per share calculated as trailing twelve months.
payout_ratio_ttm : Optional[float]
Payout ratio calculated as trailing twelve months.
sales_general_and_administrative_to_revenue_ttm : Optional[float]
Sales general and administrative expenses-to-revenue ratio calculated as trailing twelve months.
research_and_development_to_revenue_ttm : Optional[float]
Research and development expenses-to-revenue ratio calculated as trailing twelve months.
intangibles_to_total_assets_ttm : Optional[float]
Intangibles-to-total assets ratio calculated as trailing twelve months.
capex_to_operating_cash_flow_ttm : Optional[float]
Capital expenditures-to-operating cash flow ratio calculated as trailing twelve months.
capex_to_revenue_ttm : Optional[float]
Capital expenditures-to-revenue ratio calculated as trailing twelve months.
capex_to_depreciation_ttm : Optional[float]
Capital expenditures-to-depreciation ratio calculated as trailing twelve months.
stock_based_compensation_to_revenue_ttm : Optional[float]
Stock-based compensation-to-revenue ratio calculated as trailing twelve months.
graham_number_ttm : Optional[float]
Graham number calculated as trailing twelve months.
roic_ttm : Optional[float]
Return on invested capital calculated as trailing twelve months.
return_on_tangible_assets_ttm : Optional[float]
Return on tangible assets calculated as trailing twelve months.
graham_net_net_ttm : Optional[float]
Graham net-net working capital calculated as trailing twelve months.
working_capital_ttm : Optional[float]
Working capital calculated as trailing twelve months.
tangible_asset_value_ttm : Optional[float]
Tangible asset value calculated as trailing twelve months.
net_current_asset_value_ttm : Optional[float]
Net current asset value calculated as trailing twelve months.
invested_capital_ttm : Optional[float]
Invested capital calculated as trailing twelve months.
average_receivables_ttm : Optional[float]
Average receivables calculated as trailing twelve months.
average_payables_ttm : Optional[float]
Average payables calculated as trailing twelve months.
average_inventory_ttm : Optional[float]
Average inventory calculated as trailing twelve months.
days_sales_outstanding_ttm : Optional[float]
Days sales outstanding calculated as trailing twelve months.
days_payables_outstanding_ttm : Optional[float]
Days payables outstanding calculated as trailing twelve months.
days_of_inventory_on_hand_ttm : Optional[float]
Days of inventory on hand calculated as trailing twelve months.
receivables_turnover_ttm : Optional[float]
Receivables turnover calculated as trailing twelve months.
payables_turnover_ttm : Optional[float]
Payables turnover calculated as trailing twelve months.
inventory_turnover_ttm : Optional[float]
Inventory turnover calculated as trailing twelve months.
roe_ttm : Optional[float]
Return on equity calculated as trailing twelve months.
capex_per_share_ttm : Optional[float]
Capital expenditures per share calculated as trailing twelve months.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.multiples(symbol='AAPL', provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/multiples",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/multiples",
("fmp",),
)
},
standard_params={
"symbol": symbol,
},
extra_params=kwargs,
info={"symbol": {"multiple_items_allowed": ["fmp"]}},
)
)
@exception_handler
@validate
@deprecated(
"This endpoint is deprecated; use `/equity/profile` instead. Deprecated in OpenBB Platform V4.1 to be removed in V4.3.",
category=OpenBBDeprecationWarning,
)
def overview(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get company general business and stock data for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
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.
Returns
-------
OBBject
results : CompanyOverview
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.
CompanyOverview
---------------
symbol : str
Symbol representing the entity requested in the data.
price : Optional[float]
Price of the company.
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[float]
Last dividend of the company.
range : Optional[str]
Range of the company.
changes : Optional[float]
Changes of the company.
company_name : Optional[str]
Company name of the company.
currency : Optional[str]
Currency of the company.
cik : Optional[str]
Central Index Key (CIK) for the requested entity.
isin : Optional[str]
ISIN of the company.
cusip : Optional[str]
CUSIP of the company.
exchange : Optional[str]
Exchange of the company.
exchange_short_name : Optional[str]
Exchange short name of the company.
industry : Optional[str]
Industry of the company.
website : Optional[str]
Website of the company.
description : Optional[str]
Description of the company.
ceo : Optional[str]
CEO of the company.
sector : Optional[str]
Sector of the company.
country : Optional[str]
Country of the company.
full_time_employees : Optional[str]
Full time employees of the company.
phone : Optional[str]
Phone of the company.
address : Optional[str]
Address of the company.
city : Optional[str]
City of the company.
state : Optional[str]
State of the company.
zip : Optional[str]
Zip of the company.
dcf_diff : Optional[float]
Discounted cash flow difference of the company.
dcf : Optional[float]
Discounted cash flow of the company.
image : Optional[str]
Image of the company.
ipo_date : Optional[date]
IPO date of the company.
default_image : bool
If the image is the default image.
is_etf : bool
If the company is an ETF.
is_actively_trading : bool
If the company is actively trading.
is_adr : bool
If the company is an ADR.
is_fund : bool
If the company is a fund.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.overview(symbol='AAPL', provider='fmp')
""" # noqa: E501
simplefilter("always", DeprecationWarning)
warn(
"This endpoint is deprecated; use `/equity/profile` instead. Deprecated in OpenBB Platform V4.1 to be removed in V4.3.",
category=DeprecationWarning,
stacklevel=2,
)
return self._run(
"/equity/fundamental/overview",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/overview",
("fmp",),
)
},
standard_params={
"symbol": symbol,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def ratios(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
period: Annotated[
str, OpenBBField(description="Time period of the data to return.")
] = "annual",
limit: Annotated[
int, OpenBBField(description="The number of data entries to return.")
] = 12,
provider: Annotated[
Optional[Literal["fmp", "intrinio"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get an extensive set of financial and accounting ratios for a given company over time.
Parameters
----------
symbol : str
Symbol to get data for.
period : str
Time period of the data to return.
limit : int
The number of data entries to return.
provider : Optional[Literal['fmp', 'intrinio']]
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.
fiscal_year : Optional[int]
The specific fiscal year. Reports do not go beyond 2008. (provider: intrinio)
Returns
-------
OBBject
results : List[FinancialRatios]
Serializable results.
provider : Optional[Literal['fmp', 'intrinio']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
FinancialRatios
---------------
period_ending : str
The date of the data.
fiscal_period : str
Period of the financial ratios.
fiscal_year : Optional[int]
Fiscal year.
current_ratio : Optional[float]
Current ratio. (provider: fmp)
quick_ratio : Optional[float]
Quick ratio. (provider: fmp)
cash_ratio : Optional[float]
Cash ratio. (provider: fmp)
days_of_sales_outstanding : Optional[float]
Days of sales outstanding. (provider: fmp)
days_of_inventory_outstanding : Optional[float]
Days of inventory outstanding. (provider: fmp)
operating_cycle : Optional[float]
Operating cycle. (provider: fmp)
days_of_payables_outstanding : Optional[float]
Days of payables outstanding. (provider: fmp)
cash_conversion_cycle : Optional[float]
Cash conversion cycle. (provider: fmp)
gross_profit_margin : Optional[float]
Gross profit margin. (provider: fmp)
operating_profit_margin : Optional[float]
Operating profit margin. (provider: fmp)
pretax_profit_margin : Optional[float]
Pretax profit margin. (provider: fmp)
net_profit_margin : Optional[float]
Net profit margin. (provider: fmp)
effective_tax_rate : Optional[float]
Effective tax rate. (provider: fmp)
return_on_assets : Optional[float]
Return on assets. (provider: fmp)
return_on_equity : Optional[float]
Return on equity. (provider: fmp)
return_on_capital_employed : Optional[float]
Return on capital employed. (provider: fmp)
net_income_per_ebt : Optional[float]
Net income per EBT. (provider: fmp)
ebt_per_ebit : Optional[float]
EBT per EBIT. (provider: fmp)
ebit_per_revenue : Optional[float]
EBIT per revenue. (provider: fmp)
debt_ratio : Optional[float]
Debt ratio. (provider: fmp)
debt_equity_ratio : Optional[float]
Debt equity ratio. (provider: fmp)
long_term_debt_to_capitalization : Optional[float]
Long term debt to capitalization. (provider: fmp)
total_debt_to_capitalization : Optional[float]
Total debt to capitalization. (provider: fmp)
interest_coverage : Optional[float]
Interest coverage. (provider: fmp)
cash_flow_to_debt_ratio : Optional[float]
Cash flow to debt ratio. (provider: fmp)
company_equity_multiplier : Optional[float]
Company equity multiplier. (provider: fmp)
receivables_turnover : Optional[float]
Receivables turnover. (provider: fmp)
payables_turnover : Optional[float]
Payables turnover. (provider: fmp)
inventory_turnover : Optional[float]
Inventory turnover. (provider: fmp)
fixed_asset_turnover : Optional[float]
Fixed asset turnover. (provider: fmp)
asset_turnover : Optional[float]
Asset turnover. (provider: fmp)
operating_cash_flow_per_share : Optional[float]
Operating cash flow per share. (provider: fmp)
free_cash_flow_per_share : Optional[float]
Free cash flow per share. (provider: fmp)
cash_per_share : Optional[float]
Cash per share. (provider: fmp)
payout_ratio : Optional[float]
Payout ratio. (provider: fmp)
operating_cash_flow_sales_ratio : Optional[float]
Operating cash flow sales ratio. (provider: fmp)
free_cash_flow_operating_cash_flow_ratio : Optional[float]
Free cash flow operating cash flow ratio. (provider: fmp)
cash_flow_coverage_ratios : Optional[float]
Cash flow coverage ratios. (provider: fmp)
short_term_coverage_ratios : Optional[float]
Short term coverage ratios. (provider: fmp)
capital_expenditure_coverage_ratio : Optional[float]
Capital expenditure coverage ratio. (provider: fmp)
dividend_paid_and_capex_coverage_ratio : Optional[float]
Dividend paid and capex coverage ratio. (provider: fmp)
dividend_payout_ratio : Optional[float]
Dividend payout ratio. (provider: fmp)
price_book_value_ratio : Optional[float]
Price book value ratio. (provider: fmp)
price_to_book_ratio : Optional[float]
Price to book ratio. (provider: fmp)
price_to_sales_ratio : Optional[float]
Price to sales ratio. (provider: fmp)
price_earnings_ratio : Optional[float]
Price earnings ratio. (provider: fmp)
price_to_free_cash_flows_ratio : Optional[float]
Price to free cash flows ratio. (provider: fmp)
price_to_operating_cash_flows_ratio : Optional[float]
Price to operating cash flows ratio. (provider: fmp)
price_cash_flow_ratio : Optional[float]
Price cash flow ratio. (provider: fmp)
price_earnings_to_growth_ratio : Optional[float]
Price earnings to growth ratio. (provider: fmp)
price_sales_ratio : Optional[float]
Price sales ratio. (provider: fmp)
dividend_yield : Optional[float]
Dividend yield. (provider: fmp)
dividend_yield_percentage : Optional[float]
Dividend yield percentage. (provider: fmp)
dividend_per_share : Optional[float]
Dividend per share. (provider: fmp)
enterprise_value_multiple : Optional[float]
Enterprise value multiple. (provider: fmp)
price_fair_value : Optional[float]
Price fair value. (provider: fmp)
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.ratios(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.ratios(symbol='AAPL', period='annual', limit=12, provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/ratios",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/ratios",
("fmp", "intrinio"),
)
},
standard_params={
"symbol": symbol,
"period": period,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def reported_financials(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
period: Annotated[
str, OpenBBField(description="Time period of the data to return.")
] = "annual",
statement_type: Annotated[
str,
OpenBBField(
description="The type of financial statement - i.e, balance, income, cash."
),
] = "balance",
limit: Annotated[
Optional[int],
OpenBBField(
description="The number of data entries to return. Although the response object contains multiple results, because of the variance in the fields, year-to-year and quarter-to-quarter, it is recommended to view results in small chunks."
),
] = 100,
provider: Annotated[
Optional[Literal["intrinio"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'intrinio' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get financial statements as reported by the company.
Parameters
----------
symbol : str
Symbol to get data for.
period : str
Time period of the data to return.
statement_type : str
The type of financial statement - i.e, balance, income, cash.
limit : Optional[int]
The number of data entries to return. Although the response object contains multiple results, because of the variance in the fields, year-to-year and quarter-to-quarter, it is recommended to view results in small chunks.
provider : Optional[Literal['intrinio']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'intrinio' if there is
no default.
fiscal_year : Optional[int]
The specific fiscal year. Reports do not go beyond 2008. (provider: intrinio)
Returns
-------
OBBject
results : List[ReportedFinancials]
Serializable results.
provider : Optional[Literal['intrinio']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
ReportedFinancials
------------------
period_ending : date
The ending date of the reporting period.
fiscal_period : str
The fiscal period of the report (e.g. FY, Q1, etc.).
fiscal_year : Optional[int]
The fiscal year of the fiscal period.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.reported_financials(symbol='AAPL', provider='intrinio')
>>> # Get AAPL balance sheet with a limit of 10 items.
>>> obb.equity.fundamental.reported_financials(symbol='AAPL', period='annual', statement_type='balance', limit=10, provider='intrinio')
>>> # Get reported income statement
>>> obb.equity.fundamental.reported_financials(symbol='AAPL', statement_type='income', provider='intrinio')
>>> # Get reported cash flow statement
>>> obb.equity.fundamental.reported_financials(symbol='AAPL', statement_type='cash', provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/reported_financials",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/reported_financials",
("intrinio",),
)
},
standard_params={
"symbol": symbol,
"period": period,
"statement_type": statement_type,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def revenue_per_geography(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
period: Annotated[
Literal["quarter", "annual"],
OpenBBField(description="Time period of the data to return."),
] = "annual",
structure: Annotated[
Literal["hierarchical", "flat"],
OpenBBField(description="Structure of the returned data."),
] = "flat",
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the revenue geographic breakdown for a given company over time.
Parameters
----------
symbol : str
Symbol to get data for.
period : Literal['quarter', 'annual']
Time period of the data to return.
structure : Literal['hierarchical', 'flat']
Structure of the returned data.
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.
Returns
-------
OBBject
results : List[RevenueGeographic]
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.
RevenueGeographic
-----------------
period_ending : date
The end date of the reporting period.
fiscal_period : Optional[str]
The fiscal period of the reporting period.
fiscal_year : Optional[int]
The fiscal year of the reporting period.
filing_date : Optional[date]
The filing date of the report.
geographic_segment : int
Dictionary of the revenue by geographic segment.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.revenue_per_geography(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.revenue_per_geography(symbol='AAPL', period='annual', structure='flat', provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/revenue_per_geography",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/revenue_per_geography",
("fmp",),
)
},
standard_params={
"symbol": symbol,
"period": period,
"structure": structure,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def revenue_per_segment(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
period: Annotated[
Literal["quarter", "annual"],
OpenBBField(description="Time period of the data to return."),
] = "annual",
structure: Annotated[
Literal["hierarchical", "flat"],
OpenBBField(description="Structure of the returned data."),
] = "flat",
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the revenue breakdown by business segment for a given company over time.
Parameters
----------
symbol : str
Symbol to get data for.
period : Literal['quarter', 'annual']
Time period of the data to return.
structure : Literal['hierarchical', 'flat']
Structure of the returned data.
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.
Returns
-------
OBBject
results : List[RevenueBusinessLine]
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.
RevenueBusinessLine
-------------------
period_ending : date
The end date of the reporting period.
fiscal_period : Optional[str]
The fiscal period of the reporting period.
fiscal_year : Optional[int]
The fiscal year of the reporting period.
filing_date : Optional[date]
The filing date of the report.
business_line : int
Dictionary containing the revenue of the business line.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.revenue_per_segment(symbol='AAPL', provider='fmp')
>>> obb.equity.fundamental.revenue_per_segment(symbol='AAPL', period='annual', structure='flat', provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/revenue_per_segment",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/revenue_per_segment",
("fmp",),
)
},
standard_params={
"symbol": symbol,
"period": period,
"structure": structure,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def search_attributes(
self,
query: Annotated[str, OpenBBField(description="Query to search for.")],
limit: Annotated[
Optional[int],
OpenBBField(description="The number of data entries to return."),
] = 1000,
provider: Annotated[
Optional[Literal["intrinio"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'intrinio' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Search Intrinio data tags to search in latest or historical attributes.
Parameters
----------
query : str
Query to search for.
limit : Optional[int]
The number of data entries to return.
provider : Optional[Literal['intrinio']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'intrinio' if there is
no default.
Returns
-------
OBBject
results : List[SearchAttributes]
Serializable results.
provider : Optional[Literal['intrinio']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
SearchAttributes
----------------
id : str
ID of the financial attribute.
name : str
Name of the financial attribute.
tag : str
Tag of the financial attribute.
statement_code : str
Code of the financial statement.
statement_type : Optional[str]
Type of the financial statement.
parent_name : Optional[str]
Parent's name of the financial attribute.
sequence : Optional[int]
Sequence of the financial statement.
factor : Optional[str]
Unit of the financial attribute.
transaction : Optional[str]
Transaction type (credit/debit) of the financial attribute.
type : Optional[str]
Type of the financial attribute.
unit : Optional[str]
Unit of the financial attribute.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.search_attributes(query='ebitda', provider='intrinio')
""" # noqa: E501
return self._run(
"/equity/fundamental/search_attributes",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/search_attributes",
("intrinio",),
)
},
standard_params={
"query": query,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def trailing_dividend_yield(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
limit: Annotated[
Optional[int],
OpenBBField(
description="The number of data entries to return. Default is 252, the number of trading days in a year."
),
] = 252,
provider: Annotated[
Optional[Literal["tiingo"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'tiingo' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get the 1 year trailing dividend yield for a given company over time.
Parameters
----------
symbol : str
Symbol to get data for.
limit : Optional[int]
The number of data entries to return. Default is 252, the number of trading days in a year.
provider : Optional[Literal['tiingo']]
The provider to use for the query, by default None.
If None, the provider specified in defaults is selected or 'tiingo' if there is
no default.
Returns
-------
OBBject
results : List[TrailingDividendYield]
Serializable results.
provider : Optional[Literal['tiingo']]
Provider name.
warnings : Optional[List[Warning_]]
List of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
TrailingDividendYield
---------------------
date : date
The date of the data.
trailing_dividend_yield : float
Trailing dividend yield.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.trailing_dividend_yield(symbol='AAPL', provider='tiingo')
>>> obb.equity.fundamental.trailing_dividend_yield(symbol='AAPL', limit=252, provider='tiingo')
""" # noqa: E501
return self._run(
"/equity/fundamental/trailing_dividend_yield",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/trailing_dividend_yield",
("tiingo",),
)
},
standard_params={
"symbol": symbol,
"limit": limit,
},
extra_params=kwargs,
)
)
@exception_handler
@validate
def transcript(
self,
symbol: Annotated[str, OpenBBField(description="Symbol to get data for.")],
year: Annotated[
int, OpenBBField(description="Year of the earnings call transcript.")
],
provider: Annotated[
Optional[Literal["fmp"]],
OpenBBField(
description="The provider to use for the query, by default None.\n If None, the provider specified in defaults is selected or 'fmp' if there is\n no default."
),
] = None,
**kwargs
) -> OBBject:
"""Get earnings call transcripts for a given company.
Parameters
----------
symbol : str
Symbol to get data for.
year : int
Year of the earnings call transcript.
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.
Returns
-------
OBBject
results : List[EarningsCallTranscript]
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.
EarningsCallTranscript
----------------------
symbol : str
Symbol representing the entity requested in the data.
quarter : int
Quarter of the earnings call transcript.
year : int
Year of the earnings call transcript.
date : datetime
The date of the data.
content : str
Content of the earnings call transcript.
Examples
--------
>>> from openbb import obb
>>> obb.equity.fundamental.transcript(symbol='AAPL', year=2020, provider='fmp')
""" # noqa: E501
return self._run(
"/equity/fundamental/transcript",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"/equity/fundamental/transcript",
("fmp",),
)
},
standard_params={
"symbol": symbol,
"year": year,
},
extra_params=kwargs,
)
)