Docs
BDS+Battery Archive
I already have raw cycler files. How do I prepare a clean Battery Archive-style package with BDS?
BDS+Battery Archive
Question
I already have raw cycler files. How do I prepare a clean Battery Archive-style package with BDS?
Use This When
Use this path when the goal is to publish or exchange raw cycler data together with normalized, schema-checked tables and enough provenance for another lab to reproduce the conversion.
BDS should not replace the repository's submission rules. Treat this recipe as a local packaging checklist before upload.
Convert A Directory
bds batch raw_exports battery_archive_ready \
--recursive \
--target battery-archive \
--format parquet \
--manifest battery_archive_manifest.jsonl \
--current-sign preserve \
--repair-policy repairThis creates:
- time-series Parquet files for raw cycling data;
- EIS Parquet files for impedance data detected by
detect-kind; - skipped records for helper files;
- error records for files that need a new fixture or profile.
Suggested Package Layout
dataset/
raw/
original_cycler_exports/
normalized/
cell_001.battery-archive.parquet
cell_002.battery-archive.parquet
cell_001_eis.eis.parquet
reports/
cell_001.conversion-report.json
cell_002.conversion-report.json
battery_archive_manifest.jsonl
metadata.json
README.mdKeep raw files and normalized files together. The normalized files are for search, reuse, and analysis. The raw files are the provenance anchor.
Minimal Metadata Sidecar
{
"dataset_title": "Example cycling dataset",
"source": "raw cycler exports converted with battery-data-standard",
"bds_version": "record from conversion report",
"current_sign": "preserve",
"files": [
{
"raw_path": "raw/original_cycler_exports/cell_001.mpt",
"normalized_path": "normalized/cell_001.battery-archive.parquet",
"report_path": "reports/cell_001.conversion-report.json",
"cell_id": "cell_001",
"cycler": "biologic"
}
]
}Validate Before Sharing
bds validate normalized/cell_001.battery-archive.parquet
bds validate-eis normalized/cell_001_eis.eis.parquetCompatibility Table Entry
When the package exposes a new edge case, add a local compatibility note:
| Field | Example |
|---|---|
| Cycler | BioLogic |
| Software version | EC-Lab version if known |
| Export setting | .mpt, .mpr, .csv, workbook, etc. |
| BDS adapter | biologic |
| Result | passed, repaired, skipped, or error |
| Fixture path | fixtures/community/biologic/example_name |
Known Limits
- Repository metadata requirements can be stricter than BDS metadata.
- Do not publish sensitive operator names, sample IDs, or proprietary protocols without redaction.
- If a file requires a new adapter rule, add a minimal fixture before publishing the normalized output as authoritative.