v0.5.6¶
Patch release for Pipeline validation, reject-inference model routing, ODPS upload safety, and CSV dataset comparison accuracy.
Pipeline Hardening¶
RejectInferencePipelinenow supportslgb,xgb,cat, andlrconsistently for both pre-score and RI model training, with model-specific default parameters and aliases.- Reject-inference summaries now expose both raw and score-direction-adjusted pre-score AUC, so
high_badandhigh_goodscores are interpreted consistently. CreditModelPipelinerejects unsupportedlr_search_paramsbefore callingLRMaster.grid_search_params().- Feature validation and score comparison now share normalized
group_specsparsing. ScoreComparisonPipelinevalidates cross metrics and pairwise aggregation mappings, skips unavailable optional default metrics, and writes duplicate-label cross-risk results to Excel safely.- Pipeline GUI metadata and sample-analysis result contracts were aligned with the actual runtime outputs.
ODPS Upload Safety¶
- Atomic table and partition renames now use blocking ODPS DDL.
upload_df()does not return before the target table is visible, removing the race withParallelODPSManager.push()append/union operations. np.nan,pd.NA, andNaTare converted to ODPSNULLin an upload-record copy without mutating the caller's DataFrame.- Schema inference preserves numeric width: pandas
float32maps to ODPSFLOAT, whilefloat64and nullableFloat64map toDOUBLE. - Integer, boolean, datetime, string, object, and categorical dtypes now have explicit mappings; unsupported complex and timedelta dtypes raise a clear error.
ProcCompare Accuracy¶
- Added
ProcCompareConfig.datetime_colsso CSV columns can retain explicit datetime comparison semantics afterread_csv()produces object dtype. - Per-column datetime declarations and conservative global datetime probing now use the same tolerance behavior across DataFrame, sequential, thread, and process CSV modes.
- CSV partition aggregation now calculates
mean_difffrom internal diff sums and valid counts instead of returning an empty value. - One-sided schema fields now use
role="schema_only";requested_for_compareandeligible_for_comparemake requested and actual comparison scope explicit.
Validation¶
- Full local pytest suite:
616 passed. - Source package verification and wheel/sdist build passed.
- Documentation passed
mkdocs build --strict. - Python 3.11 and 3.12 CI passed across legacy, modern, and bleeding dependency sets before the version bump.