labtoolbox

LabToolbox is a collection of tools for the analysis and processing of experimental data in scientific research.

https://github.com/giusesorrentino/labtoolbox

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.2%) to scientific vocabulary

Keywords

bayesian-inference curve-fitting data-analysis-python data-visualisation error-propagation experimental-physics fourier-analysis linear-algebra open-source scientific-computing-library signal-processing statistics
Last synced: 6 months ago · JSON representation

Repository

LabToolbox is a collection of tools for the analysis and processing of experimental data in scientific research.

Basic Info
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 7
Topics
bayesian-inference curve-fitting data-analysis-python data-visualisation error-propagation experimental-physics fourier-analysis linear-algebra open-source scientific-computing-library signal-processing statistics
Created almost 2 years ago · Last pushed 8 months ago
Metadata Files
Readme License Code of conduct Citation

README.md

PyPI - Version Python Versions PyPI - Downloads License GitHub Issues GitHub Pull Requests GitHub Repo stars GitHub Forks

LabToolbox logo

LabToolbox is a Python package that provides a collection of useful tools for laboratory data analysis. It offers intuitive and optimized functions for curve fitting, uncertainty propagation, data handling, and graphical visualization, enabling a faster and more rigorous approach to experimental data processing. Designed for students, researchers, and anyone working with experimental data, it combines ease of use with methodological accuracy.

Installation

You can install LabToolbox from PyPI using pip:

bash pip install LabToolbox <!-- Alternatively, you can install the latest development version directly from GitHub:

bash pip install git+https://github.com/giusesorrentino/LabToolbox.git -->

Alternatively, you can clone the repository and install it manually:

bash git clone https://github.com/giusesorrentino/LabToolbox.git cd LabToolbox pip install .

Dependencies

LabToolbox relies on a set of well-established scientific Python libraries. When installed via pip, these dependencies are automatically handled. However, for reference or manual setup, here is the list of core dependencies:

  • numpy – fundamental package for numerical computing.
  • scipy – scientific and technical computing tools.
  • matplotlib – for plotting and data visualization.
  • statsmodels – statistical modeling and inference.
  • emcee – affine-invariant ensemble sampler for MCMC.
  • corner – corner plots for visualizing multidimensional distributions.
  • lmfit – flexible curve-fitting with parameter constraints.
  • astropy – core astronomy library for Python.

Note: Up to version 2.0.3, the package was tested and validated on Python 3.9.6. Starting from version 3.0.0, it has been tested only on Python 3.13.3. While compatibility with earlier Python versions (≥ 3.9.6) is still expected, it is no longer officially guaranteed. The minimum required version remains Python 3.9.

Library Structure

The LabToolbox package is organized into multiple submodules, each dedicated to a specific aspect of experimental data analysis:

  • LabToolbox.fit: Routines for linear and non-linear curve fitting.

  • LabToolbox.signals: Signal analysis tools tailored for laboratory experiments, featuring frequency domain analysis and post-processing of acquired data.

  • LabToolbox.stats: Statistical tools for experimental data analysis, including generation of synthetic datasets, histogram construction, outlier removal, residual analysis (normality, skewness, kurtosis), and likelihood/posterior computation for parametric models.

  • LabToolbox.uncertainty: Methods for estimating and propagating uncertainties in experimental contexts, allowing quantification of how input errors affect model outputs.

  • LabToolbox.utils: A collection of helper functions for tasks like data formatting and general-purpose utilities used throughout the package.

Documentation

Detailed documentation for all modules and functions is available in the GitHub Wiki. The wiki includes function descriptions, usage examples, and practical guidance to help you get the most out of the library.

Citation

If you use this software, please cite it using the metadata in CITATION.cff. You can also use GitHub’s “Cite this repository” feature (available in the sidebar of the repository page).

Code of Conduct

This project includes a Code of Conduct, which all users and contributors are expected to read and follow.

Additionally, the Code of Conduct contains a section titled “Author’s Ethical Requests” outlining the author's personal expectations regarding responsible and respectful use, especially in commercial or large-scale contexts. While not legally binding, these principles reflect the spirit in which this software was developed, and users are kindly asked to consider them when using the project.

Disclaimer

LabToolbox makes use of the uncertainty_class package, available on GitHub, which provides functionality for uncertainty propagation in calculations. Manual installation is not required, as it is included as a module within LabToolbox.

Some utility functions — namely my_cov, my_var, my_mean, my_line, and y_estrapolato — are adapted from the mylibsantanastasio package, originally developed by F. Santanastasio for the Laboratorio di Meccanica course at the University of Rome “La Sapienza”.

Additionally, the lin_fit and model_fit functions provide the option to visualize fit residuals. This feature draws inspiration from the VoigtFit library, with the relevant portions of code clearly annotated within the source.

Owner

  • Name: Giuseppe Sorrentino
  • Login: giusesorrentino
  • Kind: user

GitHub Events

Total
  • Delete event: 1
  • Push event: 2
  • Gollum event: 8
  • Create event: 1
Last Year
  • Delete event: 1
  • Push event: 2
  • Gollum event: 8
  • Create event: 1

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 146 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 18
  • Total maintainers: 1
pypi.org: labtoolbox

A Python package for the analysis and processing of experimental data in scientific research.

  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 146 Last month
Rankings
Dependent packages count: 9.2%
Average: 30.6%
Dependent repos count: 52.0%
Maintainers (1)
Last synced: 6 months ago