dgbowl / yadg

yadg: yet another datagram
https://dgbowl.github.io/yadg
GNU General Public License v3.0
36 stars 13 forks source link
batteries catalysis chromatography data-science electrochemistry parser

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 the Materials for Energy Conversion lab at Empa (Dübendorf, CH).

Capabilities:

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:

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:

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