Skip to content

E2: remove ICA deprecation shims (#714) - #742

Merged
jepegit merged 1 commit into
masterfrom
714-remove-ica-shims
Jul 27, 2026
Merged

E2: remove ICA deprecation shims (#714)#742
jepegit merged 1 commit into
masterfrom
714-remove-ica-shims

Conversation

@jepegit

@jepegit jepegit commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Epic E, arc E2 (#714) — remove ICA shims

Removes every ICA shim marked removal: 2.1 in DEPRECATIONS.md.

Removed

  • 1.x standalone surface: Converter, dqdv_cycle, dqdv_cycles, dqdv_np (+ their _impl / legacy-split machinery) — deleted the whole "deprecated 1.x surface" section of cellpy/ica.py.
  • Legacy dqdv kwargs: cycle= / split= / tidy= / label_direction= routing (_pop_legacy_dqdv_kwargs / _legacy_dqdv). dqdv now always returns the specced long frame via _transform_all.
  • The duplicate dq column: dropped IcaCols.legacy_dqdv and the three places that referenced it (_transform_all, _empty_frame, and the ICA plotting-prepare). The frame is now cycle/direction/voltage/capacity/dqdv.

Updated __all__ (ica.py + the utils/ica.py re-export shim), trimmed the E2 rows from the _deprecation seed, regenerated DEPRECATIONS.md.

Tests

The entire ICA golden suite (ICA_GOLDEN_CASES / test_ica_goldens.py / the 8 tests/data/goldens/ica_dqdv_* oracles) existed only to pin the deprecated 1.x numbers bit-for-bit, so it was removed; ica_golden_support.py is trimmed to the shared load_golden_cell (still used by the curve goldens + figure specs), and dev/regenerate_goldens.py drops the ICA regen. Rewrote test_ica.py onto the modern specced API and fixed the dq-column expectations in test_ica_api.py / test_ica_plot_prepare.py.

The modern transform_half_cycle numeric oracle in test_ica_api.py is the remaining ICA regression net; collect_ica (Epic B) stays green — it never required the dq column. Local sweep (ICA/collect/plotting, Agg backend): 230 passed.

Closes #714

Remove every ICA shim marked removal:2.1 in DEPRECATIONS.md:

- The 1.x standalone surface: `Converter`, `dqdv_cycle`, `dqdv_cycles`,
  `dqdv_np` (and their `_impl`/legacy-split machinery) -- deleted the whole
  "deprecated 1.x surface" section of cellpy/ica.py.
- The legacy `dqdv(cycle=/split=/tidy=/label_direction=)` keyword routing
  (`_pop_legacy_dqdv_kwargs` / `_legacy_dqdv`); `dqdv` now always returns the
  specced long frame via `_transform_all`.
- The duplicate `dq` output column: dropped `IcaCols.legacy_dqdv` and the two
  places (`_transform_all`, `_empty_frame`) that appended it, plus the drop in
  the ICA plotting-prepare. The frame is now `cycle/direction/voltage/capacity/
  dqdv` (dvdq unchanged).

Updated `__all__` in cellpy/ica.py and the cellpy/utils/ica.py re-export shim,
trimmed the E2 rows from the `_deprecation` seed, and regenerated
DEPRECATIONS.md.

Tests: the entire ICA golden suite (`ICA_GOLDEN_CASES` / `test_ica_goldens.py`
/ the 8 `tests/data/goldens/ica_dqdv_*` oracles) existed only to pin the
deprecated 1.x numbers bit-for-bit, so it was removed; `ica_golden_support.py`
is trimmed to the shared `load_golden_cell`. `dev/regenerate_goldens.py` drops
the ICA regen. Rewrote `test_ica.py` onto the modern specced API and fixed the
`dq`-column expectations in `test_ica_api.py` / `test_ica_plot_prepare.py`. The
modern `transform_half_cycle` numeric oracle in test_ica_api.py is the
remaining ICA regression net; `collect_ica` (Epic B) stays green (it never
required the `dq` column).

Closes #714

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cursor

cursor Bot commented Jul 27, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@jepegit
jepegit enabled auto-merge (squash) July 27, 2026 09:43
@jepegit
jepegit merged commit a2026ab into master Jul 27, 2026
7 of 8 checks passed
@jepegit
jepegit deleted the 714-remove-ica-shims branch July 27, 2026 09:45
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.

E2: remove ICA shims (Converter, dqdv kwargs, dqdv_cycle/np, dq column)

1 participant