OpenBB-finance/OpenBB · error · RuntimeError
This charting method does not support {provider}. Supported
Error message
This charting method does not support {provider}. Supported providers: bls. What it means
The BLS charting view in economy_views.py only handles Bureau of Labor Statistics response shapes, so it raises RuntimeError when the provider attached to the data is anything other than 'bls'. This mirrors the FRED guard: the downstream pivot logic assumes BLS fields (symbol, date, value) and would mis-render other providers' data.
Source
Thrown at openbb_platform/extensions/economy/openbb_economy/economy_views.py:359
bar_kwargs: Optional[dict]
Additional keyword arguments applied to `fig.add_bar`.
scatter_kwargs: Optional[dict]
Additional keyword arguments applied to `fig.add_scatter`.
layout_kwargs: Optional[dict]
Additional keyword arguments applied to `fig.update_layout`.
"""
# pylint: disable=import-outside-toplevel
from openbb_charting.charts.generic_charts import bar_chart, line_chart
from openbb_charting.charts.helpers import (
z_score_standardization,
)
from openbb_core.app.utils import basemodel_to_df
from pandas import DataFrame
provider = kwargs.get("provider")
if provider != "bls":
raise RuntimeError(
f"This charting method does not support {provider}. Supported providers: bls."
)
_data = (
kwargs.pop("data", None)
if "data" in kwargs and kwargs["data"] is not None
else kwargs.get("obbject_item")
)
df = DataFrame()
if isinstance(_data, DataFrame) and not _data.empty:
df = _data.reset_index() if _data.index.name == "date" else _data
else:
try:
df = basemodel_to_df(_data, index=None) # type: ignore
except Exception as e:
raise RuntimeError("Unable to process supplied data.") from e
View on GitHub (pinned to 3e071fcc2c)
Solutions
- Fetch the data with provider='bls' (e.g. obb.economy.bls.multiple_series(..., provider='bls')) before charting.
- For other providers' time series, use the generic charting (to_chart / obb.charting) instead of the BLS-specific view.
Example fix
# before res = obb.economy.bls.multiple_series(symbols=['LNS14000000'], provider='oecd').charting.bls() # after res = obb.economy.bls.multiple_series(symbols=['LNS14000000'], provider='bls').charting.bls()
Defensive patterns
Strategy: validation
Validate before calling
assert kwargs.get('provider', 'bls') == 'bls', (
'bls chart requires provider="bls"'
) Try / catch
try:
fig = res.charting.bls()
except RuntimeError as e:
if 'does not support' in str(e) and 'bls' in str(e):
fig = res.charting.to_chart() # generic fallback
else:
raise Prevention
- Fetch BLS series with provider='bls' before calling the BLS chart view.
- Use the generic chart route for non-BLS time series.
- Make provider an explicit parameter in reusable charting helpers.
When it happens
Trigger: Invoking the BLS charting route (economy_views.py:359, e.g. obb.economy.chart.bls or .charting.bls() on a dataset) with provider='fmp'/'fred'/'yfinance' or with None.
Common situations: Reusing a charting snippet across providers, charting data fetched from a custom provider, or forgetting to set provider='bls' on the data request.
Related errors
- This charting method does not support {provider}. Supported
- Unable to process supplied data.
- No data found to plot.
- Column '{target_col}' not found in the data.
- This charting method does not support {provider}. Supported
AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14).
Data as JSON: /api/errors/0949e30bd8f39001.
Report an issue: GitHub.