Changelog¶
Version 0.13.2 - March 31, 2026¶
New Features¶
biopsykit.io: Added a newfibionimporter withFibionDatasetsupport for loading Fibion recordings from EDF, CSV, or complete recording folders, including metadata-aware CSV parsing.biopsykit.signals.ecg: Added new tpcp-based heart-rate processing helpers, including normalization, aggregation, and resampling utilities.biopsykit.protocols.cft: AddedCftFeatureExtractionto compute Cold Face Test features from heartbeat-level ECG-derived heart-rate data.
Bugfixes¶
biopsykit.io: Fixed time log import handling.biopsykit.utils.array_handling: Fixed handling of empty masked slices.Improved compatibility with newer
pandasversions by removing inplace column replacement patterns and updating DataFrame indexing code that triggeredFutureWarnings.biopsykit.io.fibion: CorrectedFibionDatasetattribute annotations so dataset state is stored as instance data rather than class variables.
Improvements¶
biopsykit.protocols.plotting: Extended protocol plotting support for the new CFT feature extraction workflow.biopsykit.signals.icg.event_extraction: Improved parameter documentation across B-point and C-point extraction algorithms.
Version 0.13.1 - June 12, 2025¶
Bugfixes¶
fix IPython import paths in
biopsykit.stats
Version 0.13.0 - April 16, 2025¶
Improvements¶
biopsykit.io.biomarker: Made importing biomarker data from the laboratory (“plate-format”) more flexible and error-safe.
Internal Changes¶
Updated code to fix deprecation and future warnings in
pandasandnumpy.
Version 0.12.3 - March 15, 2025¶
Internal Changes¶
Migrated from
poetrytouvas the main build tool. This change is due to the fact thatuvis more flexible and allows for more customization. Thepyproject.tomlfile was updated accordingly.
Version 0.12.2 - January 14, 2025¶
Bugfix¶
small bugfixes in PEP Algorithms and Biopac importer (improved error handling)
Version 0.12.1 - January 03, 2025¶
Bugfix¶
Updated
pandasversion constraint from “^1” to “^2” and updated all code and test cases to be compatible with newerpandasversions.
Version 0.12.0 - January 03, 2025¶
New Features¶
Added new algorithms for pre-ejection period (PEP) computation in
biopsykit.signals, including algorithms for ECG Q-peak extraction (biopsykit.signals.ecg) and ICG B-point extraction (biopsykit.signals.icg). Added further utility functions (e.g., for heartbeat segmentation) and to compute the PEP using a combination of ECG and ICG data (biopsykit.signals.pep).
Version 0.10.2 - March 06, 2024¶
Changes¶
BaseProtocol.add_salvia_datanow also accepts absolute saliva sample times as argument by settingsample_times_absolute=True.bp.protocols.plotting.saliva_plot: removed hardcoded number of plotting colors (2) when plotting data with multiple conditions (> 2)
Version 0.10.1 - Dec 01, 2023¶
Bugfixes¶
biopsykit.classification.model_selection.SklearnPipelinePermuter: fixed bug that lead to the incorrect flattening of numpy arrays not due to a newer numpy version
Version 0.10.0 - Nov 28, 2023¶
Changes¶
biopsykit.classification.model_selection.SklearnPipelinePermuter:renamed method
best_pipelinetobest_hyperparameter_pipeline. WARNING: This is a breaking change!added new method to fit classification pipelines and save intermediate results to disk (
fit_and_save_intermediate).all arguments passed to
fitandfit_and_save_intermediate(except forXandy) are from now on keyword-only arguments to avoid confusion. WARNING: This is a breaking change!merge_permuter_instancesis now a class method that accepts a list ofSklearnPipelinePermuterinstances or a list of file paths as argument instead of a method that merges oneSklearnPipelinePermuterinstance with the current instance. WARNING: This is a breaking change!added new method
update_permuterto update anSklearnPipelinePermuterinstance with new model and parameter dictionaries that can then be used to fit new pipeline permutations.
Version 0.9.0 - Apr 25, 2023¶
Changes¶
removed
biopsykit.carwatch_logsmodule for processing CARWatch log data (moved to owncarwatchpackage)
Bugfixes¶
biopsykit.classification.model_selection.SklearnPipelinePermuter: some bugfixes and improvements when computing additional classification metricsadditional bugfixes in other functions
Misc¶
code changes after switching to ruff as new linter
Version 0.8.1 - Apr 04, 2023¶
Added¶
biopsykit.classification.analysis: Added functions to analyze classification resultsbiopsykit.classification.model_selection.SklearnPipelinePermuter: Added methods to export classification metrics as latex tables, to merge to differentSklearnPipelinePermuterinstances, and to compute additional classification metrics.various new util functions
Bugfixes and Improvements¶
biopsykit.classification.model_selection.SklearnPipelinePermuter: fixing random state now works as intended and produces reproducible results for real!biopsykit.stats.StatsPipeline: Improved behaviorbiopsykit.plotting: Improved layoutminor bugfixes
Version 0.7.1 - November 30, 2022¶
Bugfixes¶
bp.io.biopac:wrong index name for dataframe export when setting parameter"index = None"
Version 0.7.0 - November 22, 2022¶
Added¶
biopsykit.io:Added functions to directly load aTimeLogger files (
biopsykit.io.load_atimelogger_file) and to convert time log files into a dictionary with start/end times (biopsykit.io.convert_time_log_dict)Added support for loading data acquired from the Biopac system (
biopsykit.io.biopac)
biopsykit.plotting: Added function to conveniently plot feature pairs (biopsykit.plotting.feature_pairplot), which is a wrapper function forseaborn.pairplot
Improvements¶
Adapted code to don’t show pandas future warnings anymore
biopsykit.plotting.hr_ensemble_plot: Added “is_relative” argument to style y-axis accordinglybiopsykit.stats.StatsPipeline: Improved latex export for different effect sizesbiopsykit.io.nilspod: Improved handling of loading NilsPods filesbiopsykit.utils.data_processing: Added support for data dicts with tuples instead of strings as keys
Bugfixes¶
some small bugfixes
Version 0.6.1 - August 19, 2022¶
Improvements¶
biopsykit.signals.ecg.EcgProcessor: improved handling of errors occurring during ECG processingbiopsykit.plotting: Improved boxplot behavior due to the use of the new light palettes offau-colors. See theStatsPipeline & Plotting Examplefor further information.
Bugfixes:¶
biopsykit.signals.imu.ActivityCounts: added timezone support (PR 31)biopsykit.signals.imu.RestPeriods: fixed bug in computing resting periods (old implementation could lead to classifying a long period of activity as the main rest period.) (PR 32)biopsykit.signals.imu.ActivityCounts: fixed bug(s) in computing activity counts (PR 33)biopsykit.stats.StatsPipeline: fixed bugs in LaTeX export of result tables
Version 0.5.1 - May 24, 2022¶
New Features¶
biopsykit.classification:SklearnPipelinePermuternow supports regression
Bugfixes¶
further small bugfixes
Version 0.5.0 - April 21, 2022¶
New Features¶
biopsykit.stats: Added new statistic features:biopsykit.stats.multicoll: Functions to handle multicollinearity in databiopsykit.stats.regression: Functions for performing more “complex” regression analysis (currently: stepwise backward multiple linear regression)
biopsykit.classification:SklearnPipelinePermuterinstances can now be saved as pickle files and imported again
Bugfixes¶
_ biopsykit.utils.time: Renamed time_to_datetime to time_to_timedelta (wrong function name)
Version 0.4.2 - March 18, 2022¶
Bugfixes¶
biopsykit.stats.StatsPipeline: Fixed bug of failing to generate significance brackets from within-subjects stats databiopsykit.protocols.plotting.saliva_plot: Fixed wrong plot styling
New Features¶
biopsykit.plotting.feature_boxplot: Addedlegend_titleparameterbiopsykit.classification.model_selection.nested_cv: Train and test indices are now saved for each fold of the nested cvbiopsykit.classification.model_selection.SklearnPipelinePermuter:Updated “scoring” and “refit” behavior
Added confusion matrix, true labels, predicted labels, train and test indices per fold and flattened
Version 0.4.1 - January 24, 2022¶
Bugfixes¶
biopsykit.signals.imu.static_moment_detection: Now returning an empty dataframe with correct column names when detecting no static momentsbiopsykit.classification.model_selection.SkleanPipelinePermuter: Pipelines are now correctly sorted by their mean test scoresbiopsykit.protocols.plotting.saliva_plot: Fixed bug when attempting to plot saliva data without sample times _biopsykit.plotting.feature_boxplots: Updated plotting color configuration: If an alpha value smaller than 1.0 is passed, the saturation is by default set to 1.0 to still have a nice color shading despite the transparencybiopsykit.protocols.TSST: Changed default TSST test time from 20 to 15 min
Version 0.4.0 - January 05, 2022¶
New Features¶
biopsykit.stats.StatsPipeline:added new functions
StatsPipeline.results_to_latex_tableandStatsPipeline.stats_to_latexto convert statistical analysis results to LaTeX tables and to inline LaTeX code, respectively.changed argument
stats_typetostats_effect_type.
WARNING: This is a breaking change! The use ofstats_typeis deprecated and will be removed in0.5.0!
biopsykit.colors: Removedbiopsykit.colorsmodule and replaced it with colors from the newfau_colorspackage.
WARNING: This is a breaking change!
Bugfixes¶
biopsykit.signals.imu.static_moment_detection: end indices of static moments are inclusive instead of exclusive
Misc¶
biopsykit.utils.array_handling: ifoverlap_percent> 1 it is converted to a fraction [0.0, 1.0]
Version 0.3.6 - December 01, 2021¶
New Features¶
biopsykit.io.ecg: Added functions to write a dictionary of dataframes to a series of csv files (and vice versa).biopsykit.classification.model_selection: Model selection now also supports to perform randomized-search instead of grid-search for hyperparameter optimization of machine learning pipelines
Bugfixes¶
biopsykit.questionnaires.psqi: Fixed bug in computing Pittsburgh Sleep Quality Index (PSQI)
Version 0.3.5 – November 05, 2021¶
Bugfixes¶
further bugfixes (incorrect handling of duplicate index values) for Sleep Analyzer import data using
biopsykit.io.sleep_analyzer.load_withings_sleep_analyzer_raw_file()
Version 0.3.4 – November 04, 2021¶
New Features¶
added function
biopsykit.utils.time.extract_time_from_filename()that can parse time information from a filenameadded function
biopsykit.metadata.gender_counts()
Bugfixes¶
fixed bug when importing Sleep Analyzer data using
biopsykit.io.sleep_analyzer.load_withings_sleep_analyzer_raw_file()biopsykit.io.load_time_log(): time log dataframes imported using this function will now have “phase” as column name
Misc¶
updated the minimum version of the
pingouindependency to 0.5.0 because it’s strongly recommended from the authors ofpingouin(https://pingouin-stats.org/changelog.html#v0-5-0-october-2021)switched from
doittopoethepoetas task runner.
Version 0.3.2 – October 12, 2021¶
final version of BioPsyKit for submission to the Journal of Open Source Software.
improved documentation (e.g., included Example Gallery)
Version 0.3.1 – October 5, 2021¶
biopsykit.utils.file_handling.get_subject_dirs(): replacedglob-style matching of regex strings byre-style matching. This allows more flexibility when filtering for directories that match a specific pattern.biopsykit.questionnaires:fixed wrong implementation of ASQ (
biopsykit.questionnaires.asq)added modified version of the ASQ (ASQ_MOD,
biopsykit.questionnaires.asq_mod) according to (Kramer et al., 2019)
implemented changes as result of JOSS submission, including:
improved handling of example data
improved interface for multi-test comparison in
StatsPipelineimproved colormap handling
new function to load dataframes in long-format (
biopsykit.io.load_long_format_csv)
Version 0.3.0 – September 1, 2021¶
initial commit