Metadata-Version: 2.1
Name: puzzlepiece
Version: 0.0.1
Summary: A GUI-forward Python framework for automating experimental setups.
Project-URL: Homepage, https://github.com/jdranczewski/puzzlepiece
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
Description-Content-Type: text/markdown

# 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`](examples/) folder for how to make an application (a Puzzle), and [`puzzlepiece/pieces/random_number.py`](puzzlepiece/pieces/random_number.py) for a simple example Piece.

More documentation coming soon! Rudimentary docs can currently be compiled from the `docs` folder, will build to readthedocs asap. Also PyPI coming soon.

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).
