Changelog

All notable changes to binlearn will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Comprehensive ReadTheDocs documentation with tutorials and examples

  • Complete API reference documentation

  • User guide with best practices and performance tips

Changed

  • Improved documentation structure and organization

[1.0.0] - 2024-XX-XX

Added

New Binning Methods: - SingletonBinning - Creates one bin per unique numeric value - SupervisedBinning - Decision tree-based supervised binning - EqualFrequencyBinning - Quantile-based equal-frequency binning - KMeansBinning - K-means clustering-based discretization - EqualWidthMinimumWeightBinning - Weight-constrained equal-width binning - ManualIntervalBinning - Custom interval boundary specification - ManualFlexibleBinning - Mixed interval and singleton bin definitions

Framework Integration: - Full scikit-learn compatibility with transformer interface - Native pandas DataFrame support with column name preservation - Polars DataFrame support (optional dependency) - NumPy array processing with optimized performance

Advanced Features: - Global configuration system for consistent behavior - Comprehensive error handling with helpful messages - Type safety with 100% mypy compliance - Flexible binning with guidance columns support - Custom bin representatives and edge specifications

Development Quality: - 100% test coverage with 841+ comprehensive tests - 100% ruff compliance for code quality - Complete type annotations for better IDE support - Extensive documentation with examples

Tools and Utilities: - BinningFeatureSelector for feature selection integration - BinningPipeline for streamlined ML workflows - make_binning_scorer for custom scoring functions - Integration utilities for ML workflows

Security

  • Input validation to prevent malicious data processing

  • Robust error handling to prevent crashes

  • Memory-safe operations for large datasets

[0.9.0] - 2024-XX-XX

Added

  • Initial beta release

  • Basic equal-width binning functionality

  • Sklearn compatibility layer

  • Pandas DataFrame support

Changed

  • Refactored codebase for better modularity

  • Improved error messages

Fixed

  • Memory leaks in large dataset processing

  • Edge cases with single-value datasets

[0.8.0] - 2024-XX-XX

Added

  • Prototype supervised binning implementation

  • Basic configuration management

  • Initial test suite

[0.7.0] - 2024-XX-XX

Added

  • Core binning infrastructure

  • Base classes for extensibility

  • Initial equal-width implementation

[0.6.0] - 2024-XX-XX

Added

  • Project initialization

  • Basic package structure

  • Development environment setup