Skip to content

Commit

Permalink
feat: move exceptions back to common package (#295)
Browse files Browse the repository at this point in the history
### Summary of Changes

Move exceptions back to common top-level package. This undoes the change
from #177 and prepares for #262 and other errors that don't belong to a
specific package of Safe-DS. It also makes it easier for developer to
find a fitting error.

---------

Co-authored-by: megalinter-bot <129584137+megalinter-bot@users.noreply.github.com>
  • Loading branch information
lars-reimann and megalinter-bot committed May 6, 2023
1 parent 56a1fc4 commit a91172c
Show file tree
Hide file tree
Showing 57 changed files with 107 additions and 127 deletions.
4 changes: 2 additions & 2 deletions src/safeds/data/tabular/containers/_column.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@

from safeds.data.image.containers import Image
from safeds.data.image.typing import ImageFormat
from safeds.data.tabular.exceptions import (
from safeds.data.tabular.typing import ColumnType
from safeds.exceptions import (
ColumnLengthMismatchError,
ColumnSizeError,
IndexOutOfBoundsError,
NonNumericColumnError,
)
from safeds.data.tabular.typing import ColumnType

if TYPE_CHECKING:
from collections.abc import Callable, Iterator
Expand Down
2 changes: 1 addition & 1 deletion src/safeds/data/tabular/containers/_row.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

import pandas as pd

from safeds.data.tabular.exceptions import UnknownColumnNameError
from safeds.data.tabular.typing import ColumnType, Schema
from safeds.exceptions import UnknownColumnNameError

if TYPE_CHECKING:
from collections.abc import Iterator
Expand Down
4 changes: 2 additions & 2 deletions src/safeds/data/tabular/containers/_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@

from safeds.data.image.containers import Image
from safeds.data.image.typing import ImageFormat
from safeds.data.tabular.exceptions import (
from safeds.data.tabular.typing import ColumnType, Schema
from safeds.exceptions import (
ColumnLengthMismatchError,
ColumnSizeError,
DuplicateColumnNameError,
Expand All @@ -24,7 +25,6 @@
SchemaMismatchError,
UnknownColumnNameError,
)
from safeds.data.tabular.typing import ColumnType, Schema

from ._column import Column
from ._row import Row
Expand Down
23 changes: 0 additions & 23 deletions src/safeds/data/tabular/exceptions/__init__.py

This file was deleted.

2 changes: 1 addition & 1 deletion src/safeds/data/tabular/transformation/_imputer.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
from sklearn.impute import SimpleImputer as sk_SimpleImputer

from safeds.data.tabular.containers import Table
from safeds.data.tabular.exceptions import TransformerNotFittedError, UnknownColumnNameError
from safeds.data.tabular.transformation._table_transformer import TableTransformer
from safeds.data.tabular.typing import ImputerStrategy
from safeds.exceptions import TransformerNotFittedError, UnknownColumnNameError


class Imputer(TableTransformer):
Expand Down
2 changes: 1 addition & 1 deletion src/safeds/data/tabular/transformation/_label_encoder.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
from sklearn.preprocessing import OrdinalEncoder as sk_OrdinalEncoder

from safeds.data.tabular.containers import Table
from safeds.data.tabular.exceptions import TransformerNotFittedError, UnknownColumnNameError
from safeds.data.tabular.transformation._table_transformer import (
InvertibleTableTransformer,
)
from safeds.exceptions import TransformerNotFittedError, UnknownColumnNameError


# noinspection PyProtectedMember
Expand Down
2 changes: 1 addition & 1 deletion src/safeds/data/tabular/transformation/_one_hot_encoder.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
from sklearn.preprocessing import OneHotEncoder as sk_OneHotEncoder

from safeds.data.tabular.containers import Table
from safeds.data.tabular.exceptions import TransformerNotFittedError, UnknownColumnNameError
from safeds.data.tabular.transformation._table_transformer import (
InvertibleTableTransformer,
)
from safeds.exceptions import TransformerNotFittedError, UnknownColumnNameError


class OneHotEncoder(InvertibleTableTransformer):
Expand Down
2 changes: 1 addition & 1 deletion src/safeds/data/tabular/typing/_schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
from dataclasses import dataclass
from typing import TYPE_CHECKING

from safeds.data.tabular.exceptions import UnknownColumnNameError
from safeds.data.tabular.typing._column_type import ColumnType
from safeds.exceptions import UnknownColumnNameError

if TYPE_CHECKING:
import pandas as pd
Expand Down
39 changes: 39 additions & 0 deletions src/safeds/exceptions/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
"""Custom exceptions that can be raised by Safe-DS."""

from safeds.exceptions._data import (
ColumnLengthMismatchError,
ColumnSizeError,
DuplicateColumnNameError,
IndexOutOfBoundsError,
NonNumericColumnError,
SchemaMismatchError,
TransformerNotFittedError,
UnknownColumnNameError,
)
from safeds.exceptions._ml import (
DatasetContainsTargetError,
DatasetMissesFeaturesError,
LearningError,
ModelNotFittedError,
PredictionError,
UntaggedTableError,
)

__all__ = [
# Data exceptions
"ColumnLengthMismatchError",
"ColumnSizeError",
"DuplicateColumnNameError",
"IndexOutOfBoundsError",
"NonNumericColumnError",
"SchemaMismatchError",
"TransformerNotFittedError",
"UnknownColumnNameError",
# ML exceptions
"DatasetContainsTargetError",
"DatasetMissesFeaturesError",
"LearningError",
"ModelNotFittedError",
"PredictionError",
"UntaggedTableError",
]
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion src/safeds/ml/classical/_util_sklearn.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from typing import Any

from safeds.data.tabular.containers import Table, TaggedTable
from safeds.ml.exceptions import (
from safeds.exceptions import (
DatasetContainsTargetError,
DatasetMissesFeaturesError,
LearningError,
Expand Down
2 changes: 1 addition & 1 deletion src/safeds/ml/classical/classification/_classifier.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from sklearn.metrics import accuracy_score as sk_accuracy_score

from safeds.data.tabular.containers import Table, TaggedTable
from safeds.ml.exceptions import UntaggedTableError
from safeds.exceptions import UntaggedTableError

if TYPE_CHECKING:
from typing import Any
Expand Down
3 changes: 1 addition & 2 deletions src/safeds/ml/classical/regression/_regressor.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
from sklearn.metrics import mean_squared_error as sk_mean_squared_error

from safeds.data.tabular.containers import Column, Table, TaggedTable
from safeds.data.tabular.exceptions import ColumnLengthMismatchError
from safeds.ml.exceptions import UntaggedTableError
from safeds.exceptions import ColumnLengthMismatchError, UntaggedTableError

if TYPE_CHECKING:
from sklearn.base import RegressorMixin
Expand Down
19 changes: 0 additions & 19 deletions src/safeds/ml/exceptions/__init__.py

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import ColumnLengthMismatchError, NonNumericColumnError
from safeds.exceptions import ColumnLengthMismatchError, NonNumericColumnError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import IndexOutOfBoundsError
from safeds.exceptions import IndexOutOfBoundsError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import IndexOutOfBoundsError
from safeds.exceptions import IndexOutOfBoundsError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import ColumnSizeError
from safeds.exceptions import ColumnSizeError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import NonNumericColumnError
from safeds.exceptions import NonNumericColumnError


@pytest.mark.parametrize(
Expand Down
2 changes: 1 addition & 1 deletion tests/safeds/data/tabular/containers/_column/test_mean.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import NonNumericColumnError
from safeds.exceptions import NonNumericColumnError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import NonNumericColumnError
from safeds.exceptions import NonNumericColumnError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import NonNumericColumnError
from safeds.exceptions import NonNumericColumnError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import ColumnSizeError
from safeds.exceptions import ColumnSizeError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import pytest
from safeds.data.image.containers import Image
from safeds.data.tabular.containers import Table
from safeds.data.tabular.exceptions import NonNumericColumnError
from safeds.exceptions import NonNumericColumnError

from tests.helpers import resolve_resource_path

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import ColumnSizeError
from safeds.exceptions import ColumnSizeError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import NonNumericColumnError
from safeds.exceptions import NonNumericColumnError


@pytest.mark.parametrize(
Expand Down
2 changes: 1 addition & 1 deletion tests/safeds/data/tabular/containers/_column/test_sum.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import NonNumericColumnError
from safeds.exceptions import NonNumericColumnError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column
from safeds.data.tabular.exceptions import NonNumericColumnError
from safeds.exceptions import NonNumericColumnError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column, Table
from safeds.data.tabular.exceptions import ColumnSizeError, DuplicateColumnNameError
from safeds.exceptions import ColumnSizeError, DuplicateColumnNameError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column, Table
from safeds.data.tabular.exceptions import ColumnSizeError, DuplicateColumnNameError
from safeds.exceptions import ColumnSizeError, DuplicateColumnNameError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import pytest
from _pytest.python_api import raises
from safeds.data.tabular.containers import Row, Table
from safeds.data.tabular.exceptions import SchemaMismatchError
from safeds.exceptions import SchemaMismatchError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Row, Table
from safeds.data.tabular.exceptions import SchemaMismatchError
from safeds.exceptions import SchemaMismatchError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column, Table
from safeds.data.tabular.exceptions import ColumnLengthMismatchError
from safeds.exceptions import ColumnLengthMismatchError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest
from safeds.data.tabular.containers import Table
from safeds.data.tabular.exceptions import ColumnLengthMismatchError
from safeds.exceptions import ColumnLengthMismatchError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Row, Table
from safeds.data.tabular.exceptions import SchemaMismatchError
from safeds.exceptions import SchemaMismatchError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Column, Table
from safeds.data.tabular.exceptions import UnknownColumnNameError
from safeds.exceptions import UnknownColumnNameError


@pytest.mark.parametrize(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from safeds.data.tabular.containers import Row, Table
from safeds.data.tabular.exceptions import IndexOutOfBoundsError
from safeds.exceptions import IndexOutOfBoundsError


@pytest.mark.parametrize(
Expand Down

0 comments on commit a91172c

Please sign in to comment.