Skip to main content

A GUI-forward Python framework for automating experimental setups.

Project description

Puzzlepiece

Puzzlepiece is a GUI-forward Python framework for automating experimental setups. It focuses on abstracting communication with a piece of hardware into standard inputs, outputs, and actions. It then automatically generates GUI components for them, minimising the need for boilerplate code. Puzzlepiece allows the user to bring diverse controls into a single, consolidated application, and automate their interaction or experiment using a unified API, either through a built-in script language, or Interactive Python.

Check out the examples folder for how to make an application (a Puzzle), and puzzlepiece/pieces/random_number.py for a simple example Piece. A Piece is a module that does a particular job (talks to a laser, scans a value, ...), and multiple of these brought together make up a Puzzle.

Documentation is in progress, available at https://puzzlepiece.readthedocs.io/

Currently the main requirement is pyqtgraph, and the code accesses whichever Python Qt bindings are installed through pyqtgraph. Eventually the code is likely to be migrated to QtPy.

Created by Jakub Dranczewski as part of PhD work supported by the EU ITN EID project CORAL (GA no. 859841).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

puzzlepiece-0.9.0.tar.gz (32.2 kB view hashes)

Uploaded Source

Built Distribution

puzzlepiece-0.9.0-py3-none-any.whl (32.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page