Skip to content

Commit

Permalink
feat: export error classes (#2613)
Browse files Browse the repository at this point in the history
* chore: note files that support TID251

* feat: export error classes

* test: fix test
  • Loading branch information
agoose77 authored Aug 7, 2023
1 parent 089f843 commit 65fbfb6
Show file tree
Hide file tree
Showing 28 changed files with 49 additions and 36 deletions.
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,8 @@ mccabe.max-complexity = 100
[tool.ruff.per-file-ignores]
"dev/*" = ["T20", "TID251"]
"src/awkward/numba/*" = ["TID251"]
"src/awkward/_errors.py" = ["TID251"]
"src/awkward/errors.py" = ["TID251"]
"src/awkward/_connect/*" = ["TID251"]
"src/awkward/__init__.py" = ["E402", "F401", "F403", "I001"]
"src/awkward/operations/__init__.py" = ["F403"]
Expand Down
7 changes: 5 additions & 2 deletions src/awkward/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
import awkward.record
import awkward.types
import awkward.forms

# internal
import awkward._do
import awkward._slicing
import awkward._broadcasting
import awkward._reducers

# internal
import awkward._util
import awkward._errors
import awkward._lookup
Expand All @@ -44,6 +44,9 @@
import awkward.builder
import awkward.forth

# errors
import awkward.errors

behavior: dict = {}

# operations
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/_do.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@

import awkward as ak
from awkward._backends.backend import Backend
from awkward._errors import AxisError
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._typing import Any, AxisMaybeNone, Literal
from awkward.contents.content import ActionType, Content
from awkward.errors import AxisError
from awkward.forms import form
from awkward.record import Record

Expand Down
9 changes: 1 addition & 8 deletions src/awkward/_errors.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from collections.abc import Callable, Collection, Iterable, Mapping
from functools import wraps

import numpy # noqa: TID251
import numpy

from awkward._nplikes.numpylike import NumpyMetadata
from awkward._typing import Any, TypeVar
Expand Down Expand Up @@ -420,13 +420,6 @@ def deprecate(
warnings.warn(warning, category, stacklevel=stacklevel + 1)


class FieldNotFoundError(IndexError):
...


AxisError = numpy.AxisError


T = TypeVar("T", bound=Callable)


Expand Down
2 changes: 1 addition & 1 deletion src/awkward/_layout.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

from awkward._backends.numpy import NumpyBackend
from awkward._behavior import behavior_of
from awkward._errors import AxisError
from awkward._nplikes.dispatch import nplike_of
from awkward._nplikes.jax import Jax
from awkward._nplikes.numpy import Numpy
from awkward._nplikes.numpylike import NumpyMetadata
from awkward.errors import AxisError

np = NumpyMetadata.instance()
numpy = Numpy.instance()
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/contents/bytemaskedarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

import awkward as ak
from awkward._backends.backend import Backend
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis
from awkward._nplikes.numpy import Numpy
from awkward._nplikes.numpylike import ArrayLike, IndexType, NumpyMetadata
Expand All @@ -23,6 +22,7 @@
from awkward._typing import TYPE_CHECKING, Callable, Final, Self, SupportsIndex, final
from awkward._util import UNSET
from awkward.contents.content import Content
from awkward.errors import AxisError
from awkward.forms.bytemaskedform import ByteMaskedForm
from awkward.forms.form import Form
from awkward.index import Index
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/contents/emptyarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
from awkward._backends.backend import Backend
from awkward._backends.numpy import NumpyBackend
from awkward._backends.typetracer import TypeTracerBackend
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis
from awkward._nplikes.numpy import Numpy
from awkward._nplikes.numpylike import ArrayLike, IndexType, NumpyMetadata
Expand All @@ -17,6 +16,7 @@
from awkward._typing import TYPE_CHECKING, Callable, Final, Self, SupportsIndex, final
from awkward._util import UNSET
from awkward.contents.content import Content
from awkward.errors import AxisError
from awkward.forms.emptyform import EmptyForm
from awkward.forms.form import Form
from awkward.index import Index
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/contents/indexedarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

import awkward as ak
from awkward._backends.backend import Backend
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis
from awkward._nplikes.numpy import Numpy
from awkward._nplikes.numpylike import ArrayLike, IndexType, NumpyMetadata
Expand All @@ -22,6 +21,7 @@
from awkward._typing import TYPE_CHECKING, Callable, Final, Self, SupportsIndex, final
from awkward._util import UNSET
from awkward.contents.content import Content
from awkward.errors import AxisError
from awkward.forms.form import Form
from awkward.forms.indexedform import IndexedForm
from awkward.index import Index
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/contents/indexedoptionarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

import awkward as ak
from awkward._backends.backend import Backend
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis
from awkward._nplikes.numpy import Numpy
from awkward._nplikes.numpylike import ArrayLike, IndexType, NumpyMetadata
Expand All @@ -22,6 +21,7 @@
from awkward._typing import TYPE_CHECKING, Callable, Final, Self, SupportsIndex, final
from awkward._util import UNSET
from awkward.contents.content import Content
from awkward.errors import AxisError
from awkward.forms.form import Form
from awkward.forms.indexedoptionform import IndexedOptionForm
from awkward.index import Index
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/contents/listoffsetarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

import awkward as ak
from awkward._backends.backend import Backend
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis
from awkward._nplikes.numpy import Numpy
from awkward._nplikes.numpylike import ArrayLike, IndexType, NumpyMetadata
Expand All @@ -20,6 +19,7 @@
from awkward._typing import TYPE_CHECKING, Callable, Final, Self, SupportsIndex, final
from awkward._util import UNSET
from awkward.contents.content import Content
from awkward.errors import AxisError
from awkward.forms.form import Form
from awkward.forms.listoffsetform import ListOffsetForm
from awkward.index import Index, Index64
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/contents/numpyarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
from awkward._backends.dispatch import backend_of
from awkward._backends.numpy import NumpyBackend
from awkward._backends.typetracer import TypeTracerBackend
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis
from awkward._nplikes import to_nplike
from awkward._nplikes.jax import Jax
Expand All @@ -26,6 +25,7 @@
from awkward._typing import TYPE_CHECKING, Callable, Final, Self, SupportsIndex, final
from awkward._util import UNSET
from awkward.contents.content import Content
from awkward.errors import AxisError
from awkward.forms.form import Form
from awkward.forms.numpyform import NumpyForm
from awkward.index import Index
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/contents/recordarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
from awkward._backends.numpy import NumpyBackend
from awkward._backends.typetracer import TypeTracerBackend
from awkward._behavior import find_record_reducer
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpy import Numpy
from awkward._nplikes.numpylike import ArrayLike, IndexType, NumpyMetadata
Expand All @@ -24,6 +23,7 @@
from awkward._typing import TYPE_CHECKING, Callable, Final, Self, SupportsIndex, final
from awkward._util import UNSET
from awkward.contents.content import Content
from awkward.errors import AxisError
from awkward.forms.form import Form
from awkward.forms.recordform import RecordForm
from awkward.index import Index
Expand Down
3 changes: 2 additions & 1 deletion src/awkward/contents/unionarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import awkward as ak
from awkward._backends.backend import Backend
from awkward._errors import AxisError, deprecate
from awkward._errors import deprecate
from awkward._layout import maybe_posaxis
from awkward._nplikes.numpy import Numpy
from awkward._nplikes.numpylike import ArrayLike, IndexType, NumpyMetadata
Expand All @@ -20,6 +20,7 @@
from awkward._typing import TYPE_CHECKING, Callable, Final, Self, SupportsIndex, final
from awkward._util import UNSET
from awkward.contents.content import Content
from awkward.errors import AxisError
from awkward.forms.form import Form
from awkward.forms.unionform import UnionForm
from awkward.index import Index, Index8, Index64
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/contents/unmaskedarray.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import awkward as ak
from awkward._backends.backend import Backend
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis
from awkward._nplikes.numpy import Numpy
from awkward._nplikes.numpylike import ArrayLike, IndexType, NumpyMetadata
Expand All @@ -23,6 +22,7 @@
from awkward._typing import TYPE_CHECKING, Callable, Final, Self, SupportsIndex, final
from awkward._util import UNSET
from awkward.contents.content import Content
from awkward.errors import AxisError
from awkward.forms.form import Form
from awkward.forms.unmaskedform import UnmaskedForm
from awkward.index import Index
Expand Down
13 changes: 13 additions & 0 deletions src/awkward/errors.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# BSD 3-Clause License; see https://github.com/scikit-hep/awkward-1.0/blob/main/LICENSE
from __future__ import annotations

__all__ = ("FieldNotFoundError", "AxisError")

import numpy


class FieldNotFoundError(IndexError):
...


AxisError = numpy.AxisError
3 changes: 2 additions & 1 deletion src/awkward/forms/recordform.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from awkward._regularize import is_integer
from awkward._typing import JSONSerializable, final
from awkward._util import UNSET
from awkward.errors import FieldNotFoundError
from awkward.forms.form import Form


Expand Down Expand Up @@ -119,7 +120,7 @@ def field_to_index(self, field):
pass
else:
return i
raise ak._errors.FieldNotFoundError(
raise FieldNotFoundError(
"no field {} in record with {} fields".format(
repr(field), len(self._contents)
)
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_cartesian.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
from awkward._backends.numpy import NumpyBackend
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()
cpu = NumpyBackend.instance()
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_drop_none.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
__all__ = ("drop_none",)
import awkward as ak
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()

Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_fill_none.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
from awkward._backends.numpy import NumpyBackend
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import is_sized_iterable, regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()
cpu = NumpyBackend.instance()
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_firsts.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import awkward as ak
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import is_integer, regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()

Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_from_regular.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import awkward as ak
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()

Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_is_none.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import awkward as ak
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import is_integer, regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()

Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_merge_option_of_records.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
from awkward._backends.numpy import NumpyBackend
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()
cpu = NumpyBackend.instance()
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_merge_union_of_records.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
from awkward._backends.numpy import NumpyBackend
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import ArrayLike, NumpyMetadata
from awkward._regularize import regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()
cpu = NumpyBackend.instance()
Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_num.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import awkward as ak
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import is_integer, regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()

Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_singletons.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import awkward as ak
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import is_integer, regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()

Expand Down
2 changes: 1 addition & 1 deletion src/awkward/operations/ak_to_regular.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import awkward as ak
from awkward._behavior import behavior_of
from awkward._dispatch import high_level_function
from awkward._errors import AxisError
from awkward._layout import maybe_posaxis, wrap_layout
from awkward._nplikes.numpylike import NumpyMetadata
from awkward._regularize import regularize_axis
from awkward.errors import AxisError

np = NumpyMetadata.instance()

Expand Down
Loading

0 comments on commit 65fbfb6

Please sign in to comment.