File size: 17,451 Bytes
203c118 |
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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 |
### THIS FILE IS AUTO-GENERATED. DO NOT EDIT. ###
import datetime
from typing import Literal, Optional, Union
from openbb_core.app.model.field import OpenBBField
from openbb_core.app.model.obbject import OBBject
from openbb_core.app.static.container import Container
from openbb_core.app.static.utils.decorators import exception_handler, validate
from openbb_core.app.static.utils.filters import filter_inputs
from typing_extensions import Annotated
class ROUTER_commodity(Container):
"""/commodity
petroleum_status_report
/price
short_term_energy_outlook
"""
def __repr__(self) -> str:
return self.__doc__ or ""
@exception_handler
@validate
def petroleum_status_report(
self,
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
] = None,
provider: Annotated[
Optional[Literal["eia"]],
OpenBBField(
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: eia."
),
] = None,
**kwargs
) -> OBBject:
"""EIA Weekly Petroleum Status Report.
Parameters
----------
provider : str
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: eia.
start_date : Union[date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[date, None, str]
End date of the data, in YYYY-MM-DD format.
category : Literal['balance_sheet', 'inputs_and_production', 'refiner_blender_net_production', 'crude_petroleum_stocks', 'gasoline_fuel_stocks', 'total_gasoline_by_sub_padd', 'distillate_fuel_oil_stocks', 'imports', 'imports_by_country', 'weekly_estimates', 'spot_prices_crude_gas_heating', 'spot_prices_diesel_jet_fuel_propane', 'retail_prices']
The group of data to be returned. The default is the balance sheet. (provider: eia)
table : Optional[str]
The specific table element within the category to be returned, default is 'stocks', if the category is 'weekly_estimates', else 'all'.
Note: Choices represent all available tables from the entire collection and are not all available for every category.
Invalid choices will raise a ValidationError with a message indicating the valid choices for the selected category.
Choices are:
all
conventional_gas
crude
crude_production
crude_production_avg
diesel
ethanol_plant_production
ethanol_plant_production_avg
exports
exports_avg
heating_oil
imports
imports_avg
imports_by_country
imports_by_country_avg
inputs_and_utilization
inputs_and_utilization_avg
jet_fuel
monthly
net_imports_inc_spr_avg
net_imports_incl_spr
net_production
net_production_avg
net_production_by_product
net_production_by_production_avg
product_by_region
product_by_region_avg
product_supplied
product_supplied_avg
propane
rbob
refiner_blender_net_production
refiner_blender_net_production_avg
stocks
supply
supply_avg
ulta_low_sulfur_distillate_reclassification
ulta_low_sulfur_distillate_reclassification_avg
weekly
Multiple comma separated items allowed. (provider: eia)
use_cache : bool
Subsequent requests for the same source data are cached for the session using ALRU cache. (provider: eia)
Returns
-------
OBBject
results : list[PetroleumStatusReport]
Serializable results.
provider : Optional[str]
Provider name.
warnings : Optional[list[Warning_]]
list of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
PetroleumStatusReport
---------------------
date : date
The date of the data.
table : Optional[str]
Table name for the data.
symbol : str
Symbol representing the entity requested in the data.
order : Optional[int]
Presented order of the data, relative to the table.
title : Optional[str]
Title of the data.
value : Union[int, float]
Value of the data.
unit : Optional[str]
Unit or scale of the data.
Examples
--------
>>> from openbb import obb
>>> # Get the EIA's Weekly Petroleum Status Report.
>>> obb.commodity.petroleum_status_report(provider='eia')
>>> # Select the category of data, and filter for a specific table within the report.
>>> obb.commodity.petroleum_status_report(category='weekly_estimates', table='imports', provider='eia')
""" # noqa: E501
return self._run(
"/commodity/petroleum_status_report",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"commodity.petroleum_status_report",
("eia",),
)
},
standard_params={
"start_date": start_date,
"end_date": end_date,
},
extra_params=kwargs,
info={
"category": {
"eia": {
"multiple_items_allowed": False,
"choices": [
"balance_sheet",
"inputs_and_production",
"refiner_blender_net_production",
"crude_petroleum_stocks",
"gasoline_fuel_stocks",
"total_gasoline_by_sub_padd",
"distillate_fuel_oil_stocks",
"imports",
"imports_by_country",
"weekly_estimates",
"spot_prices_crude_gas_heating",
"spot_prices_diesel_jet_fuel_propane",
"retail_prices",
],
}
},
"table": {
"eia": {
"multiple_items_allowed": True,
"choices": [
"all",
"conventional_gas",
"crude",
"crude_production",
"crude_production_avg",
"diesel",
"ethanol_plant_production",
"ethanol_plant_production_avg",
"exports",
"exports_avg",
"heating_oil",
"imports",
"imports_avg",
"imports_by_country",
"imports_by_country_avg",
"inputs_and_utilization",
"inputs_and_utilization_avg",
"jet_fuel",
"monthly",
"net_imports_inc_spr_avg",
"net_imports_incl_spr",
"net_production",
"net_production_avg",
"net_production_by_product",
"net_production_by_production_avg",
"product_by_region",
"product_by_region_avg",
"product_supplied",
"product_supplied_avg",
"propane",
"rbob",
"refiner_blender_net_production",
"refiner_blender_net_production_avg",
"stocks",
"supply",
"supply_avg",
"ulta_low_sulfur_distillate_reclassification",
"ulta_low_sulfur_distillate_reclassification_avg",
"weekly",
],
}
},
},
)
)
@property
def price(self):
# pylint: disable=import-outside-toplevel
from . import commodity_price
return commodity_price.ROUTER_commodity_price(
command_runner=self._command_runner
)
@exception_handler
@validate
def short_term_energy_outlook(
self,
start_date: Annotated[
Union[datetime.date, None, str],
OpenBBField(description="Start date of the data, in YYYY-MM-DD format."),
] = None,
end_date: Annotated[
Union[datetime.date, None, str],
OpenBBField(description="End date of the data, in YYYY-MM-DD format."),
] = None,
provider: Annotated[
Optional[Literal["eia"]],
OpenBBField(
description="The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: eia."
),
] = None,
**kwargs
) -> OBBject:
"""Monthly short term (18 month) projections using EIA's STEO model.
Source: www.eia.gov/steo/
Parameters
----------
provider : str
The provider to use, by default None. If None, the priority list configured in the settings is used. Default priority: eia.
start_date : Union[date, None, str]
Start date of the data, in YYYY-MM-DD format.
end_date : Union[date, None, str]
End date of the data, in YYYY-MM-DD format.
symbol : Optional[str]
Symbol to get data for. If provided, overrides the 'table' parameter to return only the specified symbol from the STEO API. Multiple comma separated items allowed. (provider: eia)
table : Literal['01', '02', '03a', '03b', '03c', '03d', '03e', '04a', '04b', '04c', '04d', '05a', '05b', '06', '07a', '07b', '07c', '07d1', '07d2', '07e', '08', '09a', '09b', '09c', '10a', '10b']
The specific table within the STEO dataset. Default is '01'. When 'symbol' is provided, this parameter is ignored.
01: US Energy Markets Summary
02: Nominal Energy Prices
03a: World Petroleum and Other Liquid Fuels Production, Consumption, and Inventories
03b: Non-OPEC Petroleum and Other Liquid Fuels Production
03c: World Petroleum and Other Liquid Fuels Production
03d: World Crude Oil Production
03e: World Petroleum and Other Liquid Fuels Consumption
04a: US Petroleum and Other Liquid Fuels Supply, Consumption, and Inventories
04b: US Hydrocarbon Gas Liquids (HGL) and Petroleum Refinery Balances
04c: US Regional Motor Gasoline Prices and Inventories
04d: US Biofuel Supply, Consumption, and Inventories
05a: US Natural Gas Supply, Consumption, and Inventories
05b: US Regional Natural Gas Prices
06: US Coal Supply, Consumption, and Inventories
07a: US Electricity Industry Overview
07b: US Regional Electricity Retail Sales
07c: US Regional Electricity Prices
07d1: US Regional Electricity Generation, Electric Power Sector
07d2: US Regional Electricity Generation, Electric Power Sector, continued
07e: US Electricity Generating Capacity
08: US Renewable Energy Consumption
09a: US Macroeconomic Indicators and CO2 Emissions
09b: US Regional Macroeconomic Data
09c: US Regional Weather Data
10a: Drilling Productivity Metrics
10b: Crude Oil and Natural Gas Production from Shale and Tight Formations (provider: eia)
frequency : Literal['month', 'quarter', 'annual']
The frequency of the data. Default is 'month'. (provider: eia)
Returns
-------
OBBject
results : list[ShortTermEnergyOutlook]
Serializable results.
provider : Optional[str]
Provider name.
warnings : Optional[list[Warning_]]
list of warnings.
chart : Optional[Chart]
Chart object.
extra : Dict[str, Any]
Extra info.
ShortTermEnergyOutlook
----------------------
date : date
The date of the data.
table : Optional[str]
Table name for the data.
symbol : str
Symbol representing the entity requested in the data.
order : Optional[int]
Presented order of the data, relative to the table.
title : Optional[str]
Title of the data.
value : Union[int, float]
Value of the data.
unit : Optional[str]
Unit or scale of the data.
Examples
--------
>>> from openbb import obb
>>> # Get the EIA's Short Term Energy Outlook.
>>> obb.commodity.short_term_energy_outlook(provider='eia')
>>> # Select the specific table of data from the STEO. Table 03d is World Crude Oil Production.
>>> obb.commodity.short_term_energy_outlook(table='03d', provider='eia')
""" # noqa: E501
return self._run(
"/commodity/short_term_energy_outlook",
**filter_inputs(
provider_choices={
"provider": self._get_provider(
provider,
"commodity.short_term_energy_outlook",
("eia",),
)
},
standard_params={
"start_date": start_date,
"end_date": end_date,
},
extra_params=kwargs,
info={
"symbol": {
"eia": {"multiple_items_allowed": True, "choices": None}
},
"table": {
"eia": {
"multiple_items_allowed": False,
"choices": [
"01",
"02",
"03a",
"03b",
"03c",
"03d",
"03e",
"04a",
"04b",
"04c",
"04d",
"05a",
"05b",
"06",
"07a",
"07b",
"07c",
"07d1",
"07d2",
"07e",
"08",
"09a",
"09b",
"09c",
"10a",
"10b",
],
}
},
"frequency": {
"eia": {
"multiple_items_allowed": False,
"choices": ["month", "quarter", "annual"],
}
},
},
)
)
|