Attribute Operations
Functions for setting and retrieving component attributes.
set_static_attribute
python
set_static_attribute((conn: sqlite3.Connection, component_id: int, attribute_name: str, value: pyconvexity.core.types.StaticValue, scenario_id: Optional[int] = None) -> None)Set a static attribute value for a component in a specific scenario.
Parameters:
conn: Database connectioncomponent_id: Component IDattribute_name: Name of the attributevalue: Static value to setscenario_id: Scenario ID (uses master scenario if None)
Raises:
ComponentNotFound: If component doesn't existValidationError: If attribute doesn't allow static values or validation fails
set_timeseries_attribute
python
set_timeseries_attribute((conn: sqlite3.Connection, component_id: int, attribute_name: str, timeseries: Union[pyconvexity.core.types.Timeseries, List[float]], scenario_id: Optional[int] = None) -> None)Set a timeseries attribute value for a component in a specific scenario.
Parameters:
conn: Database connectioncomponent_id: Component IDattribute_name: Name of the attributetimeseries: Timeseries object or list of float valuesscenario_id: Scenario ID (uses master scenario if None)
Raises:
ComponentNotFound: If component doesn't existValidationError: If attribute doesn't allow timeseries valuesTimeseriesError: If timeseries serialization fails
get_attribute
python
get_attribute((conn: sqlite3.Connection, component_id: int, attribute_name: str, scenario_id: Optional[int] = None) -> pyconvexity.core.types.AttributeValue)Get an attribute value with scenario fallback logic.
Parameters:
conn: Database connectioncomponent_id: Component IDattribute_name: Name of the attributescenario_id: Scenario ID (uses master scenario if None)
Returns:
AttributeValue containing either static or timeseries data
Raises:
ComponentNotFound: If component doesn't existAttributeNotFound: If attribute doesn't exist
delete_attribute
python
delete_attribute((conn: sqlite3.Connection, component_id: int, attribute_name: str, scenario_id: Optional[int] = None) -> None)Delete an attribute from a specific scenario.
Parameters:
conn: Database connectioncomponent_id: Component IDattribute_name: Name of the attributescenario_id: Scenario ID (uses master scenario if None)
Raises:
AttributeNotFound: If attribute doesn't exist
list_component_attributes
python
list_component_attributes((conn: sqlite3.Connection, component_id: int) -> List[str])List all attribute names for a component.
Parameters:
conn: Database connectioncomponent_id: Component ID
Returns:
List of attribute names

