https://github.com/casabre/pyvisa-proxy
PyVISA remote server and client in order to address your remote "local" hardware as it would be plugged in locally.
https://github.com/casabre/pyvisa-proxy
python remote-control visa zmq
Last synced: 2 months ago
JSON representation
PyVISA remote server and client in order to address your remote "local" hardware as it would be plugged in locally.
- Host: GitHub
- URL: https://github.com/casabre/pyvisa-proxy
- Owner: casabre
- License: mit
- Created: 2021-08-29T10:22:47.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-11-18T04:29:49.000Z (over 1 year ago)
- Last Synced: 2025-08-17T20:28:56.836Z (10 months ago)
- Topics: python, remote-control, visa, zmq
- Language: Python
- Homepage: https://pyvisa-proxy.readthedocs.io
- Size: 125 KB
- Stars: 9
- Watchers: 3
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
- Authors: AUTHORS
Awesome Lists containing this project
README
# PyVISA-proxy
[](https://pyvisa-proxy.readthedocs.io/) [](https://github.com/casabre/pyvisa-proxy/actions/) [](https://pypi.python.org/pypi/pyvisa-proxy)  [](https://pypi.python.org/pypi/pyvisa-proxy) [](LICENSE)
This plugin should extend PyVISA's funtionality mainly in order to address local hardware which is attached to a remote node, e.g. USB or GPIB. In the end, you can decouple your VISA instrument hosting where you need bare metal nodes and the test script runner.
## Getting started
### Installation
Using pip:
```shell
pip install pyvisa-proxy
```
### Server
In order to make devices remotely available, just run the PyVISA-remote server on your node. The server will open new VISA resources per request. Just run
```shell
python -m pyivsa_proxy --port 5000
```
in order to host your "local" connections. Use any available port for network sharing.
### Client
Use a client like a normal PyVISA class. The calls will be forwarded by reflection to the server. In order to get started, use the following snippet in your code.
```python
import pyvisa
rm = pyvisa.ResourceManager("YourProxyServerIp:YourProxyServerPort@proxy")
instr = rm.open_resource(resource="GPIB0::1::INSTR")
print(instr.query("*IDN?"))
```
## Contributing
I welcome any contributions, enhancements, and bug-fixes. [Open an issue](https://github.com/casabre/pyvisa-remote/issues) on GitHub and [submit a pull request](https://github.com/casabre/pyvisa-remote/pulls).
## License
pyvisa-remote is 100% free and open-source, under the [MIT license](LICENSE). Use it however you want.
This package is [Treeware](https://treeware.earth). If you use it in production, then we ask that you [**buy the world a tree**](https://plant.treeware.earth/casabre/pyvisa-remote) to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.