-
Notifications
You must be signed in to change notification settings - Fork 69
Description
Summary
This PR bumps the version from 0.5.1 to 0.5.2 to prepare for a PyPI release that includes the critical scikit-learn 1.6+ compatibility fix.
Problem
The current PyPI release (v0.5.1, February 2024) contains deprecated force_all_finite parameters that cause TypeError with scikit-learn 1.8+:
TypeError: check_array() got an unexpected keyword argument 'force_all_finite'.
Did you mean 'ensure_all_finite'?
Fix Status
The fix was committed on January 21, 2025 (commit de933d2) by @sateeshm and merged by @desilinguist. The fix:
Replaced all force_all_finite with ensure_all_finite in factor_analyzer.py and confirmatory_factor_analyzer.py
Updated requirements to scikit-learn>=1.6.0
The fix exists in main but has never been released to PyPI (7+ months).
User Impact
Users with scikit-learn 1.8+ cannot use factor_analyzer from PyPI. They must use the workaround:
pip install git+https://github.com/EducationalTestingService/factor_analyzer.git
Related Issues
#147 - "Factor_analyzer now is broken" (Jan 13, 2026)
#142 - "Push changes to pypi" (Jun 7, 2025) - no maintainer response
#145 - FutureWarning still present in PyPI version
What This PR Does
Bumps version from 0.5.1 to 0.5.2 in setup.py
What Needs to Happen Next
After this PR is merged, a maintainer needs to:
Create a GitHub release:
git tag -a v0.5.2 -m "Release v0.5.2 - scikit-learn 1.8+ compatibility"
git push origin v0.5.2
Build and publish to PyPI:
python -m build
python -m twine upload dist/*
Files Changed
setup.py: Version bump from 0.5.1 to 0.5.2
Testing
Tested with:
Python 3.14
scikit-learn 1.8.0
Installation from GitHub main branch works correctly
Code Change
In setup.py, change line 35:
OLD
version="0.5.1"
NEW
version="0.5.2"
Note for maintainers: If you need help with the PyPI release process or don't have publish access anymore, please let the community know. Several users have offered to help test and assist with the release.