Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

herosdevices-0.9.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

herosdevices-0.9.0-py3-none-any.whl (125.4 kB view details)

Uploaded Python 3

File details

Details for the file herosdevices-0.9.0.tar.gz.

File metadata

  • Download URL: herosdevices-0.9.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for herosdevices-0.9.0.tar.gz
Algorithm Hash digest
SHA256 95b8704f5cd5cd15b3417ccbea3c8082c1a821a3d77c3c037943488437795e3a
MD5 ff98a3aebee4af22c5b3a61dbcb507f4
BLAKE2b-256 f94d3c4fb0dcdebf5d13bb9712d2814f4fe89e5226d1ec94d0d9789a9461b7c2

See more details on using hashes here.

File details

Details for the file herosdevices-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: herosdevices-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 125.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for herosdevices-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65c03238a74a92687de69f506a5bb9e4c4c45e440c8135488b121501674a4006
MD5 e6a40ed491f7a0344cf231b754781593
BLAKE2b-256 cc1de283af6eab768702d1eab3a978faba8e9f4957a0e3e6c227c1a28d8ebfab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page