Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

DOI Documentation PyPi version Github link Github status

yet another datagram

A set of tools to extract raw data from scientific instruments into standardised DataTree in-memory objects, or into NetCDF files on disk. The resulting data is annotated with metadata, provenance information, timestamps, units, and uncertainties. Currently developed at the ConCat lab at Technische Universität Berlin (Berlin, DE), and previously at the Materials for Energy Conversion lab at Empa (Dübendorf, CH).

Capabilities:

  • Extraction of chromatography data from gas and liquid chromatograms. Supports several Agilent, EZChrom, Masshunter, and Fusion formats.
  • Extraction of electrochemical data from electrochemistry and battery cycling experiments. Supports BioLogic file formats.
  • Extraction of reflection coefficient traces from network analysers. Supports the Touchstone file format.
  • Extraction of spectroscopy files including common XPS, XRD and MS formats.
  • Extraction of tabulated data using CSV parsing functionality, including Bronkhorst and DryCal output formats.

Additionally, data from multiple files of the same type, or even of different types, can be easily and reproducibly combined into a single DataTree by using process and preset modes of yadg.

Features:

  • timezone-aware timestamp processing using Unix timestamps
  • locale-aware processing of files
  • automatic uncertainty determination using data contained in the raw files, instrument specification, or last significant digit
  • tagging of all data with units
  • annotation with processing metadata (such as provenance or extraction date) under the yadg_⋅⋅⋅ namespace
  • original metadata from the extracted files is stored under original_metadata
  • extensive dataschema validation using provided specifications

The full list of capabilities and features is listed in the project documentation.

Installation:

The released versions of yadg are available on the Python Package Index (PyPI) under yadg. Those can be installed using:

pip install yadg

If you wish to install the current development version as an editable installation, check out the main branch using git, and install yadg as an editable package using pip:

git clone git@github.com:dgbowl/yadg.git
cd yadg
pip install -e .

Additional targets yadg[testing] and yadg[docs] are available and can be specified in the above commands, if testing and/or documentation capabilities are required.

Usage:

After installing yadg, you can extract data from single files of known filetypes using:

yadg extract <filetype> <infile> [outfile]

This will write the data extracted from the infile into a NetCDF file called outfile. An example usage for BioLogic MPR files would be:

yadg extract eclab.mpr example_file.mpr output_file.nc

Alternatively, you can obtain a DataTree object in Python via:

import yadg
yadg.extractors.extract(filetype=<filetype>, path=<infile>)

More detailed usage instructions are available in the project documentation.

Contributors:

Acknowledgements

This project has received funding from the following sources:

  • European Union’s Horizon 2020 programme under grant agreement No 957189.
  • DFG's Emmy Noether Programme under grant number 490703766.

The project is also part of BATTERY 2030+, the large-scale European research initiative for inventing the sustainable batteries of the future.

Metadata

Release files for yadg 7.1rc1

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

Source distribution (sdist)

Source distribution for yadg 7.1rc1
File Size Uploaded Provenance Actions
yadg-7.1rc1.tar.gz 96.2 kB Without provenance Details for yadg-7.1rc1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for yadg 7.1rc1
File Interpreter ABI Platform Actions
yadg-7.1rc1-py3-none-any.whl Python 3 none any Details for yadg-7.1rc1-py3-none-any.whl

Total release size: 211.3 kB

Release files / yadg-7.1rc1.tar.gz

Download URL yadg-7.1rc1.tar.gz
Size 96.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1df24f9d742385f81ea6a44dfc660ef807cd95d7949f675b297fb74ee48187ac
BLAKE2b-256 checksum
How to use checksums
5161426addced5d2856f718c3fc43dd514cee32873f4a7b2df7490a553c38ec7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.9

Release files / yadg-7.1rc1-py3-none-any.whl

Download URL yadg-7.1rc1-py3-none-any.whl
Size 115.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02c14d5e32c51d328cc779494062b2002739e687ce9b6ff2373a69ae477f7426
BLAKE2b-256 checksum
How to use checksums
8c428319d6a9a6f312ea866e4a4a2daf6b80d4a46ccb26a864f66fd5614acba6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.9

Security for yadg 7.1rc1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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