Deprecating Endpoints
Deprecating commands is essential to maintaining the OpenBB Platform. This guide outlines the process for deprecating an endpoint.
Deprecating an endpoint
-
Add the new endpoint that will replace the deprecated one.
-
Add the deprecation warning
Navigate to the router where the endpoint to be deprecated exists. Set the
deprecated
flag toTrue
and adddeprecation=OpenBBDeprecationWarning(…)
argument to the decorator. Refer to the example below:
from openbb_core.app.deprecation import OpenBBDeprecationWarning
@router.command(
model="MarketIndices",
deprecated=True,
deprecation=OpenBBDeprecationWarning(
message="This endpoint is deprecated; use `/index/price/historical` instead.",
since=(4, 1),
expected_removal=(4, 5),
),
)
async def market(
cc: CommandContext,
provider_choices: ProviderChoices,
standard_params: StandardParams,
extra_params: ExtraParams,
) -> OBBject:
"""Historical Market Indices."""
return await OBBject.from_query(Query(**locals())) -
Get approval from a OpenBB Platform maintainer: We will help you determine the appropriate version for the deprecation warning, and communicate the change(s) to the relevant personnel that might depend on the endpoint you are deprecating.
-
Remove as we say - the endpoint will be removed in the version specified in the deprecation warning.