Releases: vignesh2027/datamend.py
Releases · vignesh2027/datamend.py
v1.1.3
Fixed
test_plugins.pyselect_dtypes"str"TypeError — plugin test used
include=["object", "str"]; changed to"string"for pandas 2.x/3.x compat.- All-null object column
fillna(None)crash —_NullDetector.fix()computed
series.mode()on all-null columns which returns[None]in pandas 2.x; calling
fillna(None)raisedValueError: Must specify a fill 'value' or 'method'.
Fixed by usingseries.dropna().mode()and skipping imputation when no non-null
reference values exist.
v1.1.2
Fixed
- Cross-platform
select_dtypesTypeError —repair.pyusedinclude=["object", "str"]
where"str"maps tonumpy.str_(rejected) in pandas 2.x. Changed to"string"
(pandasStringDtype) which works in both pandas 2.x and 3.x across Python 3.9–3.13
on Windows, macOS, and Linux. - Windows UTF-8 HTML comparison test —
test_stress.pyread HTML files without
encoding="utf-8", causing·and→to appear as mojibake on Windows (cp1252).
Now reads with explicitencoding="utf-8". - Pipeline
overall_mend_scorefloat overflow — clamped to[0.0, 100.0]via
min(100.0, max(0.0, raw))to prevent100.00000000000001assertion failures. - 131 new advanced tests added for all four pillars, CLI, cross-pillar integration,
serialisation round-trips, adversarial inputs (emoji, unicode, all-null, constant cols,
single row/col, 100k rows, boolean/datetime/wide DataFrames).
v1.1.1
Fixed
- Ruff lint compliance — removed all
ANNannotation rules from ruff config and
ran auto-fix + unsafe-fixes across all modules (integrations/,pipeline.py,
plugins/,report.py,core/__init__.py,core/contract.py,core/drift.py).
All 386 lint errors resolved;ruff check datamend/now exits clean. DriftRadar.detectsingle-arg form — when.fit(reference_df)has been called,
detect(prod_df)now correctly uses the stored reference without requiring two args.- GitHub Actions CI workflow — removed
ANNselect rules from ruff; CI lint step
now passes on Python 3.9–3.13 across Ubuntu, macOS, and Windows. - GitHub Actions publish workflow — replaced OIDC trusted publishing with
twine uploadviaPYPI_API_TOKENsecret; added artifact upload/download between
thepublishandgithub-releasejobs sodist/is available in both.