CatPtain's picture
Upload 225 files
a2afe2f verified
"""The Commodity router."""
# pylint: disable=unused-argument,unused-import
# flake8: noqa: F401
# pylint: disable=unused-argument
from openbb_core.app.model.command_context import CommandContext
from openbb_core.app.model.example import APIEx
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_commodity.price.price_router import router as price_router
router = Router(prefix="", description="Commodity market data.")
router.include_router(price_router)
@router.command(
model="PetroleumStatusReport",
examples=[
APIEx(
description="Get the EIA's Weekly Petroleum Status Report.",
parameters={"provider": "eia"},
),
APIEx(
description="Select the category of data, and filter for a specific table within the report.",
parameters={
"category": "weekly_estimates",
"table": "imports",
"provider": "eia",
},
),
],
)
async def petroleum_status_report(
cc: CommandContext,
provider_choices: ProviderChoices,
standard_params: StandardParams,
extra_params: ExtraParams,
) -> OBBject:
"""EIA Weekly Petroleum Status Report."""
return await OBBject.from_query(Query(**locals()))
@router.command(
model="ShortTermEnergyOutlook",
examples=[
APIEx(
description="Get the EIA's Short Term Energy Outlook.",
parameters={"provider": "eia"},
),
APIEx(
description="Select the specific table of data from the STEO. Table 03d is World Crude Oil Production.",
parameters={
"table": "03d",
"provider": "eia",
},
),
],
)
async def short_term_energy_outlook(
cc: CommandContext,
provider_choices: ProviderChoices,
standard_params: StandardParams,
extra_params: ExtraParams,
) -> OBBject:
"""Monthly short term (18 month) projections using EIA's STEO model.
Source: www.eia.gov/steo/
"""
return await OBBject.from_query(Query(**locals()))