v1.0.0
PFAPACK v1.0.0
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