v2026.3.1 (2026-03-31)

Backwards Incompatible Changes

Features

  • Created sub-module bapsflib.phys180E and initialized it with the File class. (#183)

  • Added __str__ and __repr__ dunders to HDFMapDigitizers and HDFMapControls to display brief table summaries of the mapped devices. (#184)

  • Created TableDisplay to aid in generating table summaries for HDFMapDigitizers and HDFMapControls. (#184)

  • Created digitizer mapper HDFMapDigiLeCroy180E to map the associated HDF5 data generated by the LeCroy X-Stream oscilloscopes used in the UCLA Physics 180E lab. (#185)

  • Introduced a scheme to allow the 'shotnum' mapping configuration key, configs, to contain a value of None for digitizers that do NOT record shot number information in their header datasets. This also required updates to HDFReadData, build_shotnum_dset_relation, and condition_shotnum. (#185)

  • Introduced a scheme to allow the 'bit' mapping configuration key, configs, to contain a value of None for digitizers that record voltage into the HDF5 files, instead of bits. This also required an update HDFReadData, so it would default to keep_bits=True without issuing a warning. (#185)

  • Introduced a scheme to allow the 'clock rate' mapping configuration key, configs, to contain a value of None for digitizers that do NOT record clock or sample rate information into the HDF5 files. (#185)

  • Introduced the configuration key 'channel_labels', configs, to contain store any channel label meta-data recorded in the HDF5 file. (#185)

  • Introduced the configuration key 'time_dset_path', configs, to contain store a relative path to a time array dataset associated with the channel datasets. The relative path is relative to the digitizer group path. (#185)

  • Created the method get_time_array() to generate or retrieve the time series data associated with a specified digitized signal. (#186)

  • Created HDFMapControlPositions180E to map the "Positions" control group generated by the Physics 180E lab. (#187)

  • Introduced the class attribute HDFMapControlTemplate._EXPECTED_GROUP_NAME to define the expected / default group name associated with the control device being mapped. (#187)

  • Updated the mapping scheme of HDFMapControls so a group is identified based on matching the group name to either the identifying key in HDFMapControls._defined_mapping_classes or the _EXPECTED_GROUP_NAME of a mapping class. (#187)

Bug Fixes

  • Fixed bug where the information dictionary returned by construct_dataset_name() could modify the configs dictionary if the information dictionary were to be modified. (#186)

Documentation Improvements

  • Created the “Package Features” section in the RTD sidebar. (#181)

  • Created documentation stub files for the bapsflib.phys180E sub-module. (#183)

  • Added bapsflib.phys180E to the “Package Features” section of the documentation sidebar. (#183)

  • Removed sphinx extension sphinx-hoverxref, and replaced with the Read the Docs addon “Link previews”. (#188)

  • Integrated the plasmapy_sphinx extensions and theme: plasmapy_sphinx.ext.autodoc, plasmapy_sphinx.ext.directives, and plasmapy_sphinx.theme. (#188)

  • Re-titled the sidebar section names to be First Steps, Package Features, Developer Documentation, and All the Rest. (#188)

  • Dropped the explicit use of the py:obj, py:mod, and py:class roles in favor of just using single back-ticks. (#188)

  • Dropped the explicit use of the code role in favor of just using double back-ticks. (#188)

  • Removed documentation stub file api_static/bapsflib.lapd.ConType.rst. (#188)

  • Added the nbsphinx extension to the documentation. (#190)

  • Created an example notebook for the bapsflib.phys180e.File functionality, and placed it in the “First Steps” section of the sidebar. (#190)

  • Set the documentation theme to plasmapy_theme. (#191)

  • Removed unused documentation templates, docs/_templates/*. (#191)

  • Moved and renamed the CSS override file, docs/_static/rtd_theme_overrides.css -> docs/_static/css/overrides.css. (#191)

  • Moved Sphinx role definitions from the rst_prolog configuration variable to the setup() function using the Sphinx add_role method. (#191)

Trivial/Internal Changes

Package Management

  • Bumped black version from ==v24.3.0 to ==v26.3.1. (#178)

  • Removed documentation dependency sphinx-hoverxref. (#188)

  • Added documentation dependency plasmapy_sphinx. (#188)

  • Made nbsphinx, ipykernel, and matplotlib documentation dependencies. (#190)

  • Update .readthedocs.yml so the Read the Docs documentation builds are done with Python 3.14. (#191)