Read
Auto-detects the source format and normalizes it to BDF. Works with files, URLs, and registry IDs.
bdf.read("data.mpt")Validate
Check that data conforms to the BDF specification — required columns, units, structure.
bdf.validate(df)Clean
Fix time discontinuities, remove outliers, and repair common data quality issues.
bdf.clean(df)Plot
Built-in visualization with dual axes and unit conversion. Static or interactive.
bdf.plot(df)Beyond Read & Plot
Search & Discover
Find battery datasets across registries by keyword, chemistry, capacity, or manufacturer.
# Search by keyword or capacity
results = bdf.search("graphite")
results = bdf.search(">=3 Ah")
# Read directly from results
df = bdf.read(results[0]["url"])Batch Ingest
Convert an entire folder of vendor files to BDF format in one command. Validates as it goes.
# Convert a whole directory
summary = bdf.ingest(
"data/raw/",
format="parquet"
)
print(summary["converted"])Interactive Exploration
Launch an interactive plot with zoom, pan, and tooltips. Supports Plotly backend.
bdf.explore(df,
xdata="Test Time / s",
ydata=["Voltage / V"],
backend="plotly"
)Build a Registry
Crawl a data source and build a searchable index. Makes your datasets discoverable via bdf.search().
bdf.build_registry(
"https://github.com/org/data",
registry_dir="./registry"
)Supported Equipment
batterydf auto-detects the source format. These are the equipment brands and file types currently supported.
Missing your equipment? Open an issue