Plesty Documentation

PLESTY Contributor Guide

Learn how to build, test, and publish device, analyzer and experiment modules for the PLESTY scientific automation platform.

PLESTY is a scientific automation platform built from three kinds of module: a device serves one instrument, an experiment drives several devices through a measurement, and an analyzer turns what the experiment recorded into a result. Everything in the platform — devices, analyzers, experiments — follows a shared governance standard enforced by plesty check.

Device
Python API wrapping a single lab instrument. Runs as a TCP/IP server so other modules can connect remotely.
←
Experiment
The measurement: a plan of steps that drives several device servers, records what they return, and hands the records to its analyzers.
→
Analyzer
A schema-declared transform of a run's records into a result: it declares its inputs and outputs, implements analyze(), stamps every result with its own provenance, and can report what it found.

Module types

Type Base package Color Role
device plesty-lib violet Single instrument API
analyzer plesty-lib amber Data processing layer
experiment plesty-lib mint Measurement orchestrator
core — blue SDK, Lib, CI infrastructure

Core repos

Repo Role
plesty-sdk CLI: plesty init, check, docs, license, manual, update
plesty-lib Runtime: base classes, traffic managers, TCP service, experiments, analyzers and reports, monitors
plesty-bench PLESTY Bench — the lab-PC application that installs modules, runs device servers and runs experiments across benches — and its remote client
plesty-ci GitLab CI templates

Current releases are on the Download page and on each package's page on PyPI.

Where to start