{"repo":"OpenBB-finance/OpenBB","free":true,"listed":false,"github":"https://github.com/OpenBB-finance/OpenBB","clone":"git clone https://github.com/OpenBB-finance/OpenBB.git","description":"Open Data Platform for analysts, quants and AI agents.","language":"Python","stars":71932,"topics":["ai","crypto","derivatives","economics","equity","finance","fixed-income","machine-learning","openbb","options","python","quantitative-finance","stocks"],"license":null,"category":"data_platform","readme_excerpt":"<br />\n<img src=\"https://github.com/OpenBB-finance/OpenBB/blob/develop/images/odp-light.svg?raw=true#gh-light-mode-only\" alt=\"Open Data Platform by OpenBB logo\" width=\"600\">\n<img src=\"https://github.com/OpenBB-finance/OpenBB/blob/develop/images/odp-dark.svg?raw=true#gh-dark-mode-only\" alt=\"Open Data Platform by OpenBB logo\" width=\"600\">\n<br />\n<br />\n\n[![Twitter](https://img.shields.io/twitter/url/https/twitter.com/openbb_finance.svg?style=social&label=Follow%20%40openbb_finance)](https://x.com/openbb_finance)\n[![Discord Shield](https://img.shields.io/discord/831165782750789672)](https://discord.com/invite/xPHTuHCmuV)\n[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/OpenBB-finance/OpenBB)\n<a href=\"https://codespaces.new/OpenBB-finance/OpenBB\">\n  <img src=\"https://github.com/codespaces/badge.svg\" height=\"20\" />\n</a>\n<a target=\"_blank\" href=\"https://colab.research.google.com/github/OpenBB-finance/OpenBB/blob/develop/examples/googleColab.ipynb\">\n  <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n</a>\n[![PyPI](https://img.shields.io/pypi/v/openbb?color=blue&label=PyPI%20Package)](https://pypi.org/project/openbb/)\n\nOpen Data Platform by OpenBB (ODP) is the open-source toolset that helps data engineers integrate proprietary, licensed, and public data sources into downstream applications like AI copilots and research dashboards.\n\nODP operates as the \"connect once, consume everywhere\" infrastructure layer that consolidates and exposes data to multiple surfaces at once: Python environments for quants, OpenBB Workspace and Excel for analysts, MCP servers for AI agents, and REST APIs for other applications.\n\n<a href=\"https://pro.openbb.co\">\n  <div align=\"center\">\n  <img src=\"https://openbb-cms.directus.app/assets/70b971ef-7a7e-486e-b5ae-1cc602f2162c.png\" alt=\"Logo\" width=\"1000\">\n  </div>\n</a>\n\nGet started with: `pip install openbb`\n\n```python\nfrom openbb import obb\noutput = obb.equity.price.historical(\"AAPL\")\ndf = output.to_dataframe()\n```\n\nData integrations available can be found here: <https://docs.openbb.co/python/reference>\n\n---\n\n## OpenBB Workspace\n\nWhile the Open Data Platform provides the open-source data integration foundation, **OpenBB Workspace** offers the enterprise UI for analysts to visualize datasets and leverage AI agents. The platform's \"connect once, consume everywhere\" architecture enables seamless integration between the two.\n\nYou can find OpenBB Workspace at <https://pro.openbb.co>.\n<a href=\"https://pro.openbb.co\">\n  <div align=\"center\">\n  <img src=\"https://openbb-cms.directus.app/assets/f69b6aaf-0821-4bc8-a43c-715e03a924ef.png\" alt=\"Logo\" width=\"1000\">\n  </div>\n</a>\n\nData integration:\n\n- You can learn more about adding data to the OpenBB workspace from the [docs](https://docs.openbb.co/workspace) or [this open source repository](https://github.com/OpenBB-finance/backends-for-openbb).\n\nAI Agents integration:\n\n- You can learn more about adding AI agents to the OpenBB workspace from [this open source repository](https://github.com/OpenBB-finance/agents-for-openbb).\n\n### Integrating Open Data Platform to the OpenBB Workspace\n\nConnect this library to the OpenBB Workspace with a few simple commands, in a Python (3.9.21 - 3.12) environment.\n\n#### Run an ODP backend\n\n- Install the packages.\n\n```sh\npip install \"openbb[all]\"\n```\n\n- Start the API server over localhost.\n\n```sh\nopenbb-api\n```\n\nThis will launch a FastAPI server, via Uvicorn, at `127.0.0.1:6900`.\n\nYou can check that it works by going to <http://127.0.0.1:6900>.\n\n#### Integrate the ODP Backend to OpenBB Workspace\n\nSign-in to the [OpenBB Workspace](https://pro.openbb.co/), and follow the following steps:\n\n![CleanShot 2025-05-17 at 09 51 56@2x](https://github.com/user-attachments/assets/75cffb4a-5e95-470a-b9d0-6ffd4067e069)\n\n1. Go to the \"Apps\" tab\n2. Click on \"Connect backend\"\n3. Fill in the form with:\n   Name: Open Data Platform\n   URL: <http://127.0.0.1:6900>\n4. Click on \"Test\". You should get a \"Test successful\" with the number of apps found.\n5. Click on \"Add\".\n\nThat's it.\n\n---\n\n<!-- TABLE OF CONTENTS -->\n<details closed=\"closed\">\n  <summary><h2 style=\"display: inline-block\">Table of Contents</h2></summary>\n  <ol>\n    <li><a href=\"#1-installation\">Installation</a></li>\n    <li><a href=\"#2-contributing\">Contributing</a></li>\n    <li><a href=\"#3-license\">License</a></li>\n    <li><a href=\"#4-disclaimer\">Disclaimer</a></li>\n    <li><a href=\"#5-contacts\">Contacts</a></li>\n    <li><a href=\"#6-star-history\">Star History</a></li>\n    <li><a href=\"#7-contributors\">Contributors</a></li>\n  </ol>\n</details>\n\n## 1. Installation\n\nThe ODP Python Package can be installed from [PyPI package](https://pypi.org/project/openbb/) by running `pip install openbb`\n\nor by cloning the repository directly with `git clone https://github.com/OpenBB-finance/OpenBB.git`.\n\nPlease find more about the installation process, in the [OpenBB Documentation](https://docs.openbb.co/python/installation).\n\n### ODP CLI installation\n\nThe ODP CLI is a command-line interface that allows you to access the ODP directly from your command line.\n\nIt can be installed by running `pip install openbb-cli`\n\nor by cloning the repository directly with  `git clone https://github.com/OpenBB-finance/OpenBB.git`.\n\nPlease find more about the installation process in the [OpenBB Documentation](https://docs.openbb.co/cli/installation).\n\n## 2. Contributing\n\nThere are three main ways of contributing to this project. (Hopefully you have starred the project by now ⭐️)\n\n### Become a Contributor\n\n- More information on our [Developer Documentation](https://docs.openbb.co/python/developer).\n\n### Create a GitHub ticket\n\nBefore creating a ticket make sure the one you are creating doesn't exist already [among the existing issues](https://github.com/OpenBB-finance/OpenBB/issues)\n\n- [Report bug](https://github.com/OpenBB-finance/OpenBB/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBug%5D)\n- [Suggest improvement](https://github.com/OpenBB-finance/OpenBB/issues/new?assignees=&labels=enhancement&template=enhancement.md&title=%5BIMPROVE%5D)\n- [Request a feature](https://github.com/OpenBB-finance/OpenBB/issues/new?assignees=&labels=new+feature&template=feature_request.md&title=%5BFR%5D)\n\n### Provide feedback\n\nWe are most active on [our Discord](https://openbb.co/discord), but feel free to reach out to us in any of [our social media](https://openbb.co/links) for feedback.\n\n## 3. License\n\nDistributed under the AGPLv3 License. See\n[LICENSE](https://github.com/OpenBB-finance/OpenBB/blob/main/LICENSE) for more information.\n\n## 4. Disclaimer\n\nTrading in financial instruments involves high risks including the risk of losing some, or all, of your investment\namount, and may not be suitable for all investors.\n\nBefore 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.\n\nThe data contained in the Open Data Platform is not necessarily accurate.\n\nOpenBB 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.\n\nAll 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.\n\nOur use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.\n\n## 5. Contacts\n\nIf you have any questions about the platform or anything OpenBB, feel free to email us at `support@openbb.co`\n\nIf you want to say hi, or are interested in partnering with us, feel free to reach us at `hello@openbb.co`\n\nAny of our social media platforms: [openbb.co/links](https://openbb.co/links)\n\n## 6. Star History\n\nThis is a proxy of our growth and that we are just getting started.\n\nBut for more metrics important to us check [openbb.co/open](https://openbb.co/open).\n\n[![Star History Chart](https://api.star-history.com/svg?repos=openbb-finance/OpenBB&type=Date&theme=dark)](https://api.star-history.com/svg?repos=openbb-finance/OpenBB&type=Date&theme=dark)\n\n## 7. Contributors\n\nOpenBB 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.\n\n<a href=\"https://github.com/OpenBB-finance/OpenBB/graphs/contributors\">\n   <img src=\"https://contributors-img.web.app/image?repo=OpenBB-finance/OpenBB\" width=\"800\"/>\n</a>\n\n<!-- MARKDOWN LINKS & IMAGES -->\n<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->\n\n[contributors-shield]: https://img.shields.io/github/contributors/OpenBB-finance/OpenBB.svg?style=for-the-badge\n[contributors-url]: https://github.com/OpenBB-finance/OpenBB/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/OpenBB-finance/OpenBB.svg?style=for-the-badge\n[forks-url]: https://github.com/OpenBB-finance/OpenBB/network/members\n[stars-shield]: https://img.shields.io/github/stars/OpenBB-finance/OpenBB.svg?style=for-the-badge\n[stars-url]: https://github.com/OpenBB-finance/OpenBB/stargazers\n[issues-shield]: https://img.shields.io/github/issues/OpenBB-finance/OpenBB.svg?style=for-the-badge&color=blue\n[issues-url]: https://github.com/OpenBB-finance/OpenBB/issues\n[bugs-open-shield]: https://img.shields.io/github/issues/OpenBB-finance/OpenBB/bug.svg?style=for-the-badge&color=yellow\n[bugs-open-url]: https://github.com/OpenBB-finance/OpenBB/issues?q=is%3Aissue+label%3Abug+is%3Aop","default_branch":"develop","files":2191,"tree":[".codespell.ignore",".codespell.skip",".coveragerc",".gitattributes",".github/ISSUE_TEMPLATE/bug_report.md",".github/ISSUE_TEMPLATE/enhancement.md",".github/ISSUE_TEMPLATE/feature_request.md",".github/ISSUE_TEMPLATE/oss-gg-hack-submission.yml",".github/PULL_REQUEST_TEMPLATE/obb_developer_pull_request_template.md",".github/PULL_REQUEST_TEMPLATE/platform_pull_request_template.md",".github/PULL_REQUEST_TEMPLATE/terminal_pull_request_template.md",".github/codeql/desktop-only.yml",".github/labeler.yml",".github/platform-drafter.yml",".github/pull_request_template.md",".github/release-drafter.yml",".github/scripts/noxfile.py",".github/scripts/process_changelog.py",".github/scripts/summarize_changelog.py",".github/workflows/README.md",".github/workflows/build-desktop-osx64.yml",".github/workflows/build-desktop-osxARM.yml",".github/workflows/build-desktop-win64.yml",".github/workflows/codeql.yml",".github/workflows/draft-release.yml",".github/workflows/general-linting.yml",".github/workflows/gh-branch-name-check.yml",".github/workflows/gh-pr-labels.yml",".github/workflows/pr_description.yml",".github/workflows/release-desktop.yml",".github/workflows/test-unit-cli.yml",".github/workflows/test-unit-desktop-osx64.yml",".github/workflows/test-unit-desktop-osxARM.yml",".github/workflows/test-unit-desktop-win64.yml",".github/workflows/test-unit-desktop-winARM.yml",".github/workflows/test-unit-platform.yml",".gitignore",".markdownlintrc",".pre-commit-config.yaml",".pylintrc",".secrets.baseline","CODE_OF_CONDUCT.md","LICENSE","README.md","SECURITY.md","assets/README.md","assets/extensions/obbject.json","assets/extensions/provider.json","assets/extensions/router.json","assets/scripts/generate_extension_data.py","build/docker/platform.dockerfile","build/docker/platformAPI.Dockerfile","build/pypi/openbb_platform/PUBLISH.md","build/pypi/openbb_platform/nightly.py","build/pypi/openbb_platform/publish.py","cli/README.md","cli/integration/test_commands.py","cli/integration/test_integration_base_controller.py","cli/integration/test_integration_base_platform_controller.py","cli/integration/test_integration_cli_controller.py","cli/integration/test_integration_obbject_registry.py","cli/openbb_cli/__init__.py","cli/openbb_cli/argparse_translator/__init__.py","cli/openbb_cli/argparse_translator/argparse_argument.py","cli/openbb_cli/argparse_translator/argparse_class_processor.py","cli/openbb_cli/argparse_translator/argparse_translator.py","cli/openbb_cli/argparse_translator/obbject_registry.py","cli/openbb_cli/argparse_translator/reference_processor.py","cli/openbb_cli/argparse_translator/utils.py","cli/openbb_cli/assets/routines/routine_example.openbb","cli/openbb_cli/assets/styles/default/Consolas.ttf","cli/openbb_cli/assets/styles/default/dark.mpfstyle.json","cli/openbb_cli/assets/styles/default/dark.mplrc.json","cli/openbb_cli/assets/styles/default/dark.mplstyle","cli/openbb_cli/assets/styles/default/dark.pltstyle.json","cli/openbb_cli/assets/styles/default/dark.richstyle.json","cli/openbb_cli/assets/styles/default/light.mpfstyle.json","cli/openbb_cli/assets/styles/default/light.mplrc.json","cli/openbb_cli/assets/styles/default/light.mplstyle","cli/openbb_cli/assets/styles/default/light.pltstyle.json","cli/openbb_cli/assets/styles/default/light.richstyle.json","cli/openbb_cli/assets/styles/default/tables.pltstyle.json","cli/openbb_cli/assets/styles/user/openbb.richstyle.json","cli/openbb_cli/cli.py","cli/openbb_cli/config/__init__.py","cli/openbb_cli/config/completer.py","cli/openbb_cli/config/console.py","cli/openbb_cli/config/constants.py","cli/openbb_cli/config/menu_text.py","cli/openbb_cli/config/setup.py","cli/openbb_cli/config/style.py","cli/openbb_cli/controllers/base_controller.py","cli/openbb_cli/controllers/base_platform_controller.py","cli/openbb_cli/controllers/choices.py","cli/openbb_cli/controllers/cli_controller.py","cli/openbb_cli/controllers/platform_controller_factory.py","cli/openbb_cli/controllers/script_parser.py","cli/openbb_cli/controllers/settings_controller.py","cli/openbb_cli/controllers/utils.py","cli/openbb_cli/models/settings.py","cli/openbb_cli/session.py","cli/openbb_cli/utils/utils.py","cli/poetry.lock","cli/pyproject.toml","cli/tests/__init__.py","cli/tests/test_argparse_translator.py","cli/tests/test_argparse_translator_obbject_registry.py","cli/tests/test_cli.py","cli/tests/test_config_completer.py","cli/tests/test_config_console.py","cli/tests/test_config_menu_text.py","cli/tests/test_config_setup.py","cli/tests/test_config_style.py","cli/tests/test_controllers_base_controller.py","cli/tests/test_controllers_base_platform_controller.py","cli/tests/test_controllers_choices.py","cli/tests/test_controllers_cli_controller.py","cli/tests/test_controllers_controller_factory.py","cli/tests/test_controllers_script_parser.py","cli/tests/test_controllers_settings_controller.py","cli/tests/test_controllers_utils.py","cli/tests/test_models_settings.py","cli/tests/test_session.py","cookiecutter/MANIFEST.in","cookiecutter/README.md","cookiecutter/cookiecutter.json","cookiecutter/openbb_cookiecutter/__init__.py","cookiecutter/openbb_cookiecutter/cli.py","cookiecutter/openbb_cookiecutter/template/cookiecutter.json","cookiecutter/openbb_cookiecutter/template/hooks/post_gen_project.py","cookiecutter/openbb_cookiecutter/template/hooks/pre_gen_project.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/.coveragerc","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/.gitignore","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/.secrets.baseline","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/README.md","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/pyproject.toml","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/pytest.ini","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/ruff.toml","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/tests/.gitkeep","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/tests/conftest.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/obbject/__init__.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/obbject/{{cookiecutter.obbject_name}}/__init__.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/providers/__init__.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/providers/{{cookiecutter.provider_name}}/__init__.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/providers/{{cookiecutter.provider_name}}/models/__init__.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/providers/{{cookiecutter.provider_name}}/models/example.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/providers/{{cookiecutter.provider_name}}/models/ohlc_example.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/providers/{{cookiecutter.provider_name}}/utils/__init__.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/providers/{{cookiecutter.provider_name}}/utils/helpers.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/routers/__init__.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/routers/depends.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/routers/{{cookiecutter.router_name}}.py","cookiecutter/openbb_cookiecutter/template/{{cookiecutter.project_tag}}/{{cookiecutter.package_name}}/routers/{{cookiecutter.router_name}}_views.py","cookiecutter/poetry.lock","cookiecutter/pyproject.toml","desktop/.gitignore","desktop/Cargo.lock","desktop/Cargo.toml","desktop/LICENSE","desktop/README.md","desktop/dist/.gitkeep","desktop/eslint.config.mjs","desktop/index.html","desktop/package-lock.json","desktop/package.json","desktop/postcss.config.js","desktop/public/.gitkeep","desktop/public/assets/icons/sprite.svg","desktop/src-tauri/.gitignore","desktop/src-tauri/Cargo.toml","desktop/src-tauri/LICENSE","desktop/src-tauri/build.rs","desktop/src-tauri/capabilities/default.json","desktop/src-tauri/capabilities/desktop.json","desktop/src-tauri/entitlements.plist","desktop/src-tauri/frameworks/.gitkeep","desktop/src-tauri/gen/.gitkeep","desktop/src-tauri/icons/128x128.png","desktop/src-tauri/icons/128x128@2x.png","desktop/src-tauri/icons/32x32.png","desktop/src-tauri/icons/64x64.png","desktop/src-tauri/icons/Square107x107Logo.png","desktop/src-tauri/icons/Square142x142Logo.png","desktop/src-tauri/icons/Square150x150Logo.png","desktop/src-tauri/icons/Square284x284Logo.png","desktop/src-tauri/icons/Square30x30Logo.png","desktop/src-tauri/icons/Square310x310Logo.png","desktop/src-tauri/icons/Square44x44Logo.png","desktop/src-tauri/icons/Square71x71Logo.png","desktop/src-tauri/icons/Square89x89Logo.png","desktop/src-tauri/icons/StoreLogo.png","desktop/src-tauri/icons/icon.icns","desktop/src-tauri/icons/icon.ico","desktop/src-tauri/icons/icon.png","desktop/src-tauri/icons/icon.svg","desktop/src-tauri/icons/windows_vertical.bmp","desktop/src-tauri/permissions/.gitkeep","desktop/src-tauri/scripts/copy_openssl.cjs","desktop/src-tauri/scripts/copy_openssl_win.ps1","desktop/src-tauri/scripts/fix_dylibs.sh","desktop/src-tauri/scripts/sign.ps1","desktop/src-tauri/src/main.rs","desktop/src-tauri/src/tauri_handlers/backends.rs","desktop/src-tauri/src/tauri_handlers/credentials.rs","desktop/src-tauri/src/tauri_handlers/environments.rs","desktop/src-tauri/src/tauri_handlers/helpers.rs","desktop/src-tauri/src/tauri_handlers/jupyter.rs","desktop/src-tauri/src/tauri_handlers/mod.rs","desktop/src-tauri/src/tauri_handlers/startup.rs","desktop/src-tauri/src/uninstall.rs","desktop/src-tauri/src/utils/app_termination.rs","desktop/src-tauri/src/utils/autostart/linux_autostart.rs","desktop/src-tauri/src/utils/autostart/macos_autostart.rs","desktop/src-tauri/src/utils/autostart/mod.rs","desktop/src-tauri/src/utils/autostart/windows_autostart.rs","desktop/src-tauri/src/utils/certs.rs","desktop/src-tauri/src/utils/command_sanitizer.rs","desktop/src-tauri/src/utils/mod.rs","desktop/src-tauri/src/utils/process_monitor.rs","desktop/src-tauri/tauri.conf.json","desktop/src-tauri/tauri.linux.conf.json","desktop/src-tauri/tauri.macos.conf.json","desktop/src-tauri/tauri.windows.conf.json","desktop/src/components/AddExtensionSelector.tsx","desktop/src/components/BackendLogsPage.tsx","desktop/src/components/EnvironmentActions.tsx","desktop/src/components/GamestonkIcon.tsx","desktop/src/components/Icon.tsx","desktop/src/components/InstallComponents.tsx","desktop/src/components/JupyterLogsPage.tsx","desktop/src/components/SearchBar.tsx","desktop/src/components/ShowVersion.tsx","desktop/src/components/Toast.tsx","desktop/src/contexts/EnvironmentCreationContext.tsx","desktop/src/main.tsx","desktop/src/routeTree.gen.ts","desktop/src/routes/__root.tsx","desktop/src/routes/api-keys.tsx","desktop/src/routes/backend-logs.tsx","desktop/src/routes/backends.tsx","desktop/src/routes/environments.tsx","desktop/src/routes/index.tsx","desktop/src/routes/installation-progress.tsx","desktop/src/routes/jupyter-logs.tsx","desktop/src/routes/setup.tsx","desktop/src/routes/uninstall.tsx","desktop/src/styles.css","desktop/src/styles/jupyter-logs.css","desktop/src/tests/components/AddExtensionSelector.test.tsx","desktop/src/tests/components/BackendLogsPage.test.tsx","desktop/src/tests/components/Icon.test.tsx","desktop/src/tests/components/InstallComponents.test.tsx","desktop/src/tests/components/JupyterLogsPage.test.tsx","desktop/src/tests/components/SearchBar.test.tsx","desktop/src/tests/routes/__root.test.tsx","desktop/src/tests/routes/api-keys.test.tsx","desktop/src/tests/routes/backend-logs.test.tsx","desktop/src/tests/routes/backends.test.tsx","desktop/src/tests/routes/environments.test.tsx","desktop/src/tests/routes/index.test.tsx","desktop/src/tests/routes/installation-progress.test.tsx","desktop/src/tests/routes/jupyter-logs.test.tsx","desktop/src/tests/routes/setup.test.tsx","desktop/src/tests/routes/tauri-mock.test.ts","desktop/src/tests/routes/uninstall.test.tsx","desktop/src/tests/setup.ts","desktop/src/tests/utils.test.ts","desktop/src/utils/index.ts","desktop/src/vite-env.d.ts","desktop/tailwind.config.js","desktop/tsconfig.json","desktop/tsconfig.node.json","desktop/vite.config.ts","desktop/vitest.config.ts","examples/BacktestingMomentumTrading.ipynb","examples/COMMUNITY_EXAMPLE_TEMPLATE.ipynb","examples/EthereumTrendAnalysis.ipynb","examples/README.md","examples/content.json","examples/copperToGoldRatio.ipynb","examples/currencyExchangeRateForecasting.ipynb","examples/financialStatements.ipynb","examples/financialStatements.webp","examples/findSymbols.ipynb","examples/findSymbols.webp","examples/googleColab.ipynb","examples/googleColab.webp","examples/impliedEarningsMove.ipynb","examples/impliedEarningsMove.webp","examples/loadHistoricalPriceData.ipynb","examples/mAndAImpact.ipynb","examples/openbb-apachebeam/README.md","examples/openbb-apachebeam/requirements.txt","examples/openbb-apachebeam/tests/__init__.py","examples/openbb-apachebeam/tests/test_obb_pipeline.py","examples/openbbPlatformAsLLMTools.ipynb","examples/openbb_vs_langchain.ipynb","examples/platform_standardization.ipynb","examples/portfolioOptimizationUsingModernPortfolioTheory.ipynb","examples/riskReturnAnalysis.ipynb","examples/sectorRotationStrategy.ipynb","examples/streamlit/news.py","examples/streamlit/requirements.txt","examples/streamlit_news.webp","examples/usdLiquidityIndex.ipynb","images/background.png","images/dmg_volume.icns","images/legacy/GamestonkLogo.png","images/legacy/GamestonkTerminal.icns","images/legacy/dmg_background.png","images/legacy/gst_app.ico","images/legacy/gst_letters.png","images/legacy/gst_logo.png","images/legacy/gst_logo_green_white_background.png","images/legacy/gst_logo_lockup_rGreen_with_letters.png","images/legacy/gst_logo_lockup_rGreen_with_letters_only.png","images/legacy/gst_logo_rGreen.png","images/legacy/logo.png","images/legacy/splashscreen.png","images/odp-dark.svg","images/odp-light.svg","images/openbb.icns","images/openbb_dmg_background.png","images/openbb_dmg_background@2x.png","images/openbb_folder_icon.icns","images/openbb_gradient.png","images/openbb_horizontal_logo.png","images/openbb_icon.ico","images/openbb_logo.png","images/openbb_splashscreen.png","images/openbb_terminal_illustration.gif","images/platform-dark.svg","images/platform-light.svg","openbb_platform/CONTRIBUTING.md","openbb_platform/README.md","openbb_platform/conftest.py","openbb_platform/core/README.md","openbb_platform/core/__init__.py","openbb_platform/core/integration/test_obbject.py","openbb_platform/core/openbb/__init__.py","openbb_platform/core/openbb/assets/reference.json","openbb_platform/core/openbb/package/__init__.py","openbb_platform/core/openbb/py.typed","openbb_platform/core/openbb_core/__init__.py","openbb_platform/core/openbb_core/api/app_loader.py","openbb_platform/core/openbb_core/api/auth/user.py","openbb_platform/core/openbb_core/api/dependency/__init__.py","openbb_platform/core/openbb_core/api/dependency/coverage.py","openbb_platform/core/openbb_core/api/dependency/system.py","openbb_platform/core/openbb_core/api/exception_handlers.py","openbb_platform/core/openbb_core/api/rest_api.py","openbb_platform/core/openbb_core/api/router/__init__.py","openbb_platform/core/openbb_core/api/router/commands.py","openbb_platform/core/openbb_core/api/router/coverage.py","openbb_platform/core/openbb_core/api/router/helpers/__init__.py","openbb_platform/core/openbb_core/api/router/helpers/coverage_helpers.py","openbb_platform/core/openbb_core/api/router/system.py","openbb_platform/core/openbb_core/api/router/user.py","openbb_platform/core/openbb_core/app/__init__.py","openbb_platform/core/openbb_core/app/command_runner.py","openbb_platform/core/openbb_core/app/constants.py","openbb_platform/core/openbb_core/app/deprecation.py","openbb_platform/core/openbb_core/app/extension_loader.py","openbb_platform/core/openbb_core/app/logs/formatters/formatter_with_exceptions.py","openbb_platform/core/openbb_core/app/logs/handlers/path_tracking_file_handler.py","openbb_platform/core/openbb_core/app/logs/handlers_manager.py","openbb_platform/core/openbb_core/app/logs/logging_service.py","openbb_platform/core/openbb_core/app/logs/models/logging_settings.py","openbb_platform/core/openbb_core/app/logs/utils/expired_files.py","openbb_platform/core/openbb_core/app/logs/utils/utils.py","openbb_platform/core/openbb_core/app/model/__init__.py","openbb_platform/core/openbb_core/app/model/abstract/__init__.py","openbb_platform/core/openbb_core/app/model/abstract/error.py","openbb_platform/core/openbb_core/app/model/abstract/results.py","openbb_platform/core/openbb_core/app/model/abstract/singleton.py","openbb_platform/core/openbb_core/app/model/abstract/tagged.py","openbb_platform/core/openbb_core/app/model/abstract/warning.py","openbb_platform/core/openbb_core/app/model/api_settings.py","openbb_platform/core/openbb_core/app/model/charts/chart.py","openbb_platform/core/openbb_core/app/model/charts/charting_settings.py","openbb_platform/core/openbb_core/app/model/command_context.py","openbb_platform/core/openbb_core/app/model/credentials.py","openbb_platform/core/openbb_core/app/model/defaults.py","openbb_platform/core/openbb_core/app/model/example.py","openbb_platform/core/openbb_core/app/model/extension.py","openbb_platform/core/openbb_core/app/model/field.py","openbb_platform/core/openbb_core/app/model/metadata.py","openbb_platform/core/openbb_core/app/model/obbject.py","openbb_platform/core/openbb_core/app/model/preferences.py","openbb_platform/core/openbb_core/app/model/python_settings.py","openbb_platform/core/openbb_core/app/model/results/__init__.py","openbb_platform/core/openbb_core/app/model/results/empty.py","openbb_platform/core/openbb_core/app/model/system_settings.py","openbb_platform/core/openbb_core/app/model/user_settings.py","openbb_platform/core/openbb_core/app/provider_interface.py","openbb_platform/core/openbb_core/app/query.py","openbb_platform/core/openbb_core/app/router.py","openbb_platform/core/openbb_core/app/service/auth_service.py","openbb_platform/core/openbb_core/app/service/system_service.py","openbb_platform/core/openbb_core/app/service/user_service.py"],"storefront":"/r/OpenBB-finance","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/OpenBB-finance/OpenBB/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}