Software

Mabuchilab has producedĀ a number of Free and Open Source software packages. We welcome you to use and contribute to them!

qnet-100QNET is a set of tools created and compiled to aid in the design and analysis of photonic circuit models. Our proposed Quantum Hardware Description Language (if you use QNET, please cite our QHDL paper) serves to describe a circuit topology and specification of a larger entity in terms of parametrizable subcomponents. This is strongly analogous to the specification of electric circuitry using the structural description elements of VHDL or Verilog. The physical systems that can be modeled within the framework include quantum optical experiments that can be described as nodes with internal degrees of freedom such as interacting quantum harmonic oscillators and/or N-level quantum systems that, in turn are coupled to a finite number of external bosonic quantum fields.

 

Instrumental-100Instrumental is a Python-based library for controlling lab hardware like cameras, DAQs, oscilloscopes, spectrometers, and more. It has high-level drivers for instruments from NI, Tektronix, Thorlabs, PCO, Photometrics, Burleigh, and others.

Instrumental’s goal is to make common tasks simple to perform, while still providing the flexibility to perform complex tasks with relative ease. It also makes it easy to mess around with instruments in the shell.

 

nicelib-100NiceLib is a Python library for rapidly developing “nice” basic wrappers for calling C libraries, using cffi. Essentially, it lets you take a C shared library (.dll or .so) and its headers and rapidly create a nice pythonic interface.

NiceLib accomplishes this in two main ways: first, it converts header files (macros and all) into a format usable by cffi (i.e. it preprocesses them); second, it provides an API for quickly and cleanly defining pythonic mid-level interfaces that wrap low-level libraries.