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¶
Core concepts explains behavior shared by different tasks.
Examples by task indexes every distributed example by task.
API documents public classes, functions, and arguments.
Troubleshooting explains common failures and recovery steps.
Support and reporting lists support channels and the information to include when reporting a problem.
The examples directory contains a collection of ready-to-use examples for Crappy.
Complete documentation index¶
The list below details the entire content of Crappy’s documentation.
- Is Crappy right for you?
- Install Crappy
- Tutorials by task
- Examples by task
- Core concepts
- Features and integrations
- Hardware compatibility
- API reference
- Runtime architecture
- Release notes
- Contributing
- Citing Crappy
- Troubleshooting
- Crappy cannot be imported
- An optional dependency is missing
- The script starts again or fails during startup
- A graphical window does not open
- Run a test without a graphical interface
- Hardware cannot be opened
- A camera is not detected or cannot deliver frames
- Data or images are not written
- Crappy did not stop cleanly
- Collect useful logs
- Report a bug
- Support and reporting