Metadata-Version: 2.5
Name: plesty-swabian-tt
Version: 0.1.2
Summary: Plesty Swabian Instruments Time Tagger (Ultra, X, 20) device.
Author-email: Yunshuang Yuan <yuanyunshuang@gmail.com>
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: numpy>=1.23
Requires-Dist: plesty-lib>=0.5.0
Requires-Dist: swabian-timetagger>=2.22; sys_platform != 'darwin'
Provides-Extra: gui
Requires-Dist: plesty-lib[gui]>=0.5.0; extra == 'gui'
Description-Content-Type: text/markdown

# Plesty Time Tagger Device

A PLESTY device module for the Swabian Instruments Time Tagger (Ultra, X, 20): count
rates, counter traces, cross- and auto-correlation (`g2`), start-stop histograms,
coincidences and time-tag recording, with per-channel settings.

The module drives the device through Swabian's Python library, published on PyPI as
`Swabian-TimeTagger` (never the unrelated `timetagger`). The library has wheels for Windows
and Linux only; everything else, including a seeded simulator, works without it.

## Installation

```bash
git clone https://gitlab.com/plesty/hub/devices/swabian/plesty-swabian-tt.git
cd plesty-swabian-tt
uv sync   # installs Swabian's library on Windows and Linux; macOS runs on the simulator
```

## Run As TCP Server

Copy `.env.example` to `.env`, set `TIME_TAGGER_ADDRESS` (empty for the first free device, a
serial number, `net:host[:port]`, or `mock` for the simulator), make sure the Time Tagger is
connected and no other program holds it, then:

```bash
uv run python -m plesty.swabian_tt
```

See `docs/index.md` for the addresses, the measurements, overflows and the open items for
the bench.
