Skip to content

Commit 5045a2e

Browse files
authored
Update dependencies (#474)
1 parent fe006f6 commit 5045a2e

File tree

6 files changed

+608
-533
lines changed

6 files changed

+608
-533
lines changed

.github/workflows/tests.yml

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -49,32 +49,3 @@ jobs:
4949

5050
- name: Run tests with pytest
5151
run: uv run make test
52-
53-
ci-docs:
54-
runs-on: ubuntu-latest
55-
steps:
56-
- name: Checkout
57-
uses: actions/checkout@v4
58-
59-
- name: Set up Python
60-
uses: actions/setup-python@v5
61-
with:
62-
python-version: "3.10"
63-
64-
- name: Install uv
65-
uses: astral-sh/setup-uv@v5
66-
67-
- name: Install the project dependencies
68-
run: uv sync --group docs
69-
70-
- name: Install Pandoc
71-
uses: r-lib/actions/setup-pandoc@v2
72-
73-
- uses: actions/cache@v4
74-
name: Cache datasets
75-
with:
76-
path: ~/scikit_learn_data
77-
key: datasets
78-
79-
- name: Build documentation
80-
run: uv run make doctest

pyproject.toml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ dependencies = [
3232
"numba<1",
3333
"numpy>=1.20.0,<3",
3434
"pandas<3",
35-
"rdkit<=2024.9.5",
35+
"rdkit<=2025.3.3",
3636
"scikit-learn>=1.0.0,<2",
3737
"scipy>=1.0.0,<2",
3838
"tqdm>=4.0.0,<5"
@@ -70,11 +70,12 @@ test = [
7070
]
7171

7272
docs = [
73-
"ipython",
74-
"nbsphinx",
75-
"pydata-sphinx-theme",
76-
"sphinx",
77-
"sphinx-copybutton"
73+
"ipython",
74+
"nbsphinx",
75+
"pydata-sphinx-theme",
76+
"scikit-learn!=1.7.1", # due to scikit-learn docs issue: https://github.com/microsoft/lightgbm/issues/6978
77+
"sphinx",
78+
"sphinx-copybutton"
7879
]
7980

8081
eval = [

skfp/fingerprints/mhfp.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,7 @@ def _calculate_fingerprint(self, X: Sequence[str | Mol]) -> np.ndarray | csr_arr
189189

190190
# outputs raw hash values, not feature vectors!
191191
encoder = MHFPEncoder(self.fp_size, self.random_state)
192-
X = MHFPEncoder.EncodeSmilesBulk(
193-
encoder,
192+
X = encoder.EncodeSmilesBulk(
194193
X,
195194
radius=self.radius,
196195
min_radius=self.min_radius,

tests/fingerprints/mhfp.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -107,16 +107,13 @@ def test_mhfp_sparse_count_fingerprint(smiles_list, mols_list):
107107
assert np.all(X_skfp.data > 0)
108108

109109

110-
def test_mhfp_sparse_raw_hashes_fingerprint(smiles_list, mols_list):
110+
def test_mhfp_sparse_raw_hashes_fingerprint(smiles_list):
111111
mhfp_fp = MHFPFingerprint(variant="raw_hashes", sparse=True, n_jobs=-1)
112112
X_skfp = mhfp_fp.transform(smiles_list)
113113

114114
encoder = MHFPEncoder(2048, 0)
115-
X_rdkit = MHFPEncoder.EncodeMolsBulk(
116-
encoder,
117-
mols_list,
118-
)
119-
X_rdkit = csr_array(X_rdkit)
115+
X_rdkit = encoder.EncodeSmilesBulk(smiles_list)
116+
X_rdkit = csr_array(np.array(X_rdkit))
120117

121118
assert np.array_equal(X_skfp.data, X_rdkit.data)
122119
assert X_skfp.shape == (len(smiles_list), mhfp_fp.fp_size)

tests/preprocessing/input_output/smiles.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,31 +20,26 @@ def test_mol_to_smiles(mols_list):
2020
assert all(isinstance(x, str) for x in smiles_list)
2121

2222

23-
def test_mol_to_and_from_smiles(smiles_list):
23+
def test_mol_to_and_from_smiles(mols_list):
2424
mol_from_smiles = MolFromSmilesTransformer()
2525
mol_to_smiles = MolToSmilesTransformer()
2626

27-
mols_list = mol_from_smiles.transform(smiles_list)
28-
smiles_list_2 = mol_to_smiles.transform(mols_list)
29-
30-
assert smiles_list_2 == smiles_list
27+
smiles_list_1 = mol_to_smiles.transform(mols_list)
28+
smiles_list_2 = mol_to_smiles.transform(
29+
mol_from_smiles.transform(mol_to_smiles.transform(mols_list))
30+
)
3131

32+
assert smiles_list_1 == smiles_list_2
3233

33-
def test_parallel_to_and_from_smiles(smiles_list):
34-
mol_from_smiles_seq = MolFromSmilesTransformer()
35-
mol_from_smiles_parallel = MolFromSmilesTransformer(n_jobs=-1)
3634

35+
def test_parallel_to_and_from_smiles(mols_list):
3736
mol_to_smiles_seq = MolToSmilesTransformer()
3837
mol_to_smiles_parallel = MolToSmilesTransformer(n_jobs=-1)
3938

40-
mols_list_seq = mol_from_smiles_seq.transform(smiles_list)
41-
mols_list_parallel = mol_from_smiles_parallel.transform(smiles_list)
42-
43-
smiles_list_2_seq = mol_to_smiles_seq.transform(mols_list_seq)
44-
smiles_list_2_parallel = mol_to_smiles_parallel.transform(mols_list_parallel)
39+
smiles_list_seq = mol_to_smiles_seq.transform(mols_list)
40+
smiles_list_parallel = mol_to_smiles_parallel.transform(mols_list)
4541

46-
assert smiles_list_2_seq == smiles_list
47-
assert smiles_list_2_seq == smiles_list_2_parallel
42+
assert smiles_list_seq == smiles_list_parallel
4843

4944

5045
def test_from_invalid_smiles(smiles_list):

0 commit comments

Comments
 (0)