* remove comment * replace registry description * black and add some todos * remove unused var * allow description and move provider to title * fix the data field descriptions * refactor globalnews * added `"limit"` to metadata descriptions * fix cpi command and refactor * refactored `AnalystEstimates` * add concat param * refactored `AvailableIndices` for `economy.available_indices` * sort and set index to date * place it inside exception * move literals to core * rename descriptions dict * add descriptions to cpi data * change description * black * refactored `CompanyOverview` for `stocks.fa.overview` * Updated `DATA_DESCRIPTIONS` in provider metadata * Updated `symbol` description in `DATA_DESCRIPTIONS` * fix stock_news alias * pass standard limit * fix stock news * fix to datframe * rebuild python interface * refactored `CryptoEOD` for `crypto.load` * added Field descriptions * fix polygon stock_news * fix stock_news data * ruff * refactored `DividendCalendar` for `stocks.fa.cal` * refactored `EarningsCalendar` for `stocks.fa.cal` * refactored `EarningsCallTranscript` for `stocks.fa.transcript` * refactored `ExecutiveCompensation` for `stocks.fa.comp` * first round, refactor registry, executor, map * ruff * Allow alias in the provider models for provider specific params * Updated stock news to use alias in query * small fixes * fix interface bug * black * exceptions and typing * ruff * fix docstring * sort providers * push static assets without docstrings * date Field and optional dates params in `CryptoEOD` for fmp and polygon * refactored `ForexEOD` for `forex.load` * add comment * refactored `ForexPairs` and added Polygon provider * removed `_price` models from fmp and polygon * Updated `economy.index` to use `MajorIndicesEOD` * removed `_price` from sdk models * refactored `MajorIndicesEOD` for `economy.index` * refactored `StockEOD` for `stocks.load` * regenerate sdk * ruff * fix bug with global_news * typing * add docstrings to registry map * update docstrings * add executor query arg * follow convention * docstring * inject provider interface instead * doc * safer this way * docs * add abstractmethod decorator * add explicit fetcher property model_name * remove mode_name prop * get model name from query params * force extra params or data to be optional * replace fetcher list by fetcher dict and black * explicit depps in prov interface * explicit depps in prov interface * no formatted creds * no formatted creds * dep injection * dep injection * private methods * just verify credentials * docstring * typing and cut doc * typing * typing * typing * no overkill * ruff * don't block if model not found, just warn * don't block if model not found, just warn * don't block if model not found, just warn * empty list if creds None * check creds before request * just return the data * typing * move query params * ruff * move queryparams * move queryparams * move queryparams * fix a bunch o polygon models * ruff * partial fix fmp models * ruff * refactor more fmps * create dict by alias * refactor more fmp endpoints * bug * add params to transform query * ruff * fix fmp bugs * has to be annotation * rewrite static * typing * append return type to map * support return for generic data type * remove return type for openbb provider * add todo * fix small fred typing error * add more return type info * better message * handle multiple types of data (the fetcher should declare them later) * add comment * ruff * handle returns with generic for now (check juan solution) * fix bug with generic * fix fmp fetchr dict * fill return type in the provider lib for docstrings * polygon stock news * Update economy_router.py (#5254) * remove return type stuff * adapt cpi and overview * rewrite python interface * fix to_dataframe * limit stocks eod output * rename method * mypy * mypy * mypy chart style * mypy provider * mypy ignores * mypy credentials * Added Statements Growth endpoints from FMP * account mypy fix * privatize account method * one more mypy * remove mypy ignore * rename private method * Linting * Docstring generation * Linting * move provider.py into __init__.py * add default to required_credentials -> None * refactored `KeyExecutives` for `stocks.fa.mgmt` * refactored `HistoricalEmployees` for `stocks.fa.emp` * provider docstring * docstring * refactored `HistoricalStockSplits` for `stocks.fa.split` * standardised date in stockeod * refactored ``InstitutionalOwnership` for `stocks.fa.own` * removed unused imports * add `check_fields=False` in `@validator` * historical dividens * remove unused helper * move single used helpers to where they are used * move single used helpers to where they are used * move single used helpers to where they are used * standardise date, vwap in crypto eod and forex eod * rename __commands__ to __extensions__ * change coverage separator * the map cannot change sep * sry * sry again * remove comment * refactored `MajorIndicesConstituents` for `economy.const` * add some descriptions about provider * refactored `PriceTargetConsensus` for `stocks.fa.pt` * refactored `PriceTarget` for `stocks.fa.pta` * refactored `RevenueBusinessLine` for `stocks.fa.revseg` * change metadata file name * docstring * remove unecessary arg * ruff & black * refactored `RevenueGeographic` for `stocks.fa.revgeo` * refactored `RiskPremium` for `economy.risk` * refactored `SECFilings` for `stocks.dd.sec` * refactored `ShareStatistics` for `stocks.fa.shrs` * refactored `StockInsiderTrading` for `stocks.fa.ins` * peers * stock splits * refactored `KeyMetrics` for `stocks.fa.metrics` * refactored `StockMultiples` for `stocks.multiples` * refactor income statement * rebuild * fmp balance * added `StocksOwnership` to `stocks.fa.own` * added `InstitutionalOwnership` to `stocks.fa.ins_own` * refactored `StocksOwnership` for `stocks.fa.own` * cleanup * refactored `TreasuryRates` for `fixedincome.treasury` * reorder balance items * fix polygon bs * refactored `IncomeStatement` for `stocks.fa.balance` * refactored base and types * added static files * cleanup * cleanup * refactored `CashFlowStatement` for `stocks.fa.cash` * added `stocks/fa` static file * black and ruff --------- Co-authored-by: Pratyush Shukla <ps4534@nyu.edu> Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
| OpenBB is committed to build the future of investment research by focusing on an open source infrastructure accessible to everyone, everywhere. |
|---|
![]() |
| Check our website at openbb.co |
OpenBB Terminal 🚀
Documentation can be found at: https://openbb.co/docs
Click on the GIF below for a DEMO of the terminal.
≪ GETTING STARTED · CONTRIBUTING · SEE FEATURES »
Table of Contents
1. Installation
If you wish to install the OpenBB Terminal or the OpenBB SDK, please use one of the following options:
| OpenBB Terminal | Usage |
|---|---|
| Windows Installer | Recommended way for Windows if you just want to use the OpenBB Terminal |
| MacOS Installer | Recommended way for MacOS if you just want to use the OpenBB Terminal |
| Source | If you wish to contribute to the development of the OpenBB Terminal |
| Docker | An alternative way if you just want to use the OpenBB Terminal |
| OpenBB SDK | Usage |
|---|---|
| PyPI | If you wish to use the OpenBB SDK in Python or Jupyter Notebooks |
| Source | If you wish to contribute to the development of the OpenBB Terminal |
2. Contributing
There are three main ways of contributing to this project. (Hopefully you have starred the project by now ⭐️)
Become a Contributor
- More information on our CONTRIBUTING GUIDELINES.
Create a GitHub ticket
Before creating a ticket make sure the one you are creating doesn't exist already here
Provide feedback
We are most active on our Discord, but feel free to reach out to us in any of our social media for feedback.
3. License
Distributed under the MIT License. See LICENSE for more information.
4. Disclaimer
Trading in financial instruments involves high risks including the risk of losing some, or all, of your investment amount, and may not be suitable for all investors.
Before deciding to trade in a financial instrument you should be fully informed of the risks and costs associated with trading the financial markets, carefully consider your investment objectives, level of experience, and risk appetite, and seek professional advice where needed.
The data contained in the OpenBBTerminal is not necessarily accurate.
OpenBB and any provider of the data contained in this website will not accept liability for any loss or damage as a result of your trading, or your reliance on the information displayed.
All names, logos, and brands of third parties that may be referenced in our sites, products or documentation are trademarks of their respective owners. Unless otherwise specified, OpenBB and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.
5. Contacts
If you have any questions about the terminal or anything OpenBB, feel free to email us at support@openbb.co
If you want to say hi, or are interested in partnering with us, feel free to reach us at hello@openbb.co
Any of our social media platforms: openbb.co/links
6. Star History
This is a proxy of our growth and that we are just getting started. But for more metrics important to us check openbb.co/open.
7. Contributors
OpenBB wouldn't be OpenBB without you. If we are going to disrupt financial industry, every contribution counts. Thank you for being part of this journey.

