Skip to main content

read-the-docs PyPI version pre-commit Ruff 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.

See the files COPYRIGHT and LICENSE in the top level directory

Metadata

Release files for hardware-control 4.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hardware-control 4.1.0
File Size Uploaded
hardware_control-4.1.0.tar.gz 14.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for hardware-control 4.1.0
File Interpreter ABI Platform
hardware_control-4.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.8 MB

Release files / hardware_control-4.1.0.tar.gz

Download URL hardware_control-4.1.0.tar.gz
Size 14.5 MB
Tags Source
SHA-256 checksum
How to use checksums
f26a07bbb916ef29b42b0dafde5c788c5cfbf15f7a5d9703509ceecbad814d73
BLAKE2b-256 checksum
How to use checksums
38730895ccaef454b4ebde8621a6a79bebfe734bae47126931f82f7d82670b59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / hardware_control-4.1.0-py3-none-any.whl

Download URL hardware_control-4.1.0-py3-none-any.whl
Size 363.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5a761e9c1036c17dbc7c665ef57aefb9fe0f20f0fdd521c5b7714da8be62218
BLAKE2b-256 checksum
How to use checksums
7afeb9a5610394901d4f4e03f37d61fda12ed1649edcf2cf184bc95b2d188373
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

4.1.0 This release

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.0.0

2 release files

1.0.0

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page