Improved Parallelism via joblib and software development flow improvements
Parallel Execution Improvements & API Changes
The codebase has been updated to improve parallel execution, now handled via joblib. This migration simplifies the underlying implementation, enhances robustness, and significantly improves performance, especially on Windows, reducing test run times from approximately 7 minutes to 1.5 minutes.
**API Change:**
The parallel argument has been replaced with n_jobs to align with scikit-learn’s API.
If you previously used parallel=True, update your code to n_jobs=-1 to utilize all available cores.
Note: n_jobs now only accepts integer values—boolean values are no longer supported.
**Bug Fix:**
Resolved a potential issue with safe_inference during parallel executions.
**Other Updates:**
Python 3.8 is deprecated as it is no longer supported.
Migrated to uv and hatchling for build and dependency management. See CONTRIBUTING.md for details.
Added plotting.py for parallel benchmark visualization and updated Notebook 7 with new benchmarks.
What's Changed
* Migration to joblib + new build system + separate reusable publish workflow by asiomchen in https://github.com/EBjerrum/scikit-mol/pull/58
**Full Changelog**: https://github.com/EBjerrum/scikit-mol/compare/v0.4.5...v0.4.6