> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.conductorquantum.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.conductorquantum.com/_mcp/server.

# stanza.base.protocols



## Module Contents

### Classes

| Name | Description |
|------|-------------|
| [`BreakoutBoxInstrument`](#stanzabaseprotocolsbreakoutboxinstrument) | Protocol for a digital breakout box. |
| [`ControlInstrument`](#stanzabaseprotocolscontrolinstrument) | Protocol for control instruments. |
| [`MeasurementInstrument`](#stanzabaseprotocolsmeasurementinstrument) | Protocol for measurement instruments. |
| [`NamedResource`](#stanzabaseprotocolsnamedresource) | Protocol for resources that have a name attribute. |

### API

```python
class stanza.base.protocols.BreakoutBoxInstrument
```

**Bases**: `typing.Protocol`

Protocol for a digital breakout box.

```python
get_grounded(channel_name: str | list[str]) -> bool | list[bool]
```

Check if breakout box channel(s) are grounded.


```python
set_grounded(channel_name: str | list[str]) -> None
```

Set breakout box channel(s) to grounded.


```python
get_ungrounded(channel_name: str | list[str]) -> bool | list[bool]
```

Check if breakout box channel(s) are ungrounded.


```python
set_ungrounded(channel_name: str | list[str]) -> None
```

Set breakout box channel(s) to ungrounded.


```python
get_connected(
    channel_name: str | list[str], line_number: int
) -> bool | list[bool]
```

Get if breakout box channel(s) are connected to the line number.


```python
set_connected(
    channel_name: str | list[str], line_number: int
) -> None
```

Set breakout box channel(s) to connected to the line number.


```python
get_disconnected(
    channel_name: str | list[str], line_number: int
) -> bool | list[bool]
```

Get if breakout box channel(s) are disconnected from the line number.


```python
set_disconnected(
    channel_name: str | list[str], line_number: int
) -> None
```

Set breakout box channel(s) to disconnected from the line number.


```python
class stanza.base.protocols.ControlInstrument
```

**Bases**: `typing.Protocol`

Protocol for control instruments.

```python
set_voltage(
    channel_name: str, voltage: float
) -> None
```

Set the voltage on a specific channel.


```python
get_voltage(channel_name: str) -> float
```

Get the voltage on a specific channel.


```python
get_slew_rate(channel_name: str) -> float
```

Get the slew rate on a specific channel.


```python
class stanza.base.protocols.MeasurementInstrument
```

**Bases**: `typing.Protocol`

Protocol for measurement instruments.

```python
measure(channel_name: str | list[str]) -> float | list[float]
```

Measure the current on a specific channel(s).


```python
class stanza.base.protocols.NamedResource
```

**Bases**: `typing.Protocol`

Protocol for resources that have a name attribute.

```python
name: str
```

**Value**: `None`