Skip to main content
Version: v5

Developer

Everything the Python Interface and REST API expose comes from installed extensions, and the packages OpenBB publishes are built the same way you would build your own. In V5 a data package is self-contained: it registers a provider and its own command namespace, so openbb-famafrench installs both the famafrench provider and obb.famafrench.

If you have not built an extension before, start with Quick start (Developer), which registers an existing FastAPI router in a few minutes. The Concepts pages explain the architecture these guides assume. The fastest way to begin a new project is the openbb-cookiecutter template described in Extension types.

The classes most extensions import are:

from openbb_core.app.model.command_context import CommandContext
from openbb_core.app.model.example import APIEx, PythonEx
from openbb_core.app.model.extension import Extension
from openbb_core.app.model.obbject import OBBject
from openbb_core.app.provider_interface import ExtraParams, ProviderChoices, StandardParams
from openbb_core.app.query import Query
from openbb_core.app.router import Router
from openbb_core.provider.abstract.data import Data
from openbb_core.provider.abstract.fetcher import Fetcher
from openbb_core.provider.abstract.provider import Provider
from openbb_core.provider.abstract.query_params import QueryParams