libarc2 Python bindings
Important
If you recently acquired an ArC TWO it is recommended that you go through board’s 📖 general documentation first as it provides useful introductory information to get started with your instrument.
pyarc2
provides Python bindings for the Rust libarc2 library which is the
low-level library to access the ArC TWO parallel characterisation platform. It
exposes most of the underlying Rust functionality and allows users to build
complex programs that leverage the capabilities of ArC TWO. It is recommended
reading for new users otherwise you can head on straight to the API
reference. pyarc2
provides a veneer around the low-level Rust API
and it is recommended for users wanting to develop tailored characterisation
tools on top of ArC TWO.
Installation
pyarc2
should be available from pip. For the stable version run
$ pip install pyarc2
or for the latest and greatest
$ pip install git+https://github.com/arc-instruments/pyarc2
In addition to pyarc2
you will also need the necessary libusb driver to
interact with ArC TWO. pyarc2
wheels will typically include the library
that implements the FPGA API (see beastlink) but the actual USB driver should
be installed separately for your operating system. This is typically included
with the CESYS distribution of beastlink. Check CESYS download page for more
details. For Windows run the installer provided by CESYS. For Linux scripts to
generate suitable packages for Archlinux, Debian-based and RedHat compatible
distributions are available from our repository.
pyarc2
is only available for Windows and glibc Linux x86_64. That’s due to
limitations of beastlink. Should more architectures and operating systems be
supported by beastlink these will be made available but it’s not something
that’s under control of the libarc2
and pyarc2
development team.
ArC TWO firmware
A firmware is required to talk to ArC TWO. This is not typically provided by
pyarc2
but it is available from our website. Compiled distributions of
higher-level applications, such as arc2control would typically also include
the latest firmware.