Skip to main content

A package to write QT programs to control hardware

Project description

read-the-docs PyPI version pre-commit Code style: black DOI

What is this repository for?

The goal is to provide reusable code for hardware control using python and Qt.

Documentation can be found at Read the Docs.

How do I get set up?

The easiest way is to pip install the software:

pip install hardware-control

Examples

If you want to have a quick look at some basic functionality, you can run the demos in the example directory. If you have the same hardware that is used in the example, you will have to update the connection address, e.g. ip address. Otherwise, you can still run the examples by providing the --dummy command line argument that will simulate instrument output. The logging level can also be redirected to the terminal using --console and the log-level changed by providing --info or --debug options on the command line.

Tests

We use pytest to provide some simple tests for some of the functionallity of the package. However, to check if an instrument is really working, one needs to have the instrument connected, which makes testing harder. When the instruments are not available some functionallity, such as the Qt layout, can still be tested using "--dummy" mode. In this mode instrument parameters can return a predefined value or the result of a function.

To run the tests use:

python -m pytest

Contribution guidelines

Feel free to contribute new drivers for hardware or other changes.

We use black to format the code, so please format your code accordingly. The easiest way to achieve this is to install pre-commit and use the config file we provide:

pip install pre-commit
# cd into repo
pre-commit install

How to cite this package

Please use the following citation.

@article{Giesbrecht2022,
  doi = {10.21105/joss.02688},
  url = {https://doi.org/10.21105/joss.02688},
  year = {2022},
  publisher = {The Open Journal},
  volume = {7},
  number = {72},
  pages = {2688},
  author = {Grant Giesbrecht and Ariel Amsellem and Timo Bauer and Brian Mak and Brian Wynne and Zhihao Qin and Arun Persaud},
  title = {Hardware-Control: Instrument control and automation package},
  journal = {Journal of Open Source Software}
}

Who do I talk to?

If you have questions, please contact Arun at apersaud@lbl.gov.

Copyright and License

See the files COPYRIGHT and LICENSE in the top level directory

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

hardware-control-3.0.1.tar.gz (11.5 MB view details)

Uploaded Source

Built Distribution

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

hardware_control-3.0.1-py2.py3-none-any.whl (280.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file hardware-control-3.0.1.tar.gz.

File metadata

  • Download URL: hardware-control-3.0.1.tar.gz
  • Upload date:
  • Size: 11.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for hardware-control-3.0.1.tar.gz
Algorithm Hash digest
SHA256 ea544e6a1fc3b233b4072fc0be9ede1fb4375bf0a801bf605e82fd320ec43b7c
MD5 65473ffd460866abd6520894ebcfec1c
BLAKE2b-256 69ab337c34ad4940c3ffd71e9b769a2ca8f4f832bf558094ec6b029e2a972ee8

See more details on using hashes here.

File details

Details for the file hardware_control-3.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for hardware_control-3.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 3c7f11420bdb22183d92b73e11b964e207e611a9137bfc91c06638a4288dad5c
MD5 1bd183aaa194519412ee69a2f9de9935
BLAKE2b-256 bbe57ab79446dc14db03a965dd6d0dfc280af881abe2db843c35bedd05be40cf

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