oedisi.types package

Submodules

oedisi.types.data_types module

class oedisi.types.data_types.AdmittanceMatrix(*, admittance_matrix: list[list[tuple[float, float]]], ids: list[str], units: str = 'S')

Bases: BaseModel

admittance_matrix: list[list[Complex]]
ids: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.AdmittanceSparse(*, from_equipment: list[str], to_equipment: list[str], equipment_type: list[str] | None = None, admittance_list: list[tuple[float, float]], units: str = 'S')

Bases: Incidence

admittance_list: list[Complex]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.BusArray(*, values: list[float], ids: list[str], units: str, accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: MeasurementArray

Extended by classes:

“VoltagesMagnitude”, “VoltagesAngle”, “VoltagesReal”, “VoltagesImaginary”.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.CapacitorStates(*, values: list[int], ids: list[str], time: datetime | None = None)

Bases: StateArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.Command(*, obj_name: str, obj_property: str, val: str)

Bases: BaseModel

JSON Configuration for external object commands.

obj_name – name of the object. obj_prop – name of the property. obj_val – val of the property.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

obj_name: str
obj_property: str
val: str
class oedisi.types.data_types.CostArray(*, values: list[list[float]], ids: list[str], units: str = '$', time: datetime | None = None)

Bases: BaseModel

Extended by classes:

“RealCostFunctions”, “ReactiveCostFunctions”, “RealWholesalePrices”, “ReactiveWholesalePrices”, “OperationalCosts”.

ids: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

time: datetime.datetime | None
units: str
values: list[list[float]]
class oedisi.types.data_types.CurrentsAngle(*, values: list[float], ids: list[str], units: str = 'radians', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.CurrentsImaginary(*, values: list[float], ids: list[str], units: str = 'A', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.CurrentsMagnitude(*, values: list[float], ids: list[str], units: str = 'A', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.CurrentsReal(*, values: list[float], ids: list[str], units: str = 'A', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.EquipmentArray(*, values: list[float], ids: list[str], units: str, accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: MeasurementArray

Extended by classes:

“SolarIrradiances”, “Temperatures”, “WindSpeeds”, “StatesOfCharge”, “CurrentsMagnitude”, “CurrentsAngle”, “CurrentsReal”, “CurrentsImaginary”, “ImpedanceMagnitude”, “ImpedanceAngle”, “ImpedanceReal”, “ImpedanceImaginary”,.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.EquipmentNodeArray(*, values: list[float], ids: list[str], units: str, accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None, equipment_ids: list[str])

Bases: MeasurementArray

Primary key is ids + equipment_ids.

  • ids corresponding node id, so “113.1”, “113.2”, “113.3”

  • equipment_id corresponds to PVSystem.113

Extended by classes:

“PowersMagnitude”, “PowersAngle”, “PowersReal”, “PowersImaginary”,

equipment_ids: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.ImpedanceAngle(*, values: list[float], ids: list[str], units: str = 'radians', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.ImpedanceImaginary(*, values: list[float], ids: list[str], units: str = 'Ohm', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.ImpedanceMagnitude(*, values: list[float], ids: list[str], units: str = 'Ohm', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.ImpedanceReal(*, values: list[float], ids: list[str], units: str = 'Ohm', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.Incidence(*, from_equipment: list[str], to_equipment: list[str], equipment_type: list[str] | None = None)

Bases: BaseModel

equipment_type: list[str] | None
from_equipment: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

to_equipment: list[str]
class oedisi.types.data_types.IncidenceList(*, from_equipment: list[str], to_equipment: list[str], equipment_type: list[str] | None = None, ids: list[str])

Bases: Incidence

ids: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.Injection(*, current_real: ~oedisi.types.data_types.CurrentsReal = <factory>, current_imaginary: ~oedisi.types.data_types.CurrentsImaginary = <factory>, power_real: ~oedisi.types.data_types.PowersReal = <factory>, power_imaginary: ~oedisi.types.data_types.PowersImaginary = <factory>, impedance_real: ~oedisi.types.data_types.ImpedanceReal = <factory>, impedance_imaginary: ~oedisi.types.data_types.ImpedanceImaginary = <factory>)

Bases: BaseModel

current_imaginary: CurrentsImaginary
current_real: CurrentsReal
impedance_imaginary: ImpedanceImaginary
impedance_real: ImpedanceReal
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

power_imaginary: PowersImaginary
power_real: PowersReal
class oedisi.types.data_types.InverterControl(*, pvsystem_list: list[str] | None = None, vvcontrol: VVControl | None = None, vwcontrol: VWControl | None = None, mode: InverterControlMode = InverterControlMode.voltvar)

Bases: BaseModel

InverterControl with volt-var control and/or volt-watt control.

classmethod check_mode(values)

Make sure that mode reflects vvcontrol and vwcontrol data.

mode: InverterControlMode
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

pvsystem_list: list[str] | None
vvcontrol: VVControl | None
vwcontrol: VWControl | None
class oedisi.types.data_types.InverterControlMode(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Inverter control mode.

voltvar = 'VOLTVAR'
voltvar_voltwatt = 'VV_VW'
voltwatt = 'VOLTWATT'
class oedisi.types.data_types.MeasurementArray(*, values: list[float], ids: list[str], units: str, accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: BaseModel

Extended by classes:

“BusArray”, “EquipmentArray”, “EquipmentNodeArray”.

accuracy: list[float] | None
bad_data_threshold: list[float] | None
ids: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

time: datetime.datetime | None
units: str
values: list[float]
class oedisi.types.data_types.OperationalCosts(*, values: list[list[float]], ids: list[str], units: str = '$', time: datetime | None = None)

Bases: CostArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.PowersAngle(*, values: list[float], ids: list[str], units: str = 'radians', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None, equipment_ids: list[str])

Bases: EquipmentNodeArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.PowersImaginary(*, values: list[float], ids: list[str], units: str = 'kVAR', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None, equipment_ids: list[str])

Bases: EquipmentNodeArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.PowersMagnitude(*, values: list[float], ids: list[str], units: str = 'kVA', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None, equipment_ids: list[str])

Bases: EquipmentNodeArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.PowersReal(*, values: list[float], ids: list[str], units: str = 'kW', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None, equipment_ids: list[str])

Bases: EquipmentNodeArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.ReactiveCostFunctions(*, values: list[list[float]], ids: list[str], units: str = '$', time: datetime | None = None)

Bases: CostArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.ReactivePowerSetting(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Reactive power setting, almost always VARAVAL_WATTS.

VARAVAL_WATTS = 'VARAVAL_WATTS'
VARMAX_VARS = 'VARMAX_VARS'
VARMAX_WATTS = 'VARMAX_WATTS'
class oedisi.types.data_types.ReactiveWholesalePrices(*, values: list[list[float]], ids: list[str], units: str = '$', time: datetime | None = None)

Bases: CostArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.RealCostFunctions(*, values: list[list[float]], ids: list[str], units: str = '$', time: datetime | None = None)

Bases: CostArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.RealWholesalePrices(*, values: list[list[float]], ids: list[str], units: str = '$', time: datetime | None = None)

Bases: CostArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.RegulatorStates(*, values: list[int], ids: list[str], time: datetime | None = None)

Bases: StateArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.SolarIrradiances(*, values: list[float], ids: list[str], units: str = 'kW/m^2', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.StateArray(*, values: list[int], ids: list[str], time: datetime | None = None)

Bases: BaseModel

Extended by classes:

“SwitchStates”, “CapacitorStates”, “RegulatorStates”.

ids: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

time: datetime.datetime | None
values: list[int]
class oedisi.types.data_types.StatesOfCharge(*, values: list[float], ids: list[str], units: str = 'percent', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.SwitchStates(*, values: list[int], ids: list[str], time: datetime | None = None)

Bases: StateArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class oedisi.types.data_types.Temperatures(*, values: list[float], ids: list[str], units: str = 'C', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.Topology(**data: Any)

Bases: BaseModel

admittance: AdmittanceSparse | AdmittanceMatrix
base_voltage_angles: VoltagesAngle | None
base_voltage_magnitudes: VoltagesMagnitude | None
incidences: IncidenceList | None
injections: Injection
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

slack_bus: list[str]
class oedisi.types.data_types.VVControl(*, deltaq_factor: float = -1.0, varchangetolerance: float = 0.025, voltagechangetolerance: float = 0.0001, vv_refreactivepower: ReactivePowerSetting = ReactivePowerSetting.VARAVAL_WATTS, voltage: list[float], reactive_response: list[float])

Bases: BaseModel

OpenDSS setting for volt-var control.

deltaq_factor: float
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

reactive_response: list[float]
varchangetolerance: float
voltage: list[float]
voltagechangetolerance: float
vv_refreactivepower: ReactivePowerSetting
class oedisi.types.data_types.VWControl(*, deltap_factor: float = -1.0, voltage: list[float], power_response: list[float])

Bases: BaseModel

OpenDSS setting for volt-watt control.

deltap_factor: float
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

power_response: list[float]
voltage: list[float]
class oedisi.types.data_types.VoltagesAngle(*, values: list[float], ids: list[str], units: str = 'radians', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: BusArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.VoltagesImaginary(*, values: list[float], ids: list[str], units: str = 'V', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: BusArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.VoltagesMagnitude(*, values: list[float], ids: list[str], units: str = 'V', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: BusArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.VoltagesReal(*, values: list[float], ids: list[str], units: str = 'V', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: BusArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str
class oedisi.types.data_types.WindSpeeds(*, values: list[float], ids: list[str], units: str = 'm/s', accuracy: list[float] | None = None, bad_data_threshold: list[float] | None = None, time: datetime | None = None)

Bases: EquipmentArray

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

units: str

oedisi.types.generate_schema module

Module contents