Skip to main content

PyBarst is a python bindings for the Barst client API.

This project provides a python interface to the Barst server project. Barst is a server which provides access to commonly used hardware in the lab, e.g. FTDI USB devices, RTV cameras, serial ports etc.

The wheels come with the Barst executable and therefore does not need to be installed separately. The path to the executable can be found in pybarst.dep_bins.

For more information: http://matham.github.io/pybarst/index.html

To install https://matham.github.io/pybarst/installation.html

Appveyor status Supported Python versions Latest Version on PyPI

Usage example

Starting a server:

>>> # create a local server instance with a pipe named TestPipe. Since not
>>> # provided, the executable is searched for in pybarst.dep_bins and in
>>> # Program Files.
>>> server = BarstServer(pipe_name=r'\\.\pipe\TestPipe')
>>> # now actually create the server and start it running
>>> server.open_server()
>>> # Connect to a server running on remote computer named PC_Name using a pipe named TestPipe
>>> server2 = BarstServer(pipe_name=r'\\PC_Name\pipe\TestPipe')
>>> # now open the connection to the remote server
>>> server2.open_server()

Get the current server time:

>>> server.clock()
(1.5206475727928106, 13045896424.049448)

An example using the RTV-4 video card:

>>> from pybarst.core.server import BarstServer
>>> from pybarst.rtv import RTVChannel

>>> server = BarstServer(pipe_name=r'\\.\pipe\TestPipe')
>>> server.open_server()
>>> print(server.get_manager('rtv'))
{'version': 1080L, 'chan': 1, 'chan_id': 'RTVMan'}

>>> # for the code below, there should be a RTV-4 like device connected, with
>>> # a port 0 available
>>> rtv = RTVChannel(server=server, chan=0, video_fmt='full_NTSC', frame_fmt='rgb24', lossless=False)
>>> rtv.open_channel()
>>> rtv.set_state(state=True)

>>> # data is a buffer containing the raw image data
>>> time, data = rtv.read()
>>> print(time, len(data), rtv.buffer_size)
(12865.015067682945, 921600, 921600L)
>>> time, data = rtv.read()
>>> print(time, len(data), rtv.buffer_size)
(12865.048412758983, 921600, 921600L)
>>> # remove any data queued, otherwise read will return any waiting data
>>> rtv.set_state(state=False, flush=True)

A example using the windows serial port:

>>> from pybarst.core.server import BarstServer
>>> from pybarst.serial import SerialChannel

>>> server = BarstServer(pipe_name=r'\\.\pipe\TestPipe')
>>> server.open_server()
>>> print(server.get_manager('serial'))
{'version': 498139398L, 'chan': 0, 'chan_id': 'SerMan'}

>>> # for this example, COM3 should have a loopback cable connected to it.
>>> serial = SerialChannel(server=server, port_name='COM3', max_write=32, max_read=32)
>>> serial.open_channel()

>>> time, val = serial.write(value='How are you today?', timeout=10000)
>>> print(time, val)
(1931.5567431509603, 18)
>>> # read the exact number of chars written.
>>> time, val = serial.read(read_len=len('How are you today?'), timeout=10000)
>>> print(time, val)
(1931.5607736011307, 'How are you today?')

>>> serial.close_channel_server()

Release files for PyBarst 2.1

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

Source distribution (sdist)

Source distribution for PyBarst 2.1
File Size Uploaded
PyBarst-2.1.zip 13.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for PyBarst 2.1
File
PyBarst-2.1-cp34-cp34m-win_amd64.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-64 Details
PyBarst-2.1-cp34-cp34m-win32.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-32 Details
PyBarst-2.1-cp27-cp27m-win_amd64.whl CPython 2.7 CPython 2.7 pymalloc Windows x86-64 Details
PyBarst-2.1-cp27-cp27m-win32.whl CPython 2.7 CPython 2.7 pymalloc Windows x86-32 Details

Total release size: 9.0 MB

Release files / PyBarst-2.1.zip

Download URL PyBarst-2.1.zip
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2aba478094c35f3c79eff72fe3cc6f6ae01ee1dc142e36a9da9e189b0e5e2213
BLAKE2b-256 checksum
How to use checksums
4d649acf748a552246f36397b8e094fddab2276ef4c93fecfc05d36c91d77659
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyBarst-2.1-cp34-cp34m-win_amd64.whl

Download URL PyBarst-2.1-cp34-cp34m-win_amd64.whl
Size 2.4 MB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
0c71d3b3b29b555d02013f856d6afec15d9a04218dff258e728c59e1322df9c3
BLAKE2b-256 checksum
How to use checksums
2dccbd8774f703a8629070e8396dfa9cbac0f73c3d43d37665c01a693010abdb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyBarst-2.1-cp34-cp34m-win32.whl

Download URL PyBarst-2.1-cp34-cp34m-win32.whl
Size 2.1 MB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
9a38bd4f4b2d566cd56f9cd033e0707f3cf690e3450ddf16b600633a5714ddb4
BLAKE2b-256 checksum
How to use checksums
96b174cbb8d108d2f51749e9817b6620e81e63363447f3499bce1099f381913d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyBarst-2.1-cp27-cp27m-win_amd64.whl

Download URL PyBarst-2.1-cp27-cp27m-win_amd64.whl
Size 2.4 MB
Tags CPython 2.7 CPython 2.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
6797d489791bf34accca30123885b640dd7b2f27f29e00dd6167cc6144651c89
BLAKE2b-256 checksum
How to use checksums
3721a21a8e59ac0e58fd26fcc296e9dc1faee421a944796be04c721e3420261c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / PyBarst-2.1-cp27-cp27m-win32.whl

Download URL PyBarst-2.1-cp27-cp27m-win32.whl
Size 2.1 MB
Tags CPython 2.7 CPython 2.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
cc2c0b184de0b1ab7c4eab3108f90a4e431c456208101741a809033d22498026
BLAKE2b-256 checksum
How to use checksums
6fef1afc99d660c7df51ed5d128dce94a71e1cb60dd85a5cdd6d3e0fa6ff85de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

2.1 This release

5 release files

2.1.dev0

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