Proxy for reading bluesky hardware over ZMQ interface.
Project description
Bluesky Hardware Proxy
This is a proxy server to provide access to certain bluesky device methods over a zmq interface.
The interface is based directly on the zmq interface of bluesky-queueserver, so an identical client (with a different address) can be used.
For convenience, a version of zmq_single_request
with the default address of tcp://localhost:60620
is provided as bluesky_hwproxy.comms.zmq_single_request
.
Starting a server
start-hwproxy-server
is an entry point provided to start up an instance of hwproxy.
It accepts the same parameters for specifying the environment that contains device objects as start-re-manager
from bluesky-queueserver.
for example:
$ start-hwproxy-server --startup-script ./startup.py
$ start-hwproxy-server --startup-module ophyd.sim
$ start-hwproxy-server --startup-dir ./startup/
Note that at present, --startup-profile
is not connected, though will be in the near future.
Connecting via python
from bluesky_hwproxy.comms import zmq_single_request
devices = zmq_single_request("list")[0]["result"]
describe = zmq_single_request("describe", {"device":devices[-1]})[0]["result"]
Connecting via cli
We provide a hwproxy
command line program to allow interfacing with the hwproxy server
Commands to interact with the server itself:
$ hwproxy list # List available hardware as string keys, one per line
motor1
motor2
det
$ hwproxy reload # reload available devices
The following print JSON response to the terminal:
$ hwproxy read <device>
$ hwproxy describe <device>
$ hwproxy config read <device>
$ hwproxy config describe <device>
$ hwproxy hints <device>
Output is colorized when run from an interactive shell, plain text when e.g. piped.
Finally, we allow checking if a set position is valid:
$ hwproxy check <device> <value>
true
The result is simply true
or false
printed to the terminal.
<value>
can be any json encoded string (most of the time it is a simple float, however pseudopositioners and specialized hardware may use lists, etfc.
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
Hashes for bluesky_hwproxy-2022.8.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4728a4a5d895d91e8d61e4b249dd16fd5111dd9b6f2b9e8b7094c5095fa070c |
|
MD5 | 87d5fddd439b9537dbda68a7c4298e28 |
|
BLAKE2b-256 | 41eaf461bc6aaa150260e3076592bf63431dccd27871c083e4dfbad2b8540c0c |