Python Package for Simple BDF Operations

Thinking about a small, no-frills Python tool to help people use the Battery Data Format:

  • Convert to/from BDF

  • Visualize a couple of standard quick-look plots

  • Publish a simple, valid BDF bundle

Keep it tiny (CLI + minimal API, few deps). Would this be useful? If there’s interest, I can spin up a starter repo to iterate together or put it into the existing battery-data-format repo.

1 Like

started a branch for it here: GitHub - battery-data-alliance/battery-data-format at feat-python-packagee

A CLI that validates a bundle before publishing would make this especially useful: conversion can succeed while metadata or file layout is still invalid. I’d include one tiny input/output example for each supported conversion and a round-trip test, so users can see what information is preserved or lost.

A bdf validate command would be useful alongside conversion and plotting, especially if it reports the exact file and field that needs fixing. That gives people a way to check a bundle before publishing it, without needing to understand the package’s API.

I’d make validation a first-class command alongside conversion: check required fields, units, metadata, and bundle layout, then return actionable errors before anything is published. For conversions, a machine-readable report of fields dropped or inferred would prevent a syntactically valid output from being mistaken for a lossless one. A tiny fixture-based test set would help keep the CLI behavior stable.

A validator would make this especially useful: check required metadata, units, and bundle structure before publishing, then report actionable errors. For conversion, preserving provenance and making losses explicit would matter as much as producing a readable file. That gives users a clear first workflow to test.