Skip to content

Tolerate batterydf main's read() signature in ws.convert - #366

Open
jsimonclark wants to merge 1 commit into
mainfrom
fix/bdf-read-lazy-compat
Open

Tolerate batterydf main's read() signature in ws.convert#366
jsimonclark wants to merge 1 commit into
mainfrom
fix/bdf-read-lazy-compat

Conversation

@jsimonclark

Copy link
Copy Markdown
Collaborator

What

_read_bdf_pandas sniffs bdf.read's signature and passes lazy=False only when the installed batterydf accepts it.

Why

batterydf main dropped the lazy= kwarg (read() is always eager; scan() is the lazy path), so ws.convert() failed with read() got an unexpected keyword argument 'lazy' against a batterydf main install. Found converting a Neware .ndax during the 0.8 publication rehearsal. Since batterydf 0.2.0 will release from main, battinfo must work with both the pinned rev and main.

How

One call site (processing.py) funnels every bdf.read use, including the interop battdat path. inspect.signature gates the kwarg; older builds keep lazy=False (their default returns a LazyFrame), newer builds get a plain call.

Testing

Full suite green against the pinned rev (2060 passed); .ndax → BDF conversion verified working against batterydf main in a clean venv. ruff clean.

batterydf main dropped the lazy= kwarg from bdf.read() (read is always
eager now; scan() is the lazy path), so ws.convert() failed with
'read() got an unexpected keyword argument lazy' against a main install.
Found converting a Neware .ndax in the 0.8 publication rehearsal.

Sniff the signature: pass lazy=False only when the installed batterydf
accepts it (older builds default to a LazyFrame and need it), omit it on
current main. Both directions verified: the pinned rev still passes the
full suite, and .ndax -> BDF conversion works against batterydf main.
@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
batt-info Ready Ready Preview Aug 26, 2026 4:16am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant