scikit-base 0.4.6__py3-none-any.whl → 0.5.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. docs/source/conf.py +299 -299
  2. {scikit_base-0.4.6.dist-info → scikit_base-0.5.1.dist-info}/LICENSE +29 -29
  3. {scikit_base-0.4.6.dist-info → scikit_base-0.5.1.dist-info}/METADATA +160 -159
  4. scikit_base-0.5.1.dist-info/RECORD +58 -0
  5. {scikit_base-0.4.6.dist-info → scikit_base-0.5.1.dist-info}/WHEEL +1 -1
  6. scikit_base-0.5.1.dist-info/top_level.txt +5 -0
  7. {scikit_base-0.4.6.dist-info → scikit_base-0.5.1.dist-info}/zip-safe +1 -1
  8. skbase/__init__.py +14 -14
  9. skbase/_exceptions.py +31 -31
  10. skbase/_nopytest_tests.py +35 -35
  11. skbase/base/__init__.py +20 -20
  12. skbase/base/_base.py +1249 -1249
  13. skbase/base/_meta.py +883 -871
  14. skbase/base/_pretty_printing/__init__.py +11 -11
  15. skbase/base/_pretty_printing/_object_html_repr.py +392 -392
  16. skbase/base/_pretty_printing/_pprint.py +412 -412
  17. skbase/base/_tagmanager.py +217 -217
  18. skbase/lookup/__init__.py +31 -31
  19. skbase/lookup/_lookup.py +1009 -1009
  20. skbase/lookup/tests/__init__.py +2 -2
  21. skbase/lookup/tests/test_lookup.py +991 -991
  22. skbase/testing/__init__.py +12 -12
  23. skbase/testing/test_all_objects.py +852 -856
  24. skbase/testing/utils/__init__.py +5 -5
  25. skbase/testing/utils/_conditional_fixtures.py +209 -209
  26. skbase/testing/utils/_dependencies.py +15 -15
  27. skbase/testing/utils/deep_equals.py +15 -15
  28. skbase/testing/utils/inspect.py +30 -30
  29. skbase/testing/utils/tests/__init__.py +2 -2
  30. skbase/testing/utils/tests/test_check_dependencies.py +49 -49
  31. skbase/testing/utils/tests/test_deep_equals.py +66 -66
  32. skbase/tests/__init__.py +2 -2
  33. skbase/tests/conftest.py +273 -273
  34. skbase/tests/mock_package/__init__.py +5 -5
  35. skbase/tests/mock_package/test_mock_package.py +74 -74
  36. skbase/tests/test_base.py +1202 -1202
  37. skbase/tests/test_baseestimator.py +130 -130
  38. skbase/tests/test_exceptions.py +23 -23
  39. skbase/tests/test_meta.py +170 -131
  40. skbase/utils/__init__.py +21 -21
  41. skbase/utils/_check.py +53 -53
  42. skbase/utils/_iter.py +238 -238
  43. skbase/utils/_nested_iter.py +180 -180
  44. skbase/utils/_utils.py +91 -91
  45. skbase/utils/deep_equals.py +358 -358
  46. skbase/utils/dependencies/__init__.py +11 -11
  47. skbase/utils/dependencies/_dependencies.py +253 -253
  48. skbase/utils/tests/__init__.py +4 -4
  49. skbase/utils/tests/test_check.py +24 -24
  50. skbase/utils/tests/test_iter.py +127 -127
  51. skbase/utils/tests/test_nested_iter.py +84 -84
  52. skbase/utils/tests/test_utils.py +37 -37
  53. skbase/validate/__init__.py +22 -22
  54. skbase/validate/_named_objects.py +403 -403
  55. skbase/validate/_types.py +345 -345
  56. skbase/validate/tests/__init__.py +2 -2
  57. skbase/validate/tests/test_iterable_named_objects.py +200 -200
  58. skbase/validate/tests/test_type_validations.py +370 -370
  59. scikit_base-0.4.6.dist-info/RECORD +0 -58
  60. scikit_base-0.4.6.dist-info/top_level.txt +0 -2
