> ## Documentation Index
> Fetch the complete documentation index at: https://docs.poelis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Edit properties - Python SDK

> Update draft property values from Python

The SDK can update property values on the **draft** version of a product. Published versions and the baseline stay unchanged.

<Note>
  Writes require the **Editor** role on the workspace or product. Only properties in the **draft** can be updated.
</Note>

`title` and `description` are optional. They show up as the change title and description on the property.

```python theme={null}
property.change_property(value, title="Title of the change", description="Description of the change")
```

## Examples

```python theme={null}
mass = poelis.demo_workspace.demo_product.draft.demo_item.demo_property_mass
print(f"Old value: {mass.value}")

mass.change_property(123.45, title="Updated mass", description="Changed mass value for testing")
print(f"New value: {mass.value}")
```

A matrix value is a list of rows. A text value is a string. `title` and `description` work the same way as on a single number.

```python theme={null}
force_matrix.change_property([[1, 2, 3], [4, 5, 6]])
text_prop.change_property("New string text")
```

Refresh Poelis in the browser to see the draft value. The property activity log records the change.

<Frame>
  <img src="https://mintcdn.com/poelistechnologies/Tj0br3xGgjqsL6fj/images/user-manual/section-13-01.png?fit=max&auto=format&n=Tj0br3xGgjqsL6fj&q=85&s=80afbdd42b05a84b7ffd68facb4b23fe" alt="Draft property updated from the Python SDK" width="1258" height="692" data-path="images/user-manual/section-13-01.png" />
</Frame>
