Skip to content

Commit 9583ae3

Browse files
committed
Switch AlignmentError -> ValueError
1 parent 8295f7d commit 9583ae3

File tree

8 files changed

+11
-16
lines changed

8 files changed

+11
-16
lines changed

doc/api.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,6 @@ Exceptions
485485
.. autosummary::
486486
:toctree: generated/
487487

488-
AlignmentError
489488
MergeError
490489

491490
Advanced API

doc/whats-new.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ Enhancements
130130
`Vincent Noel <https://github.com/vnoel>`_.
131131

132132
- :py:func:`~xarray.align` now supports ``join='exact'``, which raises
133-
:py:class:`~xarray.AlignmentError` instead of aligning when indexes to be
133+
:py:class:`~xarray.ValueError` instead of aligning when indexes to be
134134
aligned are not equal.
135135
By `Stephan Hoyer <https://github.com/shoyer>`_.
136136

xarray/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from __future__ import absolute_import
33
from __future__ import division
44
from __future__ import print_function
5-
from .core.alignment import AlignmentError, align, broadcast, broadcast_arrays
5+
from .core.alignment import align, broadcast, broadcast_arrays
66
from .core.common import full_like, zeros_like, ones_like
77
from .core.combine import concat, auto_combine
88
from .core.extensions import (register_dataarray_accessor,

xarray/core/alignment.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@
1515
from .variable import Variable, IndexVariable
1616

1717

18-
class AlignmentError(Exception):
19-
"""Error for when an operation cannot be done with non-aligned objects."""
20-
21-
2218
def _get_joiner(join):
2319
if join == 'outer':
2420
return functools.partial(functools.reduce, operator.or_)
@@ -62,8 +58,8 @@ def align(*objects, **kwargs):
6258
- 'inner': use the intersection of object indexes
6359
- 'left': use indexes from the first object with each dimension
6460
- 'right': use indexes from the last object with each dimension
65-
- 'exact': raise `xarray.AlignmentError` instead of aligning when
66-
indexes to be aligned are not equal
61+
- 'exact': instead of aligning, raise `ValueError` when indexes to be
62+
aligned are not equal
6763
copy : bool, optional
6864
If ``copy=True``, data in the return values is always copied. If
6965
``copy=False`` and reindexing is unnecessary, or can be performed with
@@ -131,7 +127,7 @@ def align(*objects, **kwargs):
131127
for other in matching_indexes[1:]) or
132128
dim in unlabeled_dim_sizes):
133129
if join == 'exact':
134-
raise AlignmentError(
130+
raise ValueError(
135131
'indexes along dimension {!r} are not equal'
136132
.format(dim))
137133
index = joiner(matching_indexes)

xarray/core/computation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -599,8 +599,8 @@ def apply_ufunc(func, *args, **kwargs):
599599
- 'inner': use the intersection of object indexes
600600
- 'left': use indexes from the first object with each dimension
601601
- 'right': use indexes from the last object with each dimension
602-
- 'exact': raise `xarray.AlignmentError` instead of aligning when
603-
indexes to be aligned are not equal
602+
- 'exact': raise `ValueError` instead of aligning when indexes to be
603+
aligned are not equal
604604
dataset_join : {'outer', 'inner', 'left', 'right'}, optional
605605
Method for joining variables of Dataset objects with mismatched
606606
data variables.

xarray/core/ops.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ def fillna(data, other, join="left", dataset_join="left"):
133133
- 'inner': use the intersection of object indexes
134134
- 'left': use indexes from the first object with each dimension
135135
- 'right': use indexes from the last object with each dimension
136-
- 'exact': raise `xarray.AlignmentError` instead of aligning when
137-
indexes to be aligned are not equal
136+
- 'exact': raise `ValueError` instead of aligning when indexes to be
137+
aligned are not equal
138138
dataset_join : {'outer', 'inner', 'left', 'right'}, optional
139139
Method for joining variables of Dataset objects with mismatched
140140
data variables.

xarray/tests/test_dataset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1251,7 +1251,7 @@ def test_align_exact(self):
12511251
self.assertDatasetIdentical(left1, left)
12521252
self.assertDatasetIdentical(left2, left)
12531253

1254-
with self.assertRaises(xr.AlignmentError):
1254+
with self.assertRaisesRegexp(ValueError, 'indexes .* not equal'):
12551255
xr.align(left, right, join='exact')
12561256

12571257
def test_align_exclude(self):

xarray/tests/test_merge.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def test_merge_error(self):
6666
def test_merge_alignment_error(self):
6767
ds = xr.Dataset(coords={'x': [1, 2]})
6868
other = xr.Dataset(coords={'x': [2, 3]})
69-
with self.assertRaises(xr.AlignmentError):
69+
with self.assertRaisesRegexp(ValueError, 'indexes .* not equal'):
7070
xr.merge([ds, other], join='exact')
7171

7272
def test_merge_no_conflicts_single_var(self):

0 commit comments

Comments
 (0)