v1.1.3
fix bugs, add type hints, replace print with logging, expand tests
- Fix missing numpy import in readers.py (NameError at runtime)
- Remove dead code
return DATAFITin hsp_estimator.py - Fix n_spheres dispatch: classic fit now correctly routes to _classic_two_fit only when n_spheres == 2 (was >= 2)
- Fix duplicate scatter in plot_3d() (good solvents plotted twice)
- Make plot_3d(), plot_2d(), and plots() return their figure objects (plots() previously returned None despite docstring claiming otherwise)
- Replace all print() calls in library code with logging.getLogger()
- Add type hints to public API: fit, predict, transform, score, read, get, plot_3d, plot_2d, plots, and all utils/loss functions
- Improve docstrings: _binarize_labels label semantics, compute_datafit DATAFIT formula, transform RED metric, loss penalty rationale
- Make discovery walker skip modules with missing optional dependencies
- Add tests/test_hsp.py and tests/test_readers.py (18 new tests)