Skip to content

Commit 7216766

Browse files
authored
Adds errors asking users to install optional dependencies (#64)
* Adds safeguards for ax solvers * Adds safety guards on imports for solvers * Bumps minor version
1 parent ce09302 commit 7216766

File tree

8 files changed

+64
-17
lines changed

8 files changed

+64
-17
lines changed

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "poli-baselines"
7-
version = "1.0.0"
7+
version = "1.0.1"
88
description = "poli-baselines, a library of discrete objective optimizers"
99
readme = "README.md"
1010
authors = [{name="Miguel González-Duque", email="[email protected]"}]
@@ -94,7 +94,7 @@ markers = [
9494
profile = "black"
9595

9696
[tool.bumpversion]
97-
current_version = "1.0.0"
97+
current_version = "1.0.1"
9898
parse = """(?x)
9999
(?P<major>0|[1-9]\\d*)\\.
100100
(?P<minor>0|[1-9]\\d*)\\.

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = poli_baselines
3-
version = 1.0.0
3+
version = 1.0.1
44
author_email = [email protected]
55
description = Baselines for Discrete Sequence Optimization, focusing on proteins
66
long_description = file: readme.md

src/poli_baselines/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "1.0.0"
1+
__version__ = "1.0.1"

src/poli_baselines/core/utils/ax/ax_solver.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,18 @@
55

66
import numpy as np
77
import torch
8-
from ax.modelbridge.generation_strategy import GenerationStrategy
9-
from ax.service.ax_client import AxClient, ObjectiveProperties
8+
9+
try:
10+
from ax.modelbridge.generation_strategy import GenerationStrategy
11+
from ax.service.ax_client import AxClient, ObjectiveProperties
12+
except ImportError as e:
13+
raise ImportError(
14+
"You are trying to use a solver that requires Ax. Install "
15+
"the relevant optional dependencies with [ax] or [alebo].\n"
16+
"You can do this by running e.g. \n"
17+
"pip install 'poli-baselines[ax] @ git+https://github.com/MachineLearningLifeScience/poli-baselines.git'"
18+
) from e
19+
1020
from numpy import ndarray
1121
from poli.core.abstract_black_box import AbstractBlackBox
1222
from poli.objective_repository import ToyContinuousBlackBox

src/poli_baselines/solvers/bayesian_optimization/baxus/baxus.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,17 @@
44
from typing import List
55

66
import numpy as np
7-
from baxus.baxus import BAxUS as OriginalBAxUS
8-
from baxus.benchmarks.benchmark_function import Benchmark
7+
8+
try:
9+
from baxus.baxus import BAxUS as OriginalBAxUS
10+
from baxus.benchmarks.benchmark_function import Benchmark
11+
except ImportError as e:
12+
raise ImportError(
13+
"You are trying to use the BAxUS solver. Install "
14+
"the relevant optional dependencies with [baxus]. \n"
15+
"You can do this by running: \n"
16+
"pip install 'poli-baselines[baxus] @ git+https://github.com/MachineLearningLifeScience/poli-baselines.git'"
17+
) from e
918
from poli.core.abstract_black_box import AbstractBlackBox
1019

1120
from poli_baselines.core.abstract_solver import AbstractSolver

src/poli_baselines/solvers/bayesian_optimization/bounce/solver.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,17 @@
1010

1111
import numpy as np
1212
import torch
13-
from bounce.bounce import Bounce
13+
14+
try:
15+
from bounce.bounce import Bounce
16+
except ImportError as e:
17+
raise ImportError(
18+
"You are trying to use the Bounce solver. Install "
19+
"the relevant optional dependencies with [bounce]. \n"
20+
"You can do this by running: \n"
21+
"pip install 'poli-baselines[bounce] @ git+https://github.com/MachineLearningLifeScience/poli-baselines.git'"
22+
) from e
23+
1424
from poli.core.abstract_black_box import AbstractBlackBox
1525
from poli.core.util.seeding import seed_python_numpy_and_torch
1626

src/poli_baselines/solvers/bayesian_optimization/lambo2/solver.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,22 @@
2727
from pathlib import Path
2828
from uuid import uuid4
2929

30-
import edlib
31-
import hydra
32-
import lightning as L
30+
try:
31+
import edlib
32+
import hydra
33+
import lightning as L
34+
from beignet import farthest_first_traversal
35+
from omegaconf import OmegaConf
36+
except ImportError as e:
37+
raise ImportError(
38+
"You are trying to use the Lambo2 solver. Install "
39+
"the relevant optional dependencies with [lambo2].\n"
40+
"You can do this by running e.g. \n"
41+
"pip install 'poli-baselines[lambo2] @ git+https://github.com/MachineLearningLifeScience/poli-baselines.git'"
42+
) from e
43+
3344
import numpy as np
3445
import torch
35-
from beignet import farthest_first_traversal
36-
from omegaconf import OmegaConf
3746
from poli.core.abstract_black_box import AbstractBlackBox
3847
from poli.core.util.seeding import seed_python_numpy_and_torch
3948

src/poli_baselines/solvers/bayesian_optimization/pr/solver.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,18 @@
1111
from poli.core.abstract_black_box import AbstractBlackBox
1212

1313
from poli_baselines.core.abstract_solver import AbstractSolver
14-
from poli_baselines.core.utils.bo_pr.run_one_replication import (
15-
run_one_replication_on_poli_black_box,
16-
)
14+
15+
try:
16+
from poli_baselines.core.utils.bo_pr.run_one_replication import (
17+
run_one_replication_on_poli_black_box,
18+
)
19+
except ImportError as e:
20+
raise ImportError(
21+
"You are trying to use the Probabilistic Reparametrization solver. Install "
22+
"the relevant optional dependencies with [pr]. \n"
23+
"You can do this by running: \n"
24+
"pip install 'poli-baselines[pr] @ git+https://github.com/MachineLearningLifeScience/poli-baselines.git'"
25+
) from e
1726

1827

1928
class ProbabilisticReparametrizationSolver(AbstractSolver):

0 commit comments

Comments
 (0)