Recent Releases of qslib
qslib -
- Reimplement core communication and parsing code in Rust.
- Improve cli commands, in particular,
list-storedandget-eds. - Add more parsing and typing to
Machine.list_runs_in_storageandMachine.list_files(breaking change if relying on atime/mtime/ctime being floats instead of datetime objects). - Use setuptools_scm to write version number.
- Python
Published by cgevans about 1 year ago
qslib - v0.13.0
- Add
PlateSetup.from_picklistmethod to generate a PlateSetup from a Kithairon PickList, if Kithairon is installed. - Improve ssl support for monitor.
- Have monitor complain to matrix if it exits unexpectedly.
- Fix compile_eds when there is no folder to compile (if, eg, something else has already compiled the EDS).
- Python
Published by cgevans over 1 year ago
qslib - v0.12.0
Machine.blockcommand to directly control block temperatures.- Certificate support for SSL, and new connection recommendations.
- Stage lines and event spans now are now not plotted if they are outside of the selected time range / stages.
Stepnow supports repeats.Stage.stepped_rampcan now take multiple data points per temperature.- Fix hanging connection bug.
- Python
Published by cgevans over 1 year ago
qslib - v0.11.0
- Initial support for 384-well blocks, at least in data/file reading.
- Initial support for v2.0 EDS specification machines (eg, QS6Pro), at least in data/file reading.
- Parsing of multicomponent data for v1 and v2 machines, and partial analysis data for v1 machines.
- Available data is shown in experiment information.
- Change license to EUPL-1.2.
- Fixes for new matplotlib versions.
- Support for Python 3.12.
- Python
Published by cgevans over 2 years ago
qslib - v0.9.1
Version 0.9.1
- Minor bug fixes and dependency updates (to fix pandas errors).
- Fixes to support Pandas 2.0.
- Ensure that some invalid characters are not used in machine names.
- Check for files with and without spaces on machine when loading a new experiment (in case run was started outside of qslib).
- Parse IOError messages from the machine.
- Python
Published by cgevans about 3 years ago
qslib - v0.9.0
Version 0.9.0
- Fix
Stage.stepped_rampwhen all temperature increments are the same, but temperatures are not. - Add a
start_incrementoption toStage.stepped_rampfor cases where the user does not want the ramp to actually start at the starting temperature, but at the first increment away from it (eg, when continuing a previous ramp). - Ensure that units are delta units when appropriate in protocols, regardless of whether the user entered them as delta units (eg, so "2°C" will work as a temperature step).
- Python
Published by cgevans about 3 years ago
qslib - v0.8.2
Version 0.8.2
- Add check for existing, completed EDS files with same name, and option to
Experiment.runto overwrite completed or working files. - Fix XML protocol parsing bug for increment units with non-qslib EDS files.
- Fix stage lines in plots.
- Improve error messages.
- Python
Published by cgevans over 3 years ago
qslib - v0.8.0
- Ensure that protocols don't have incorrect stage index and label information when being sent to machine.
- MachineStatus now includes temperature information, as does the
qslib machine-statusCLI command. Experiment.sync_from_machinecan exclude tiffs, and has better logging.- Custom steps are now approximated in xml files, keeping them somewhat compatible with the machine's android interface.
- Several testing and documentation improvements.
- Python 3.11 fixes.
- Python
Published by cgevans almost 4 years ago
qslib - v0.7.1
- QSLib-initiated experiments should now be partially compatible with the machine's android interface. Status, time, and the (possibly approximate) protocol should be displayed. Data and samples will likely not. Pause/resume/stop/open/close buttons on the interface should function properly.
Processorand plotting improvements.
- Python
Published by cgevans about 4 years ago
qslib - v0.7.0
Protocolnow hasProtocol.stage, and Stage now hasStage.step, to provide convenient, 1-indexed access, such thatprotocol.stage[5]of is stage 5 ofprotocol, not stage 6.Protocolnow supports setting PRERUN and POSTRUN stages, as a series of SCPI commands. This allows the setting of things like idling temperatures and exposure times. It is not easily usable yet, however.Experiment.change_protocol_from_nowallows convenient changes to a currently-running experiment.Normalizationhas been renamed toProcessor. Plotting functions can take sequences of processors to process data. These now include:- Normalization as before:
NormByMeanPerWell,NormByMaxPerWell SubtractMeanPerWell: subtracts the mean of a particular region, applied to each well.SmoothEMWMean: smooths data using Pandas' ExponentialMovingWindow.mean.SmoothWindowMean: smooths data using Pandas' Rolling.mean or Window.mean.
- Normalization as before:
- Some initial implementation changes to allow repeated steps (not stages).
- Fixes bug that prevented loading of some aborted runs.
- Fixes monitor's recording of temperatures.
- Experiment.allfilters uses data if it exists; Experiment.filterstrings as a convenience function alternative.
- SCPICommand parsing improvements.
- Protocol printing improvements.
- Python
Published by cgevans about 4 years ago
qslib - 0.6.0
- Improved plots, including new
Experiment.plot_temperatures. - Comments in SCPI commands, allowing save/load of default filters in protocols
- Licensing switched to AGPL 3.0, CLA in docs.
- Command comment parsing, also used to store whether steps are using default filters.
- Example notebook
- Working parsing of Exposure commands
- Dependency version fixes
- Python
Published by cgevans over 4 years ago
qslib - 0.5.1
CustomStep.collect(and subclasses, includingStep) is nowCustomStep.collects. Thecollectparameter forStepcan now beNone, which will collect data if the step has a filter setting (ie, if you want to collect the defaultProtocolfilters, you need to usecollect=True).Stage.stepped_rampandStage.hold_forare now safer in requiring some keyword arguments, are documented, and are more flexible.
- Python
Published by cgevans over 4 years ago
qslib - v0.5.0
- Units throughout protocols, thanks to Pint: you can now use strings like '1 hr' or '52 °C' when defining protocols.
- Automatic connections throughout Machine and Experiment, by default.
- Change safe titles from spaces-as-"-" to spaces-as-"_", consistent with machine.
- Deprecated paramiko tunnel.
- Documentation rewrite
- Implement EDS-file (in-progress and complete) synchronization for monitor.
- Reorganization of modules: common is no longer needed
- Python
Published by cgevans over 4 years ago
qslib - v0.4.0
Much faster
Experiment.sync_from_machine, only transferring additional log entries rather than the entire log.Common plotting routines for fluorescence data.
More reliable monitoring.
More reliable connections, and testing.
Stage.stepped_rampconvenience function.Fixes to bugs inhibiting exposure setting, and some basic implementations for this.
Fixes to qs-monitor for cycle counts > 999 (and other large stage / step / cycle counts).
- Python
Published by cgevans over 4 years ago
qslib - QSLib v0.3.0
- Add qslib CLI, with some basic utility functions.
- Include calculation using 1.6°c/s ramp (standard mode default) in temperature protocols, initiating from 25°c. This makes experiment temperature data match reasonably well with protocol calculations. It needs to be expanded to handle different ramp rates and run modes, however.
- Added some tests.
- Python
Published by cgevans almost 5 years ago