Skip to content

CI updates for caching#510

Merged
j-adamczyk merged 17 commits intomasterfrom
upgrade_ci_caching
Dec 29, 2025
Merged

CI updates for caching#510
j-adamczyk merged 17 commits intomasterfrom
upgrade_ci_caching

Conversation

@j-adamczyk
Copy link
Member

@j-adamczyk j-adamczyk commented Dec 27, 2025

Changes

CI updates, particularly for more efficient caching. Also covers #498 by fixing dependencies bounds.

Checklist before requesting a review

  • Docstrings added/updated in public functions and classes
  • Tests added, reasonable test coverage (at least ~90%, make test-coverage)
  • Sphinx docs added/updated and render properly (make docs and see docs/_build/index.html)

@j-adamczyk j-adamczyk changed the title Try to simplify Python path CI updates for caching Dec 27, 2025
@j-adamczyk j-adamczyk marked this pull request as ready for review December 28, 2025 10:48
my-alaska
my-alaska previously approved these changes Dec 28, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates CI infrastructure for more efficient caching and addresses dependency bound issues (issue #498). The changes include upgrading package versions, removing unused dependencies, updating NumPy API calls for compatibility, and improving the GitHub Actions caching strategy.

Key Changes

  • Updated dependency version constraints to be more specific (numpy >=1.26.4, pandas >=1.5.3, scikit-learn >=1.6.0, scipy >=1.12.0, rdkit >=2023.9.6)
  • Removed numba and llvmlite dependencies (verified unused in codebase)
  • Updated test code to use current NumPy API (np.issubdtype instead of deprecated np.isdtype, np.bool_ instead of np.bool)
  • Improved CI caching to use dataset file hashes as cache keys instead of generic "datasets" key
  • Added backward compatibility for root_mean_squared_error in older scikit-learn versions

Reviewed changes

Copilot reviewed 18 out of 20 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pyproject.toml Updated dependency bounds with more specific minimum versions; removed setuptools and numba dependencies
uv.lock Updated package versions including numpy 2.3.5→2.4.0, librt 0.7.4→0.7.5, mistune 3.1.4→3.2.0, nbclient 0.10.3→0.10.4, psutil 7.1.3→7.2.0, pyparsing 3.2.5→3.3.1; removed numba and llvmlite
tests/fingerprints/getaway.py Limited test dataset size to 30 items to reduce computation time
tests/distances/common.py Made scipy sparse class assertion more flexible to handle version differences
tests/applicability_domain/*.py Updated NumPy API calls from np.isdtype(x, np.bool) to np.issubdtype(x, np.bool_) across multiple test files
tests/applicability_domain/distance_to_centroid.py Fixed test function names from test_knn_* to test_distance_to_centroid_*
skfp/metrics/multioutput.py Added try/except import for root_mean_squared_error with fallback for older scikit-learn versions
skfp/distances/tanimoto.py Removed obsolete Numba-related comment
ruff.toml Added target-version configuration and reordered ignore list
benchmarking/benchmark.py Added strict=False to zip() calls for Python 3.10+ compatibility
Makefile Minor whitespace cleanup
.github/workflows/tests.yml Improved caching strategy using dataset file hashes as cache key and simplified venv setup

@j-adamczyk j-adamczyk merged commit e26f390 into master Dec 29, 2025
13 checks passed
@j-adamczyk j-adamczyk deleted the upgrade_ci_caching branch December 29, 2025 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants