Skip to content

Releases: pcdshub/hutch-python

v1.16.0 (2022-06-03)

03 Jun 20:09
2234f40
Compare
Choose a tag to compare

Features

  • Add the obj_config key to the conf.yml configuration file. This allows the user to pass in the path to a file that contains object reconfiguration information. Currently, tab completion whitelists/blacklists and ophyd component kind configuration are supported.
  • Switch the best effort callback instance bec to use the BECOptionsPerRun callback from nabs instead of the previous BestEffortCallback from bluesky. This new class is a subclass of BestEffortCallback that allows us to configure its options on a per-scan basis by setting metadata keys. This means we can do things like disabling plots on scans where it makes no sense, and perhaps more features in the future.

Contributors

v1.15.0 (2022-05-02)

02 May 17:58
960bc9d
Compare
Choose a tag to compare

Features

  • Add automatic ELOG post configuration to the run engine.
  • Add a much more helpful startup banner that calls out specific
    helpful objects in the namespace.

Fixes

  • Make the dev package identifier very robust.

Maintenance

  • Configure and satisfy pre-commit checks.
  • Rework and clean up the post-IPython initialization.

Contributors

v1.14.0 (2022-03-31)

01 Apr 00:05
5f77e01
Compare
Choose a tag to compare

Features

  • Ctrl+C now aborts the current run, returning the RunEngine to a
    ready / idle state. The old pause functionality has been moved to
    Ctrl+\.
  • Include per-device load times for devices loaded from happi.
  • Load a run-engine wrapped namespace (lowercase re) as a replacement
    for the proliferation of roll-your-own wrappers, and also add wrapped
    daq scan functions to the daq object.
  • Add plan wrappers to all plans to make it clear which are plans and
    which are functions.
  • Show the environment information at startup so the user knows what
    version of the software they are running.

Contributors

v1.13.2 (2022-02-11)

11 Feb 19:30
7f55e3d
Compare
Choose a tag to compare

Fixes and Maintenance

Configure IPython to disable black input reformatting,for three reasons:

  1. Throws errors in our terminal after the first input
  2. Conflicts with advice in the black github issues that assert that black is not ready to be used as an import.
  3. I don't think it's a good fit for the scientific computing and expect that it will be annoying in practice.

Contributors

  • zllentz

v1.13.1 (2022-02-07)

07 Feb 22:59
f390d35
Compare
Choose a tag to compare

Fixes and Maintenance

  • Noisy logger detection is now configured but disabled by default.
  • Noisy logger detection is split between the file and the console.
  • Allow both QtAgg and Qt5Agg as valid matplolib backends for the loaded
    environment.
  • Include daq_type and daq_host in the list of valid keys for the
    purpose of warning the user about a malformed config. These have been
    valid, but produce an incorrect warning.
  • Expand the default LCLS2 DAQ timeout from 1 second to 10 seconds to fix
    an issue where we would time out on expected long operations.

Contributors

v1.13.0 (2021-11-10)

10 Nov 19:12
0fbbc8a
Compare
Choose a tag to compare

Features

  • Noisy loggers will automatically be filtered based on message rate metrics
    as to not disturb the user.
  • Warnings will be redirected to the logging stream, making them show up
    in the log files.
  • Warnings will only be shown once each per session per warning source,
    rather than after every IPython line, via demoting them to DEBUG level
    in the console, as to not disturb the user.
  • Callback exception log messages will be demoted to DEBUG level in the
    console as to not disturb the user.

Fixes and Maintenance

  • Add documentation about the log namespace.
  • Fix an issue where certain helpful namespaces inside of helpful namespaces
    in specific situations would not render properly.
  • Fix various issues with the CI and move it to Python 3.9 only.
  • Remove no longer needed inflection dependency

v1.12.0 (2021-09-28)

29 Sep 16:43
6b92e22
Compare
Choose a tag to compare

Features

  • Add functionality for specifying parameters for and automatically
    instantiating the LCLS2 DAQ object (BlueskyScan) via an optional
    psdaq.control dependency and configuration keys.

Fixes and Maintenance

  • Restore the CI pypi build to running.
  • Properly setup lightpath, psdm_qs_cli, and elog as optional dependencies.
  • Clean up the documentation about the configuration file.

v1.11.2 (2021-08-09)

09 Aug 19:12
6490de2
Compare
Choose a tag to compare

Fixes and Maintenance

  • Fix order of message logging in the IPython input logger. Previously, the
    In log message wouldn't happen until after the command had already finished.
    Now, the In message is logged, then any normal log messages are logged, and
    then finally the Out message is logged, all neatly in order.
  • Adjust exception handling output for log files and for centralized logger.
  • Log exceptions in threads
  • Only log to the centralized PCDS logger when on a PCDS host
  • Support stacklevel for centralized logging on Python 3.8+
  • Make elog and lightpath optional dependencies for pip

v1.11.1 (2021-07-09)

09 Jul 21:43
b3afb3c
Compare
Choose a tag to compare

Fixes and Maintenance

  • Fix issues related to matplotlib setup in headless mode. This means that it
    will no longer crash the session when used without x-forwarding.

v1.11.0 (2021-06-04)

04 Jun 22:55
615b5a6
Compare
Choose a tag to compare

Features

  • Added ability to opt-in to specific Ophyd Object instance DEBUG logs. Call
    logs.log_objects(obj1, obj2) to configure it for obj1 and obj2,
    for example, and clear it by way of logs.log_objects_off().
  • Added a new logs object in the IPython namespace, offering easy access
    to common log-related tools.

Fixes and Maintenance

  • Refactored logging setup to be more modular and slightly better documented.
    The ophyd logger is no longer "hushed", but is now filtered through the
    new ObjectFilter mechanism.