Releases: BBN-Q/PyQLab
Releases · BBN-Q/PyQLab
Version 2.1
- Improved unit test coverage
- Refactored to delay computation of pulse shapes to much later in compilation.
This makes it possible for hardware translators to implement things like SSB,
amplitude/phase, etc in real-time hardware as opposed to baking it into the
pulse shape. - Make it possible to register new hardware translators without directly adding
the code to PyQLab. - New migration feature to automatically upgrade configuration files when the
underlying "schema" changes. - Adds new Edge channel type to encode connectivity graph of a device. These are
directed edges, which allows us to emit different instructions based upon the
directionality of the underlying process. I.e., we can also do CR gates in the
same direction, but emit different sequences for CNOT(q1, q2) vs CNOT(q2, q1). - Fixes missing function bodies when using qfunctions.
Version 2.0
Base language changes
- Adds QGL control flow statements: qif, qwhile, qdowhile, repeat, and repeatall
- Adds @qfunction decorator
- Adds lower level IR statements LOADCMP, CMP, GOTO, CALL, RETURN as lowered forms of the above control-flow expressions
- Add qwait and qsync instructions
- Automated unit testing with TravisCI
- Automated code coverage with Coveralls
Channels
- Pulse gating and slave triggers now handled with LogicalMarkerChannels
- X6 digitizer support
- StreamSelector MeasFilter for the X6
- DigitalDemod filter
- KernelIntegration filter
- Partial support for merging multiple abstract/logical channels onto one physical channel
- Added validator to check that parameter files follow various rules before writing JSON files.
- Follow a much larger class of wiring changes without requiring a reboot of ExpSettingsGUI or ipython
Plotting
- Switched to Bokeh plotting library from Continuum Analytics. Now supporting inline plotting in ipython/Jupyter notebooks. Use
output_notebook()
to enable inline plotting.
Hardware Support
- Adds APS2 instruction output
Version 1.1
Over a year of fixes and improvements. Notable changes:
- Major update to GUI components to use Nucleic Atom/Enaml instead of the deprecated Enthought Traits/Enaml combo.
- Keyboard shortcut for saving settings file (Ctrl+S).
- Setting quick picks
- Ability to specify repeated pulses in QGL
- Enable SSB of time/amplitude pulses by expanding
- New instrument views