Python representations (think drivers) of frequently used lab equipment.
Project description
HEROS Devices
This repository contains python representations (think drivers) of frequently used lab equipment. While these drivers can be perfectly used also locally on the system attached to the lab equipment, the real advantage arises, when the created python object is made available in the network via HEROS.
The drivers in this repository sit in the hardware submodule and are arranged in submodules corresponding the vendor name of the device. The available devices are listed here
Howto Use
You can find more detailed information in the documentation
Using as a HERO with BOSS
Using the BOSS Object Starter Service (BOSS) it is easy to instantiate objects of the classes provided in this repository and make them a HERO that is available through the network. To this end you can either install BOSS in your system and follow it's instructions to create an object from the heros-devices module.
Standalone
The hardware control code in this repository is developed as stand-alone code. That means it also runs locally, without any HEROS magic. Thus, the classes in this module do not inherit from LocalHERO. It is up to the user to make it a HERO or to use BOSS as described in the following.
Interfaces
To signal that a HERO provides a certain interface, herosdevices provides the submodule interfaces. Inheriting
from the classes therein enforces that particular methods and attributes are implemented by the HERO (otherwise it
errors upon initialization of the HERO) and signals it's compatibility through the hero metadata. This allows the
remote site to safely assume that a certain interface is present with the HERO. This allows to, for example, to
transparently use HEROs in an atomiq script as RFSource, VoltageSource, CurrentSource, DACChannel, Switch, etc. This is
explicitly possible without herosdevices depending on atomiq itself. The mechanism can easily be extended to have interface
classes for other systems as well.
.. note:: The interfaces mechanism is completely optional. If a HERO does not inherit from an interface, nothing breaks but also none of the magic described above will happen on the remote side.
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 herosdevices-0.7.1.tar.gz.
File metadata
- Download URL: herosdevices-0.7.1.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87d1f155c1b295f61f205fa91d9f7ff5a30ee14ace3491576906d9dd5a2ce636
|
|
| MD5 |
54d8544942f825a890a21d48a34d0119
|
|
| BLAKE2b-256 |
c6f4c7b7edee299acd77c57b528e50e45ab58ad991ee7f8238bdc0973da2dc29
|
File details
Details for the file herosdevices-0.7.1-py3-none-any.whl.
File metadata
- Download URL: herosdevices-0.7.1-py3-none-any.whl
- Upload date:
- Size: 114.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e398b253733d9ee43e3730122d8021d7fee5daa5d976eec444c0bd4ddf41160
|
|
| MD5 |
a652c2a8279858658b8359ed4909c548
|
|
| BLAKE2b-256 |
aa7e72e716b83badc366de303fe4bacc37855427173c03c4f74265609e4e9532
|