跳转至

v0.5.6

Patch release for Pipeline validation, reject-inference model routing, ODPS upload safety, and CSV dataset comparison accuracy.

Pipeline Hardening

  • RejectInferencePipeline now supports lgb, xgb, cat, and lr consistently 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_bad and high_good scores are interpreted consistently.
  • CreditModelPipeline rejects unsupported lr_search_params before calling LRMaster.grid_search_params().
  • Feature validation and score comparison now share normalized group_specs parsing.
  • ScoreComparisonPipeline validates 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 with ParallelODPSManager.push() append/union operations.
  • np.nan, pd.NA, and NaT are converted to ODPS NULL in an upload-record copy without mutating the caller's DataFrame.
  • Schema inference preserves numeric width: pandas float32 maps to ODPS FLOAT, while float64 and nullable Float64 map to DOUBLE.
  • 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_cols so CSV columns can retain explicit datetime comparison semantics after read_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_diff from internal diff sums and valid counts instead of returning an empty value.
  • One-sided schema fields now use role="schema_only"; requested_for_compare and eligible_for_compare make 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.