Labscript-suite

Latest version: v3.2.0

Safety actively analyzes 613734 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

2.15.0

This release includes one bugfix, one enhancement, one update for compatibility with a
new Python version, and two changes that facilitate the move of labscript suite
components to regular Python packages installable with conda or pip, discussed
[here](https://bitbucket.org/labscript_suite/installer/issues/31/)

- `labscript_utils.versions` Python 3.8 compatibility. Fixes an exception raised on
Python 3.8 due the the `importlib_metadata` package becoming part of the standard
library. Contributed by Chris Billington.
([PR 94](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/94))

- `labscript_utils.filewatcher.FileWatcher` can now detect whether files have changed on
disk by checking a hash of their contents, and not just their modified times. This
means that a file reverting to its previous state can be detected, such that the
"connection table needs to be recompiled" message in the next release of BLACS will be
hidden if the connection table is restored to its previous state. Contributed by
Russell Anderson.
([PR 61](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/61))

- The `labscript_utils.setup_logging` module now creates log files for applications in
`<labscript_suite_profile>/logs` instead of the installation directory of the
application itself. Contributed by Chris Billington.
([PR 95](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/95))

- `labscript_utils.labscript_suite_install_dir` has been renamed to
`labscript_suite_profile`, with the former name kept as an alias. This reflects the
fact that in the future, labscript suite applications may be installed as regular
Python packages, and not in the directory containing logs, configuration and user
libraries, which will now be referred to at the "labscript suite profile" directory
instead of the "installation" directory. Also to help with that change, the
`labscript_utils.winshell` module now uses the import path of each application instead
of assuming it is in the profile directory for the purposes of creating windows
shortcuts. Applications shortcuts now start applications with the `userlib` directory
as the working directory instead of the application's installation directory.
Contributed by Chris Billington.
([PR 96](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/96))

- Bugfix for using automatic metric prefixes with nonlinear unit conversion functions,
these previously did the unit conversion incorrectly. Contributed by Peter Elgee and
Chris Billington.
([PR 87](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/87))

2.14.1

This release includes one bugfix, two minor improvements and one update for
compatibility with a newer version of a library.

- Bugfix for check_version to produce a sensible error message when `importlib_metadata`
is not new enough. Contributed by Chris Billington.
([PR 88](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/88))

- Improved error message (with traceback of both imports) if `h5py` imported prior to
`labscript_utils.h5_lock`. Contributed by Chris Billington
([PR 90](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/90))

- Improve help text of `labscript_utils.winlauncher` to show how to run modules as well
as scripts. Contributed by Chris Billington.
([PR 91](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/91))

- Compatibility with `importlib_metadata` >= 0.21. Contributed by Chris Billington
([PR 92](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/88))

2.8.0

This release includes two bugfixes, one enhancement, one update for compatibility with a
new Python version, and one change to simplify writing device tabs for BLACS.

- Do not use hard-coded paths for temporary files, resolving permission errors in some
circumstances. Contributed by Chris Billington.
([PR 74](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/74))

- Add Python 3.8 compatibility by using `html.escape` instead of the removed
`cgi.escape` function. Contributed by Chris Billington.
([PR 76](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/76))

- Properly shutdown the `OutputBox` in each tab when a tab is restarted, resolving a
memory leak. Contributed by Chris Billington.
([PR 77](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/77))

- Use new file-hashing functionality of `labscript_utils.filewatcher` to detect when
modified files are restored to their previous state, and hide the "connection table
has changed" notification. Contributed by Russell Anderson and Chris Billington.
([PR 61](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/61))

- Automatically add all connection table properties as instance attributes of `Worker`
objects. This obviates the need to manually pass all these attriutes at startup,
simplifying device tab code. Contributed by Chris Billington.
([PR 78](https://bitbucket.org/labscript_suite/labscript_utils/pull-requests/78))

2.6.0

This release includes six bugfixes, two changes to work with newer versions of a
library, and two enhancements.

- Do not throw a version error about `pandas` v1.0

- Fix bug where lyse would fail to terminate subprocesses upon quit. Normal
subprocesses would eventually terminate themselves, but this caused lyse to hang
whilst closing waiting for them.
([PR 63](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/63))

- Increase the timeout for starting subprocesses to 30 seconds. Slow computers starting
lyse, or when starting many subprocesses at once, would often cause timeouts which
necessitated restarting lyse.
([PR 64](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/64))

- In analysis routine subprocesses, force the multiprocessing module to spawn new
processes instead of forking. This allows analysis routines to use the multiprocessing
module, whereas otherwise this causes crashes due to zmq not being fork-safe. This
only affects Unix, where forking is the default behaviour of the multiprocessing
module - on Windows this was not an issue since processes were always spawned fresh.
([PR 65](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/65))

- Expand the allowed datatypes that may be saved/loaded as HDF5 attributes via
`Run.save_result()` etc to anything supported by
`labscript_utils.properties.get/set_attribute(s)`. This means that datatypes not
supported natively by HDF5 are JSON encoded and saved as a string with a prefix
indicating this.
(PRs [66](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/66)
and [69](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/69))

- Fix bug where lyse's close button was unresponsive if there were no analysis routines.
([PR 67](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/67))

- Fix incorrect logic for updating the Qt model and dataframe in lyse - it is hoped that
this will resolve an intermittent issue (issue 45) in which the dataframe and Qt
model are sometimes not updated after analysis completes. If anyone sees the buggy
behaviour again, please reopen issue 45 or a new bug report.
([PR 68](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/68))

- Update to no longer use the deprecated `pandas` `convert_objects()` method, in favour
of the newer `infer_objects` method.
([PR 70](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/70))

- Fix a bug where lyse could crash if loading shots with different numbers of levels in
the hierarchy of their corresponding dataframes.
([PR 71](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/71))

- Allow instantiating a `Run()` object from within a function, not just at the global
scope. The default group that results will be saved to will be the name of the file
the `Run()` object is instantiated in.
([PR 72](https://bitbucket.org/labscript_suite/labscript_devices/pull-requests/72))

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.