Skip to main content

openbb-core

Developing with the openbb-core allows you to build once, then deploy everywhere. The package serves as the foundational component of the OpenBB open-source ecosystem, encapsulating essential services and infrastructure for other extensions.

info

The majority of users will not need to install, or interact with, this package directly, beyond running openbb-build.

Key Features

  • Extendable API Routing Mechanism (Router Class): Simplifies the process of defining API routes and endpoints - out of the box Python and Web endpoints.
  • Standardized Data Model (Data Class): A flexible and dynamic Pydantic model capable of handling various data structures.
  • Standardized Query Params (QueryParams Class): A Pydantic model for handling querying to different providers.
  • Dynamic Field Support: Enables handling of undefined fields, providing versatility in data processing.
  • Robust Data Validation: Utilizes Pydantic's validation features to ensure data integrity.

Installation

Install openbb-core as a standalone package from PyPI with:

pip install openbb-core

Dependencies

Current specifications can be found in the pyproject.toml file of the GitHub repository.

The top-level dependencies are:

  • pydantic
  • fastapi
  • uvicorn
  • requests
  • aiohttp
  • websockets
  • python-multipart
  • uuid7
  • html5lib
  • importlib-metadata
  • python-dotenv
  • ruff
  • pyjwt
  • pandas

Usage

Most usage is described in other parts of this documentation.

General concepts and classes are explained on the Architecture Overview page.

Go to the Extension Types page to learn about, or get started building, OpenBB extensions.