Skip to content

v1.0.2

Latest
Compare
Choose a tag to compare
@basnijholt basnijholt released this 04 Dec 23:47
· 1 commit to main since this release
562c1c2

PFAPACK v1.0.2

(v1.0.0 wasn't properly tested and resulted in broken MacOS and Windows builds, this is fixed in version 1.0.1)
(v1.0.1's version string wasn't properly set, v1.0.2 fixes that)

This is a major release that modernizes the build system and package structure while maintaining the same functionality. The main changes are focused on improving the build process, testing, and maintainability.

Major Changes

  • Switched to meson-python for building the C and Fortran code
  • Added support for Python 3.9-3.13
  • Included the original source code from Michael Wimmer's website for better transparency and reproducibility
  • Modernized the package structure to use pyproject.toml instead of setup.py

Build System Improvements

  • Added proper wheel building using pypa/cibuildwheel
  • Improved OpenBLAS detection and linking
  • Added support for different BLAS implementations:
    • OpenBLAS on Linux
    • Accelerate framework on macOS
    • OpenBLAS on Windows (via MSYS2)

CI/CD Improvements

  • Added comprehensive GitHub Actions workflows for:
    • Building wheels for all supported platforms
    • Running tests across multiple Python versions
    • Code quality checks using pre-commit
  • Added Mend Renovate bot for automated dependency updates
  • Improved test coverage reporting

Development Tools

  • Switched to Ruff for linting and formatting
  • Added pre-commit hooks for code quality
  • Improved development documentation

Requirements

  • Python >=3.9
  • C and Fortran compilers
  • BLAS/LAPACK implementation

Breaking Changes

  • Dropped support for Python 3.8 and below
  • Removed support for 32-bit builds

The package is now available on PyPI and can be installed with:

pip install pfapack