v2026.3.1 (2026-03-31)
Backwards Incompatible Changes
Removed the
bapsflib.plasmasub-module from the defaultbapsflibnamespace. (#183)
Features
Created sub-module
bapsflib.phys180Eand initialized it with theFileclass. (#183)Added
__str__and__repr__dunders toHDFMapDigitizersandHDFMapControlsto display brief table summaries of the mapped devices. (#184)Created
TableDisplayto aid in generating table summaries forHDFMapDigitizersandHDFMapControls. (#184)Created digitizer mapper
HDFMapDigiLeCroy180Eto 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 ofNonefor digitizers that do NOT record shot number information in their header datasets. This also required updates toHDFReadData,build_shotnum_dset_relation, andcondition_shotnum. (#185)Introduced a scheme to allow the
'bit'mapping configuration key,configs, to contain a value ofNonefor digitizers that record voltage into the HDF5 files, instead of bits. This also required an updateHDFReadData, so it would default tokeep_bits=Truewithout issuing a warning. (#185)Introduced a scheme to allow the
'clock rate'mapping configuration key,configs, to contain a value ofNonefor 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
HDFMapControlPositions180Eto map the"Positions"control group generated by the Physics 180E lab. (#187)Introduced the class attribute
HDFMapControlTemplate._EXPECTED_GROUP_NAMEto define the expected / default group name associated with the control device being mapped. (#187)Updated the mapping scheme of
HDFMapControlsso a group is identified based on matching the group name to either the identifying key inHDFMapControls._defined_mapping_classesor the_EXPECTED_GROUP_NAMEof a mapping class. (#187)
Bug Fixes
Fixed bug where the information dictionary returned by
construct_dataset_name()could modify theconfigsdictionary 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.phys180Esub-module. (#183)Added
bapsflib.phys180Eto the “Package Features” section of the documentation sidebar. (#183)Removed
sphinxextensionsphinx-hoverxref, and replaced with the Read the Docs addon “Link previews”. (#188)Integrated the
plasmapy_sphinxextensions and theme:plasmapy_sphinx.ext.autodoc,plasmapy_sphinx.ext.directives, andplasmapy_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, andpy:classroles in favor of just using single back-ticks. (#188)Dropped the explicit use of the
coderole in favor of just using double back-ticks. (#188)Removed documentation stub file
api_static/bapsflib.lapd.ConType.rst. (#188)Added the
nbsphinxextension to the documentation. (#190)Created an example notebook for the
bapsflib.phys180e.Filefunctionality, 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_prologconfiguration variable to thesetup()function using theSphinxadd_rolemethod. (#191)
Trivial/Internal Changes
Added return annotations for key
Filemethods,overview,read_controls,read_data, andread_msi. This was done on bothbapsflib._hdf.utils.file.Fileandbapsflib.lapd._hdf.file.File. (#182)Replaced some instances of the
Union[]annotation with the newer pipe|notation. (#182)Forced mapped board and channel values for
HDFMapDigiSIS3301to be typeintinstead ofnumpy.integer. (#184)Updated method
get_digitizer_specs()to generate the information dictionary using theHDFMapDigiTemplatemethodconstruct_dataset_name()instead ofget_adc_info()to maintain consistency with theinfodictionary generated byHDFReadData. (#186)
Package Management
Bumped
blackversion from==v24.3.0to==v26.3.1. (#178)Removed documentation dependency
sphinx-hoverxref. (#188)Added documentation dependency
plasmapy_sphinx. (#188)Made
nbsphinx,ipykernel, andmatplotlibdocumentation dependencies. (#190)Update
.readthedocs.ymlso the Read the Docs documentation builds are done with Python 3.14. (#191)