Welcome to the PLESTY contributor tutorial. This guide walks you through every step of contributing to the PLESTY platform — from setting up your development environment to publishing a fully tested device or experiment module.
Who this is for
This tutorial is aimed at scientists, engineers, and developers who want to contribute device drivers, analyzers, or experiments to the PLESTY ecosystem. You should be comfortable with Python and basic command-line operations.
What you will learn
- How to set up a PLESTY workspace and run quality checks
- How to scaffold, implement, and test a device module
- How to build composite devices and experiments
- How the quality gate system ensures reliability
- How to navigate the CI pipeline and publish packages
Tutorial structure
| Section | Description |
|---|---|
| Architecture | Platform overview, TCP communication model, quality tiers |
| Quickstart | Workspace setup, first check run, fixing failures |
| Device | Scaffolding, base class, schemas, implementation, TCP server, gate d1 |
| Experiment | Composite devices, measurements, testing |
| Quality Gates | Pixel, nebula, quantum, and CI-only gates explained |
| Workflow | Branch discipline, CI pipeline, publishing |
Prerequisites
- Python 3.11 or later
uvpackage manager (≥0.4)git(≥2.30)- Access to a PLESTY workspace (see Quickstart → Workspace)
Versions
This tutorial references:
- plesty-sdk v0.2.3 — the SDK providing
plesty check, scaffolding, and quality gates - plesty-lib v0.2.8 — the library of base classes and protocols
Conventions
- Code blocks with ```
`python``` are Python examples - Code blocks with ```
`bash``` are shell commands - Code blocks with ```
`yaml``or```json``` are configuration files - Callout boxes highlight tips, warnings, and important notes
Let's begin with the architecture overview.