Flowchem is an application to simplify the control of instruments and devices commonly found in chemistry labs. Flowchem acts as unifying layer exposing devices using different command syntax and protocols under a single API.
Using flowchem is simple.
You just need to create a configuration file with the connection details for your devices and run flowchem
.
The flowchem app then:
- reads the configuration file with the devices to be controlled and their settings;
- creates connections with each device and ensures a reproducible state at start-up;
- provides access to the capabilities of each device (such as pumping, heating etc...) via a web interface.
Since flowchem leverages web technologies, flowchem devices can be controlled directly with a web browser or by clients written in different languages and from almost any operative system, including Android and iOS. A set of python clients interfacing with the flowchem API are also provided and used in examples.
Currently, the following instruments are supported:
- Pumps (Knauer P2.1, Harvard Apparatus Elite 11, Hamilton ML600)
- Valves (ViciValco and Knauer)
- Thermostat (Huber)
- Analytical instruments (Magritek Spinsolve benchtop NMR and Mattler Toledo FlowIR)
- General purpose sensors from Phidgets
- ... and more! We are open to contributions!
- If you want to add support for a new device, read how to do that in the documentation.
To install flowchem
, ensure you have Python >= 3.10 installed, then run:
pip install flowchem
You can find more information on installation and use in the documentation online at ReadTheDocs.io.
This project is released under the terms of the MIT License: a short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
For questions about this project, fell free to open an issue on GitHub, or reach out by email.