Flowchem-Virtual is a virtual version of the flowchem - library to control instruments and devices commonly found in chemistry labs via an interoperable web API.
Project description
flowchem-virtual
flowchem-virtual provides virtual devices (digital twins) for the hardware implemented in the main flowchem package.
It’s designed as a drop-in replacement for flowchem when you want to:
-
Develop and debug flows
-
Test configuration files
-
Run CI pipelines
…without having the physical hardware connected.
Installation
pip install flowchem-virtual
Usage
If you already know how flowchem works, using flowchem-virtual is straightforward.
Normally, you would start a flowchem server with:
flowchem /path/to/configuration_file.toml
To use the virtual devices instead, simply run:
flowchem-virtual /path/to/configuration_file.toml
flowchem-virtual will:
-
Read the same configuration file
-
Expose virtual counterparts of all devices defined there
-
Keep the same API and behavior as much as possible, but without touching real hardware
This makes it a convenient simulation layer for your existing setups.
When should I use flowchem-virtual?
Typical scenarios:
-
💻 Local development of client code without access to the lab
-
🧪 Unit tests / CI where hardware is not available (or not desirable)
-
📦 Trying out configuration changes before deploying them to a real setup
-
📚 Teaching and demos of flowchem-based automation
Tips
If you are not yet familiar with flowchem, it’s highly recommended to learn the basics there first.
Once you understand how devices and configuration files work in flowchem, switching to the virtual version is just a matter of changing the command from:
flowchem ...
to:
flowchem-virtual ...
Limitations
-
Virtual devices do not control real hardware (obviously 😄).
-
Most part of device-specific behavior (e.g. exact timing, error states) may be simplified.
-
If your code depends on very low-level hardware quirks, the virtual version might not reproduce them perfectly.
Contributing
Pull requests, bug reports and feature requests are welcome!
License
This project is licensed under the MIT License – see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flowchem_virtual-1.0.0.tar.gz.
File metadata
- Download URL: flowchem_virtual-1.0.0.tar.gz
- Upload date:
- Size: 21.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a417e6eb370dacaa0c96e2ab00aadac7830c2ec505efa6ad3fcdbc14bb4bebd
|
|
| MD5 |
36b478cbc0be4164b285d8cc7a474fd2
|
|
| BLAKE2b-256 |
09bcecd51c40b89cc052e8f2a90df161bc393e55e452190535397c817624b883
|
Provenance
The following attestation bundles were made for flowchem_virtual-1.0.0.tar.gz:
Publisher:
publish.yml on automatedchemistry/flowchem-virtual
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flowchem_virtual-1.0.0.tar.gz -
Subject digest:
4a417e6eb370dacaa0c96e2ab00aadac7830c2ec505efa6ad3fcdbc14bb4bebd - Sigstore transparency entry: 923970410
- Sigstore integration time:
-
Permalink:
automatedchemistry/flowchem-virtual@543dbeee1b4746a743825568827a4fffec569f35 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/automatedchemistry
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@543dbeee1b4746a743825568827a4fffec569f35 -
Trigger Event:
push
-
Statement type:
File details
Details for the file flowchem_virtual-1.0.0-py3-none-any.whl.
File metadata
- Download URL: flowchem_virtual-1.0.0-py3-none-any.whl
- Upload date:
- Size: 30.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a51cc445c56bbe706b16e0391f4b78a86cb7bdc8db6ab2d6dfadb6003fd4fe84
|
|
| MD5 |
8678e1eec1e2760967f636c08ac7aecb
|
|
| BLAKE2b-256 |
f8b47df195ffabfa72082f10572ed692db5417043e38094921d2b119e77f70e8
|
Provenance
The following attestation bundles were made for flowchem_virtual-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on automatedchemistry/flowchem-virtual
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
flowchem_virtual-1.0.0-py3-none-any.whl -
Subject digest:
a51cc445c56bbe706b16e0391f4b78a86cb7bdc8db6ab2d6dfadb6003fd4fe84 - Sigstore transparency entry: 923970415
- Sigstore integration time:
-
Permalink:
automatedchemistry/flowchem-virtual@543dbeee1b4746a743825568827a4fffec569f35 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/automatedchemistry
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@543dbeee1b4746a743825568827a4fffec569f35 -
Trigger Event:
push
-
Statement type: