> ## 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.

# Use Poelis from MATLAB - Python SDK

> Read properties, pick a product version, and update the draft

These examples use the MATLAB helpers from the [MATLAB setup](/python-sdk/matlab). Paths are dot-separated readable IDs, the same shape as in Python.

## Read a value

```matlab theme={null}
path = 'demo_workspace.demo_product.demo_item.demo_sub_item.demo_property_mass';
mass = poelis.get_value(path);

fprintf('Mass: %.2f\n', mass);
```

## Read metadata

`get_property` returns the value together with name, unit, and category.

```matlab theme={null}
info = poelis.get_property(path);

fprintf('Property Name: %s\n', info.name);
fprintf('Value: %.2f %s\n', info.value, info.unit);
fprintf('Category: %s\n', info.category);
```

## Choose a product version

Put the version segment in the path: `v1`, `baseline`, or `draft`.

**Published version.** Use this when the inputs must stay frozen.

```matlab theme={null}
path_v1 = ...
  'demo_workspace.demo_product.v1.demo_item.demo_sub_item.demo_property_mass';

mass_v1 = poelis.get_value(path_v1);
fprintf('Version 1 mass: %.2f\n', mass_v1);
```

**Baseline.**

```matlab theme={null}
baseline_path = ...
  'demo_workspace.demo_product.baseline.demo_item.demo_sub_item.demo_property_mass';

mass_baseline = poelis.get_value(baseline_path);
fprintf('Baseline mass: %.2f\n', mass_baseline);
```

**Draft.** This is the working version.

```matlab theme={null}
draft_path = ...
  'demo_workspace.demo_product.draft.demo_item.demo_sub_item.demo_property_mass';

mass_draft = poelis.get_value(draft_path);
fprintf('Draft mass: %.2f\n', mass_draft);
```

## Edit a draft property

<Note>
  Writes require the **Editor** role on the workspace or product. Only properties on the **draft** can be updated. `title` and `description` are optional.
</Note>

```matlab theme={null}
poelis.change_property(property_path, value, title, description)
```

```matlab theme={null}
draft_property_path = 'demo_workspace.demo_product.draft.demo_item.demo_property_mass';
old_value = poelis.get_value(draft_property_path);
fprintf('Current value: %.2f\n', old_value);

poelis.change_property(draft_property_path, 123.45, 'Updated mass', 'Changed mass value for testing');
updated_value = poelis.get_value(draft_property_path);
fprintf('New value: %.2f\n', updated_value);

text_property_path = 'demo_workspace.demo_product.draft.demo_item.property_string';
poelis.change_property(text_property_path, 'New string text');
fprintf('Updated text property\n');
```

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-02.png?fit=max&auto=format&n=Tj0br3xGgjqsL6fj&q=85&s=b472d7f8fffbc851131419a60b0a135d" alt="Draft property updated from MATLAB" width="1448" height="654" data-path="images/user-manual/section-13-02.png" />
</Frame>