@@ -1,49 +1,49 @@
1
- # -*- coding: utf-8 -*-
2
- """Tests for _check_soft_dependencies utility."""
3
- import pytest
4
- from packaging.requirements import InvalidRequirement
5
-
6
- from skbase.testing.utils._dependencies import _check_soft_dependencies
7
-
8
-
9
- def test_check_soft_deps():
10
- """Test package availability against pyproject of skbase."""
11
- # test various admissible input types, positives
12
- assert _check_soft_dependencies("pytest")
13
- assert _check_soft_dependencies("pytest", "numpy")
14
- assert _check_soft_dependencies("pytest", "numpy")
15
- assert _check_soft_dependencies(["pytest", "numpy"])
16
- assert _check_soft_dependencies(("pytest", "numpy"))
17
-
18
- # test various admissible input types, negatives
19
- assert not _check_soft_dependencies("humpty", severity="none")
20
- assert not _check_soft_dependencies("numpy", "dumpty", severity="none")
21
- assert not _check_soft_dependencies("humpty", "numpy", severity="none")
22
- assert not _check_soft_dependencies(["humpty", "humpty"], severity="none")
23
- assert not _check_soft_dependencies(("humpty", "dumpty"), severity="none")
24
-
25
- # test error raise on error severity
26
- with pytest.raises(ModuleNotFoundError):
27
- assert _check_soft_dependencies("humpty", severity="error")
28
- with pytest.raises(ModuleNotFoundError):
29
- assert _check_soft_dependencies("numpy", "dumpty", severity="error")
30
-
31
- # test warning on warning severity
32
- with pytest.warns():
33
- assert not _check_soft_dependencies("humpty", severity="warning")
34
- with pytest.warns():
35
- assert not _check_soft_dependencies("numpy", "dumpty", severity="warning")
36
-
37
- # test valid PEP 440 specifier strings
38
- assert _check_soft_dependencies("pytest>0.0.1")
39
- assert _check_soft_dependencies("pytest>=0.0.1", "numpy!=0.1.0")
40
- assert not _check_soft_dependencies(("pytest", "numpy<0.1.0"), severity="none")
41
- assert _check_soft_dependencies(["pytest", "numpy>0.1.0"], severity="none")
42
-
43
- # test error on invalid PEP 440 specifier string
44
- with pytest.raises(InvalidRequirement):
45
- assert _check_soft_dependencies("pytest!!!!>>>0.0.1")
46
- with pytest.raises(InvalidRequirement):
47
- assert _check_soft_dependencies(
48
- ("pytest", "!!numpy<~><>0.1.0"), severity="none"
49
- )
1
+ # -*- coding: utf-8 -*-
2
+ """Tests for _check_soft_dependencies utility."""
3
+ import pytest
4
+ from packaging.requirements import InvalidRequirement
5
+
6
+ from skbase.testing.utils._dependencies import _check_soft_dependencies
7
+
8
+
9
+ def test_check_soft_deps():
10
+ """Test package availability against pyproject of skbase."""
11
+ # test various admissible input types, positives
12
+ assert _check_soft_dependencies("pytest")
13
+ assert _check_soft_dependencies("pytest", "numpy")
14
+ assert _check_soft_dependencies("pytest", "numpy")
15
+ assert _check_soft_dependencies(["pytest", "numpy"])
16
+ assert _check_soft_dependencies(("pytest", "numpy"))
17
+
18
+ # test various admissible input types, negatives
19
+ assert not _check_soft_dependencies("humpty", severity="none")
20
+ assert not _check_soft_dependencies("numpy", "dumpty", severity="none")
21
+ assert not _check_soft_dependencies("humpty", "numpy", severity="none")
22
+ assert not _check_soft_dependencies(["humpty", "humpty"], severity="none")
23
+ assert not _check_soft_dependencies(("humpty", "dumpty"), severity="none")
24
+
25
+ # test error raise on error severity
26
+ with pytest.raises(ModuleNotFoundError):
27
+ assert _check_soft_dependencies("humpty", severity="error")
28
+ with pytest.raises(ModuleNotFoundError):
29
+ assert _check_soft_dependencies("numpy", "dumpty", severity="error")
30
+
31
+ # test warning on warning severity
32
+ with pytest.warns():
33
+ assert not _check_soft_dependencies("humpty", severity="warning")
34
+ with pytest.warns():
35
+ assert not _check_soft_dependencies("numpy", "dumpty", severity="warning")
36
+
37
+ # test valid PEP 440 specifier strings
38
+ assert _check_soft_dependencies("pytest>0.0.1")
39
+ assert _check_soft_dependencies("pytest>=0.0.1", "numpy!=0.1.0")
40
+ assert not _check_soft_dependencies(("pytest", "numpy<0.1.0"), severity="none")
41
+ assert _check_soft_dependencies(["pytest", "numpy>0.1.0"], severity="none")
42
+
43
+ # test error on invalid PEP 440 specifier string
44
+ with pytest.raises(InvalidRequirement):
45
+ assert _check_soft_dependencies("pytest!!!!>>>0.0.1")
46
+ with pytest.raises(InvalidRequirement):
47
+ assert _check_soft_dependencies(
48
+ ("pytest", "!!numpy<~><>0.1.0"), severity="none"
49
+ )
@@ -1,66 +1,66 @@
1
- # -*- coding: utf-8 -*-
2
- """Tests for deep_equals utility."""
3
- from copy import deepcopy
4
-
5
- import numpy as np
6
- import pytest
7
-
8
- from skbase.testing.utils._dependencies import _check_soft_dependencies
9
- from skbase.utils.deep_equals import deep_equals
10
-
11
- # examples used for comparison below
12
- EXAMPLES = [
13
- 42,
14
- [],
15
- ((((())))),
16
- [([([([()])])])],
17
- np.array([2, 3, 4]),
18
- np.array([2, 4, 5]),
19
- 3.5,
20
- 4.2,
21
- np.nan,
22
- ]
23
-
24
-
25
- if _check_soft_dependencies("pandas", severity="none"):
26
- import pandas as pd
27
-
28
- EXAMPLES += [
29
- pd.DataFrame({"a": [4, 2]}),
30
- pd.DataFrame({"a": [4, 3]}),
31
- (np.array([1, 2, 4]), [pd.DataFrame({"a": [4, 2]})]),
32
- {"foo": [42], "bar": pd.Series([1, 2])},
33
- {"bar": [42], "foo": pd.Series([1, 2])},
34
- ]
35
-
36
-
37
- @pytest.mark.parametrize("fixture", EXAMPLES)
38
- def test_deep_equals_positive(fixture):
39
- """Tests that deep_equals correctly identifies equal objects as equal."""
40
- x = deepcopy(fixture)
41
- y = deepcopy(fixture)
42
-
43
- msg = (
44
- f"deep_copy incorrectly returned False for two identical copies of "
45
- f"the following object: {x}"
46
- )
47
- assert deep_equals(x, y), msg
48
-
49
-
50
- n = len(EXAMPLES)
51
- DIFFERENT_PAIRS = [
52
- (EXAMPLES[i], EXAMPLES[j]) for i in range(n) for j in range(n) if i != j
53
- ]
54
-
55
-
56
- @pytest.mark.parametrize("fixture1,fixture2", DIFFERENT_PAIRS)
57
- def test_deep_equals_negative(fixture1, fixture2):
58
- """Tests that deep_equals correctly identifies unequal objects as unequal."""
59
- x = deepcopy(fixture1)
60
- y = deepcopy(fixture2)
61
-
62
- msg = (
63
- f"deep_copy incorrectly returned True when comparing "
64
- f"the following, different objects: x={x}, y={y}"
65
- )
66
- assert not deep_equals(x, y), msg
1
+ # -*- coding: utf-8 -*-
2
+ """Tests for deep_equals utility."""
3
+ from copy import deepcopy
4
+
5
+ import numpy as np
6
+ import pytest
7
+
8
+ from skbase.testing.utils._dependencies import _check_soft_dependencies
9
+ from skbase.utils.deep_equals import deep_equals
10
+
11
+ # examples used for comparison below
12
+ EXAMPLES = [
13
+ 42,
14
+ [],
15
+ ((((())))),
16
+ [([([([()])])])],
17
+ np.array([2, 3, 4]),
18
+ np.array([2, 4, 5]),
19
+ 3.5,
20
+ 4.2,
21
+ np.nan,
22
+ ]
23
+
24
+
25
+ if _check_soft_dependencies("pandas", severity="none"):
26
+ import pandas as pd
27
+
28
+ EXAMPLES += [
29
+ pd.DataFrame({"a": [4, 2]}),
30
+ pd.DataFrame({"a": [4, 3]}),
31
+ (np.array([1, 2, 4]), [pd.DataFrame({"a": [4, 2]})]),
32
+ {"foo": [42], "bar": pd.Series([1, 2])},
33
+ {"bar": [42], "foo": pd.Series([1, 2])},
34
+ ]
35
+
36
+
37
+ @pytest.mark.parametrize("fixture", EXAMPLES)
38
+ def test_deep_equals_positive(fixture):
39
+ """Tests that deep_equals correctly identifies equal objects as equal."""
40
+ x = deepcopy(fixture)
41
+ y = deepcopy(fixture)
42
+
43
+ msg = (
44
+ f"deep_copy incorrectly returned False for two identical copies of "
45
+ f"the following object: {x}"
46
+ )
47
+ assert deep_equals(x, y), msg
48
+
49
+
50
+ n = len(EXAMPLES)
51
+ DIFFERENT_PAIRS = [
52
+ (EXAMPLES[i], EXAMPLES[j]) for i in range(n) for j in range(n) if i != j
53
+ ]
54
+
55
+
56
+ @pytest.mark.parametrize("fixture1,fixture2", DIFFERENT_PAIRS)
57
+ def test_deep_equals_negative(fixture1, fixture2):
58
+ """Tests that deep_equals correctly identifies unequal objects as unequal."""
59
+ x = deepcopy(fixture1)
60
+ y = deepcopy(fixture2)
61
+
62
+ msg = (
63
+ f"deep_copy incorrectly returned True when comparing "
64
+ f"the following, different objects: x={x}, y={y}"
65
+ )
66
+ assert not deep_equals(x, y), msg
skbase/tests/__init__.py CHANGED
@@ -1,2 +1,2 @@
1
- # -*- coding: utf-8 -*-
2
- """Tests."""
1
+ # -*- coding: utf-8 -*-
2
+ """Tests."""