nrel.hive.state.simulation_state.update.update_requests_from_file

Module Contents

Classes

UpdateRequestsFromFile

loads requests from a file, which is assumed to be sorted by Request

Functions

update_requests_from_iterator(...)

add requests from file when the simulation reaches the request's time

Attributes

log

nrel.hive.state.simulation_state.update.update_requests_from_file.log[source]
class nrel.hive.state.simulation_state.update.update_requests_from_file.UpdateRequestsFromFile[source]

Bases: nrel.hive.state.simulation_state.update.simulation_update.SimulationUpdateFunction

loads requests from a file, which is assumed to be sorted by Request

reader: nrel.hive.util.iterators.DictReaderStepper
rate_structure: nrel.hive.model.request.RequestRateStructure
classmethod build(request_file: str, rate_structure_file: str | None = None, lazy_file_reading: bool = False)[source]

reads a requests file and builds a UpdateRequestsFromFile SimulationUpdateFunction

Parameters:
  • request_file – file path for requests

  • rate_structure_file

  • lazy_file_reading – a flag to enable lazy file loading. if false, the update function loads all reqs in memory

Returns:

a SimulationUpdate function pointing at the first line of a request file

Raises:

an exception if there were issues loading the file

update(sim_state: nrel.hive.state.simulation_state.simulation_state.SimulationState, env: nrel.hive.runner.environment.Environment) Tuple[nrel.hive.state.simulation_state.simulation_state.SimulationState, UpdateRequestsFromFile | None][source]

add requests from file when the simulation reaches the request’s time

Parameters:
  • env – the static environment variables

  • sim_state – the current sim state

Returns:

sim state plus new requests

nrel.hive.state.simulation_state.update.update_requests_from_file.update_requests_from_iterator(it: Iterator[Dict[str, str]], initial_sim_state: nrel.hive.state.simulation_state.simulation_state.SimulationState, env: nrel.hive.runner.environment.Environment, rate_structure: nrel.hive.model.request.RequestRateStructure) nrel.hive.state.simulation_state.simulation_state.SimulationState[source]

add requests from file when the simulation reaches the request’s time

Parameters:
  • it – expected to be a Request iterator which streams in row data taken from a DictReader

  • initial_sim_state – the current sim state

  • rate_structure

  • env

Returns:

sim state plus new requests