Metadata-Version: 2.5
Name: plesty-amc300-piezo-controller
Version: 0.1.0
Summary: Plesty Attocube AMC300 Piezo Controller Device.
Author-email: Yunshuang Yuan <yunshuang.yuan@fkp.uni-hannover.de>
Maintainer-email: Plesty Development Team <plesty.dev@example.com>
License-Expression: LGPL-3.0-or-later
License-File: COPYING
License-File: LICENSE
Requires-Python: >=3.12
Requires-Dist: plesty-lib>=0.5.0
Provides-Extra: gui
Requires-Dist: plesty-lib[gui]>=0.5.0; extra == 'gui'
Description-Content-Type: text/markdown

# Plesty Amc300 Piezo Controller Device

A plesty device for amc300 piezo controller using the Plesty standard.


## Installation

```bash
git clone https://gitlab.com/plesty/hub/devices/attocube/plesty-amc300-piezo-controller.git
cd plesty-amc300-piezo-controller
uv sync
```


## Run As TCP Server

Make sure the device is connected and powered on. Provide the connection
credentials via environment variables — copy `.env.example` to `.env` and edit it:

```bash
cp .env.example .env   # then set AMC300_HOST / AMC300_PORT / AMC300_TCP_PORT
uv run python -m plesty.amc300_piezo_controller
```

Values resolve as CLI argument > environment variable, so you can still override
any of them on the command line:

```bash
uv run python -m plesty.amc300_piezo_controller --host 192.168.1.100 --tcp-port 5555
```

Before binding, the server checks that the controller's host resolves and its
port accepts; if not, it stops and says why. `--skip-preflight` serves anyway.

## Control Panel

`--gui` opens the controller's control panel instead of serving it (needs the
`gui` extra):

```bash
uv sync --extra gui
uv run python -m plesty.amc300_piezo_controller --gui
```

