v0.12.0
Major Changes:
- Automated matrix-testing on Linux / Mac / Windows with Python 3.9 / 3.10 / 3.11 through GitHub Actions CLI. Core functions are tested across all of them, and badges in the README indicate test status after every code change
- Automated test coverage analysis through GitHub Actions CI and reporting through Codecov service
- Many improvements in the testing procedures and additional tests bringing the coverage up from 74% (in v0.11.0) to 86%.
- (affects backward compatibility) The models download and run functions built around MxNet, which have been deprecated for a while since v0.9.0, have been removed.
- (affects backward compatibility) Small change in the behavior of the runModels_dilute() function. Now it expects the descriptor / feature vector input "KS2022" to run the "KS2022_dilute" descriptor calculator / featurizer. This change is due to a few new featurizers being in the works, including for approximating random solid solutions and quasicrystals, and all of them will use the "KS2022" descriptor, so this will make workflows much more clear.
- Added official Python 3.11 support and tests using it.
- Added small automated benchmarking on Linux using different Python versions so that users can select one that works best. Generally, Python 3.10 is the fastest. Across all 3 featurizers (KS2022, KS2022_dilute, and Ward2017), relative to the Python 3.9 baseline, 3.10 is around 35-40% faster, while 3.11 is 25-30% faster, based on the tests in GitHub Actions CI.
Minor Changes:
- Minor bug fixes, mostly in tests, not the user code.
- The wget dependency has been removed, as we moved to the multi-threaded pySmartDL package for model download.
- Documentation updates.
Full Changelog: v0.11.0...v0.12.0