File size: 2,274 Bytes
a2afe2f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
"""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()))
|