Crappy

Crappy is an open-source Python framework for command and data acquisition on experimental setups. A Crappy test is a Python script assembled from Blocks and Links. Each Block performs a task, such as acquiring a measurement, driving an actuator, processing data, or saving results. A Link carries labeled data from one Block to another.

If you are deciding whether Crappy suits your setup, start with What is Crappy?. Otherwise, choose the path that matches what you want to do.

Note

This documentation describes Crappy 2.1.0. See Release notes for the release history, or visit Support and reporting for usage questions and bug reports.

Run a first test

Install Crappy, then follow the first-test tutorial. Its example uses simulated hardware, prints measurements in the terminal, and stops automatically after a few seconds.

Control hardware

Follow the data-acquisition tutorial to read measurements through an IOBlock. The data-recording tutorial saves selected measurements in a CSV file. Follow the actuator tutorial to drive an Actuator through a Machine Block. The Features and integrations page lists the integrations distributed with Crappy.

Build an image pipeline

Read Image pipelines to choose an architecture, then follow the first image-pipeline tutorial. VisionBlocks are recommended for new image pipelines. The all-in-one Camera Blocks remain supported and are not planned for deprecation.

Adapt Crappy to a specific need

Use Choosing a custom object type to identify the right kind of custom object for new hardware, data handling, commands, or image processing. The custom-object tutorials then explain how to implement and use it.

Find explanations and reference material

Complete documentation index

The list below details the entire content of Crappy’s documentation.