Skip to main content

piblin

A Framework for Measurement Data Science

PyPI Downloads Python 3.10 | 3.11 | 3.12 | 3.13 Tests: pytest License: MIT

Overview

The piblin package is based on a number of abstractions related to the collection and analysis of scientific data. Its fundamental concept is the Dataset, a mapping between independent and dependent variables as typically obtained as the result of applying a scientific measurement technique to a physical sample. The dimensionality of these datasets provides a simple approach to classifying them.

Beyond differences in dimensionality, specific types of dataset are defined which allow for customization of the behaviour of piblin for data collected by specific techniques. For example, the Spectrum and its many subtypes allow appropriate visualization of datasets specific to given spectroscopic techniques.

Building on the dataset concept, scientific measurements are often discussed in terms of a hierarchy of measurements, experiments and projects, and this provides a natural language for collecting, editing and analyzing scientific data. The piblin package organizes datasets via the concept of a Measurement, which joins a set of conditions and details with corresponding datasets. Sets of measurements can be organized into Experiment objects, which collect multiple measurements with the same conditions into sets of repetitions, allowing for statistical analysis of variation among them. All of this organization is automatic, and can be controlled by direct and simple editing of the metadata of measurements. Hierarchically organized data can also be flattened for use in machine-learning applications, and flat data can be converted into hierarchical data in turn.

The final fundamental concept for performing data analytics on experimental datasets is the Transform. This is a procedure which takes data as input and produces altered data as output. For example a spectroscopic dataset may be integrated over a region to yield the area under a peak, a transformation from a 1D dataset to a scalar value. The set of transforms is infinite and piblin provides some general and some specific classes that provide typical functionality. As for file reading, the package makes it as easy as possible to add a new transform, and a tutorial is included.

Datasets

Organizing independent and dependent data.

A dataset collects points: pairs of dependent and independent variable values,

$$y = f(\mathbf{x}).$$

The set of points for a dataset of dimensionality $n$ can be given a more detailed definition,

$$\mathcal{P} = {,(\mathbf{x}, y) \in {(x_0, x_1, \ldots, x_n) \in \mathbb{R}^n} \times {y \in \mathbb{R}},},$$

where the dimensionality $n$ is the number of independent variables for each point. Datasets are essentially context-free objects: they carry the numerical relationship $y = f(\mathbf{x})$ without any assumption about the physical technique that produced them. Context — sample identity, instrument conditions, processing history — is attached at the Measurement level, one layer up.

Metadata

Release files for piblin 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for piblin 0.0.3
File Size Uploaded
piblin-0.0.3.tar.gz 143.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for piblin 0.0.3
File Interpreter ABI Platform
piblin-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 322.2 kB

Release files / piblin-0.0.3.tar.gz

Download URL piblin-0.0.3.tar.gz
Size 143.6 kB
Tags Source
SHA-256 checksum
How to use checksums
349aecec481afa39496680bd74dc530cbd04ecf57434959622ced67600d1b9eb
BLAKE2b-256 checksum
How to use checksums
4baa7b10cc0c5286b4d87d57b738232c476bbe04a64deeee5cf879bb3af5f665
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release files / piblin-0.0.3-py3-none-any.whl

Download URL piblin-0.0.3-py3-none-any.whl
Size 178.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6a3ff75d6371f8513459749cc2a0035f68d46369f2111580d7d19acdcd1264bd
BLAKE2b-256 checksum
How to use checksums
5989504801d177ec105c49cad62b4c507f31a5617a71ff0f09fc555bde5f3202
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.17

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page