Metadata-Version: 2.4
Name: puzzlepiece
Version: 0.12.0
Summary: A GUI-forward Python framework for automating experimental setups.
Project-URL: Homepage, https://github.com/jdranczewski/puzzlepiece
Project-URL: Documentation, https://puzzlepiece.readthedocs.io
Project-URL: Bug Tracker, https://github.com/jdranczewski/puzzlepiece/issues
Author-email: Jakub Dranczewski <jakub.dranczewski@gmail.com>
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Requires-Dist: numpy
Requires-Dist: pyqtgraph
Requires-Dist: qtpy
Description-Content-Type: text/markdown

![Puzzlepiece](docs/source/puzzlepiece.svg)

**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 by making custom Pieces, or through a built-in script language,
or with Interactive Python.

See the documentation at https://puzzlepiece.readthedocs.io/ for examples of how to get started.

You can install puzzlepiece using pip:
```
pip install puzzlepiece
```

Check out the [`examples`](https://github.com/jdranczewski/puzzlepiece/tree/release/examples) folder for how to make an application (a Puzzle), and [`puzzlepiece/pieces/random_number.py`](https://github.com/jdranczewski/puzzlepiece/blob/release/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.

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