v1.2.0
Highlights
- Fixes the dependency-resolver failure on Python 3.10+. The strict
==pins onnumpy,scipy,matplotlibanditeroundare gone; runtime deps are now declared with lower bounds only (matplotlib>=3.5,numpy>=1.21,scipy>=1.7).pip install baycomp_plottingnow resolves cleanly on Python 3.9 through 3.13 with modern numpy 2.x. - No public API changes.
Color,dens,ternkeep the same signatures and behaviour; existing code continues to work onpip install -U baycomp_plotting. - New
baycomp_plotting.__version__attribute.
Internal modernisation
- Migrated from
setup.pyto PEP 621pyproject.toml(hatchling backend). - Moved package to
src/layout. - Dropped
iteroundas a runtime dependency (largest-remainder rounding inlined). - Refactored
_add_posteriorout of nested closure scope; minor code cleanup.
Quality and CI
- New pytest suite (19 tests) covering pure helpers + image-regression of
dens/ternviapytest-mpl. - Strict deprecation/future-warning filters in
pyproject.tomlto catch future upstream breakage early. - GitHub Actions matrix: Python 3.9 / 3.10 / 3.11 / 3.12 / 3.13 on Ubuntu, plus macOS and Windows on 3.12. Weekly cron run flags upstream regressions.
- Release workflow with PyPI / TestPyPI trusted publishing.
Compatibility
Tested with numpy 2.4, scipy 1.17, matplotlib 3.10 on Python 3.13 — and across the full matrix in CI.
Install
pip install -U baycomp_plotting
Full diff: v1_1_1...v1.2.0