Skip to content

Commit 9edfa92

Browse files
authored
BUG: Raise ImportError if optional dependency speclite is not installed (#437)
1 parent f99783e commit 9edfa92

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

skypy/utils/photometry.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
]
1717

1818
try:
19-
import speclite.filters
19+
import speclite.filters # noqa F401
2020
except ImportError:
2121
HAS_SPECLITE = False
2222
else:
@@ -84,11 +84,12 @@ def mag_ab(wavelength, spectrum, filters, *, redshift=None, coefficients=None,
8484
.. [1] M. R. Blanton et al., 2003, AJ, 125, 2348
8585
8686
'''
87+
from speclite.filters import load_filters
8788

8889
# load the filters
8990
if np.ndim(filters) == 0:
9091
filters = (filters,)
91-
filters = speclite.filters.load_filters(*filters)
92+
filters = load_filters(*filters)
9293
if np.shape(filters) == (1,):
9394
filters = filters[0]
9495

skypy/utils/tests/test_photometry.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,17 @@ def __init__(self):
161161
Planck15, resolution=2)
162162
np.testing.assert_allclose(m_true, m_interp, rtol=1e-5)
163163
assert not np.all(m_true == m_interp)
164+
165+
166+
@pytest.mark.skipif(HAS_SPECLITE, reason='test requires that speclite is not installed')
167+
def test_speclite_not_installed():
168+
"""
169+
Regression test for #436
170+
Test that mag_ab raises the correct exception if speclite is not insalled.
171+
"""
172+
from skypy.utils.photometry import mag_ab
173+
wavelength = np.linspace(1, 10, 100)
174+
spectrum = np.ones(10)
175+
filter = 'bessell-B'
176+
with pytest.raises(ImportError):
177+
mag_ab(wavelength, spectrum, filter)

0 commit comments

Comments
 (0)