Release notes
2.0
Autolab 2.0 released in 2024 is the first major release since 2020.
General Features
Configuration Enhancements:
Enhanced configuration options for driver management in autolab_config.ini, including extra paths and URLs for driver downloads.
Added install_driver() to download drivers.
Improved handling of temporary folders and data saving options.
Driver Management:
Moved drivers to a dedicated GitHub repository: https://github.com/autolab-project/autolab-drivers.
Drivers are now located in the local “<username>/autolab/drivers/official” folder instead of the main package.
Added the ability to download drivers from GitHub using the GUI, allowing selective driver installation.
Documentation:
Added documentation for new features and changes.
GUI Enhancements
General Improvements:
Switched from matplotlib to pyqtgraph for better performance and compatibility.
Enhanced plotting capabilities in the monitor and scanner, including support for 1D and 2D arrays and images.
Added $eval: special tag to execute Python code in the GUI to perform custom operations.
Added autocompletion for variables using tabulation.
Added sliders to variables to tune values.
Control Panel:
Added the ability to display and set arrays and dataframes in the control panel.
Added possibility to use variable with type bytes and action that have parameters with type bool, bytes, tuple, array or dataframe.
Added yellow indicator for written but not read elements.
Introduced a checkbox option to optionally display arrays and dataframes in the control panel.
Added sub-menus for selecting recipes and parameters.
Improved device connection management with options to modify or cancel connections.
Added right-click options for modifying device connections.
Scanner:
Implemented multi-parameter and multi-recipe scanning, allowing for more complex scan configurations.
Enhanced recipe management with right-click options for enabling/disabling, renaming, and deleting.
Enabled plotting of scan data as an image, useful for 2D scans.
Added support for custom arrays and parameters in scans.
Enabled use of a default scan parameter not linked to any device.
Added data display filtering option.
Added scan config history with the last 10 configurations.
Added variables to be used in the scan, allowing on-the-fly analysis inside a recipe.
Changed the scan configuration file format from ConfigParser to json to handle new scan features.
Add shortcut for copy paste, undo redo, delete in scanner for recipe steps.
Plotter:
Implementation of a plotter to open previous scan data, connect to instrument variables and perform data analysis.
Usability Improvements:
Enabled drag-and-drop functionality in the GUI.
Added icons and various UI tweaks for better usability.
Enabled opening configuration files from the GUI.
Standalone GUI Utilities:
Added autolab.about() for autolab information.
Added autolab.slider(variable) to change a variable value.
Added autolab.variables_menu() to control variables, monitor or use slider.
Added autolab.add_device() for adding devices to the config file.
Added autolab.monitor(variable) for monitoring variables.
Added autolab.plotter() to open the plotter directly.
Device and Variable Management
Variable and Parameter Handling:
Added new action units (‘user-input’, ‘open-file’, ‘save-file’) to open dialog boxes.
Added ‘read_init’ argument to variable allowing to read a value on device instantiation in the control panel.
Added new type ‘tuple’ to create a combobox in the control panel.
Miscellaneous Improvements
Code Quality and Compatibility:
Numerous bug fixes to ensure stability and usability across different modules and functionalities.
Compatibility from Python 3.6 up to 3.12.
Switched from PyQt5 to qtpy to enable extensive compatibility (Qt5, Qt6, PySide2, PySide6).
Extensive code cleanup, PEP8 compliance, and added type hints.
Logger and Console Outputs:
Added an optional logger in the control center to display console outputs.
Added an optional console in the control center for debug/dev purposes.
Miscellaneous:
Added an “About” window showing versions, authors, license, and project URLs.
Implemented various fixes for thread handling and error prevention.
Add dark theme option for GUI.
1.1.12
Last version developed by the original authors.