Skip to content

v1.0.0

Choose a tag to compare

@giocaizzi giocaizzi released this 03 Mar 22:03
· 38 commits to main since this release
86cffa5

v1.0.0 — Major Release

Full modernization of the project with a new typed API, performance improvements, and modern tooling.

Breaking Changes

  • Requires Python >=3.11
  • New typed API throughout (StrEnum, frozen dataclasses)
  • Removed: setup.py, requirements.txt, .flake8, pytest.ini, environment.yml, ModelWrapper

Highlights

  • Build: migrated to pyproject.toml (hatchling), uv, ruff, mkdocs-material
  • Types: StrEnum (Axis, ModelType, DownsamplingStatistic), frozen dataclasses (NormalizationParams, StandardizationParams, PreprocessingParams, GridResolution, InterpolationResult)
  • Core: GridAxis frozen dataclass, GridDataSpecs.from_dataframe(), Grid3D proper ABC, IrregularGrid3D with hull filtering, create_grid() factory
  • Models: BaseModel ABC, KrigingModel, vectorized IDWModel (~1000x speedup), SklearnModel, model registry with get_model()
  • Pipeline: typed Preprocessor, Modeler takes BaseModel, interpolate() returns Modeler, all mutable defaults fixed
  • Plotting: split into plot_3d, plot_2d, downsampling, utils modules
  • Tests: 72 pass (was 29+9 skipped), deterministic seeds, full coverage
  • CI: uv+ruff workflows, Python 3.11–3.13 matrix

What's Changed

  • Modernize project to v1.0.0 with new API and performance improvements by @giocaizzi in #57

Full Changelog: v0.4.4...v1.0.0