scikit-base 0.7.7__tar.gz → 0.7.8__tar.gz

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 (67) hide show
  1. {scikit_base-0.7.7/scikit_base.egg-info → scikit_base-0.7.8}/PKG-INFO +3 -3
  2. {scikit_base-0.7.7 → scikit_base-0.7.8}/README.md +1 -1
  3. {scikit_base-0.7.7 → scikit_base-0.7.8}/pyproject.toml +2 -2
  4. {scikit_base-0.7.7 → scikit_base-0.7.8/scikit_base.egg-info}/PKG-INFO +3 -3
  5. {scikit_base-0.7.7 → scikit_base-0.7.8}/scikit_base.egg-info/requires.txt +1 -1
  6. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/__init__.py +1 -1
  7. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/tests/conftest.py +1 -0
  8. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/deep_equals/_deep_equals.py +38 -6
  9. {scikit_base-0.7.7 → scikit_base-0.7.8}/LICENSE +0 -0
  10. {scikit_base-0.7.7 → scikit_base-0.7.8}/docs/source/conf.py +0 -0
  11. {scikit_base-0.7.7 → scikit_base-0.7.8}/scikit_base.egg-info/SOURCES.txt +0 -0
  12. {scikit_base-0.7.7 → scikit_base-0.7.8}/scikit_base.egg-info/dependency_links.txt +0 -0
  13. {scikit_base-0.7.7 → scikit_base-0.7.8}/scikit_base.egg-info/top_level.txt +0 -0
  14. {scikit_base-0.7.7 → scikit_base-0.7.8}/scikit_base.egg-info/zip-safe +0 -0
  15. {scikit_base-0.7.7 → scikit_base-0.7.8}/setup.cfg +0 -0
  16. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/_exceptions.py +0 -0
  17. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/_nopytest_tests.py +0 -0
  18. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/base/__init__.py +0 -0
  19. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/base/_base.py +0 -0
  20. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/base/_meta.py +0 -0
  21. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/base/_pretty_printing/__init__.py +0 -0
  22. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/base/_pretty_printing/_object_html_repr.py +0 -0
  23. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/base/_pretty_printing/_pprint.py +0 -0
  24. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/base/_pretty_printing/tests/__init__.py +0 -0
  25. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/base/_pretty_printing/tests/test_pprint.py +0 -0
  26. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/base/_tagmanager.py +0 -0
  27. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/lookup/__init__.py +0 -0
  28. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/lookup/_lookup.py +0 -0
  29. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/lookup/tests/__init__.py +0 -0
  30. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/lookup/tests/test_lookup.py +0 -0
  31. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/testing/__init__.py +0 -0
  32. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/testing/test_all_objects.py +0 -0
  33. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/testing/utils/__init__.py +0 -0
  34. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/testing/utils/_conditional_fixtures.py +0 -0
  35. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/testing/utils/inspect.py +0 -0
  36. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/tests/__init__.py +0 -0
  37. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/tests/mock_package/__init__.py +0 -0
  38. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/tests/mock_package/test_mock_package.py +0 -0
  39. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/tests/test_base.py +0 -0
  40. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/tests/test_baseestimator.py +0 -0
  41. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/tests/test_exceptions.py +0 -0
  42. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/tests/test_meta.py +0 -0
  43. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/__init__.py +0 -0
  44. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/_check.py +0 -0
  45. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/_iter.py +0 -0
  46. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/_nested_iter.py +0 -0
  47. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/_utils.py +0 -0
  48. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/deep_equals/__init__.py +0 -0
  49. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/deep_equals/_common.py +0 -0
  50. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/dependencies/__init__.py +0 -0
  51. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/dependencies/_dependencies.py +0 -0
  52. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/dependencies/tests/__init__.py +0 -0
  53. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/dependencies/tests/test_check_dependencies.py +0 -0
  54. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/random_state.py +0 -0
  55. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/tests/__init__.py +0 -0
  56. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/tests/test_check.py +0 -0
  57. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/tests/test_deep_equals.py +0 -0
  58. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/tests/test_iter.py +0 -0
  59. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/tests/test_nested_iter.py +0 -0
  60. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/tests/test_random_state.py +0 -0
  61. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/utils/tests/test_utils.py +0 -0
  62. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/validate/__init__.py +0 -0
  63. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/validate/_named_objects.py +0 -0
  64. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/validate/_types.py +0 -0
  65. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/validate/tests/__init__.py +0 -0
  66. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/validate/tests/test_iterable_named_objects.py +0 -0
  67. {scikit_base-0.7.7 → scikit_base-0.7.8}/skbase/validate/tests/test_type_validations.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scikit-base
3
- Version: 0.7.7
3
+ Version: 0.7.8
4
4
  Summary: Base classes for sklearn-like parametric objects
5
5
  Author-email: sktime developers <sktime.toolbox@gmail.com>
6
6
  Maintainer: Franz Király
@@ -90,7 +90,7 @@ Requires-Dist: nbsphinx>=0.8.6; extra == "docs"
90
90
  Requires-Dist: numpydoc; extra == "docs"
91
91
  Requires-Dist: pydata-sphinx-theme; extra == "docs"
92
92
  Requires-Dist: sphinx-issues<5.0.0; extra == "docs"
93
- Requires-Dist: sphinx-gallery<0.16.0; extra == "docs"
93
+ Requires-Dist: sphinx-gallery<0.17.0; extra == "docs"
94
94
  Requires-Dist: sphinx-panels; extra == "docs"
95
95
  Requires-Dist: sphinx-design<0.6.0; extra == "docs"
96
96
  Requires-Dist: Sphinx!=7.2.0,<8.0.0; extra == "docs"
@@ -114,7 +114,7 @@ Requires-Dist: scikit-learn>=0.24.0; extra == "test"
114
114
  `skbase` provides base classes for creating scikit-learn-like parametric objects,
115
115
  along with tools to make it easier to build your own packages that follow these design patterns.
116
116
 
117
- :rocket: Version 0.7.7 is now available. Check out our
117
+ :rocket: Version 0.7.8 is now available. Check out our
118
118
  [release notes](https://skbase.readthedocs.io/en/latest/changelog.html).
119
119
 
120
120
  | Overview | |
@@ -7,7 +7,7 @@
7
7
  `skbase` provides base classes for creating scikit-learn-like parametric objects,
8
8
  along with tools to make it easier to build your own packages that follow these design patterns.
9
9
 
10
- :rocket: Version 0.7.7 is now available. Check out our
10
+ :rocket: Version 0.7.8 is now available. Check out our
11
11
  [release notes](https://skbase.readthedocs.io/en/latest/changelog.html).
12
12
 
13
13
  | Overview | |
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "scikit-base"
3
- version = "0.7.7"
3
+ version = "0.7.8"
4
4
  description = "Base classes for sklearn-like parametric objects"
5
5
  authors = [
6
6
  {name = "sktime developers", email = "sktime.toolbox@gmail.com"},
@@ -71,7 +71,7 @@ docs = [
71
71
  "numpydoc",
72
72
  "pydata-sphinx-theme",
73
73
  "sphinx-issues<5.0.0",
74
- "sphinx-gallery<0.16.0",
74
+ "sphinx-gallery<0.17.0",
75
75
  "sphinx-panels",
76
76
  "sphinx-design<0.6.0",
77
77
  "Sphinx<8.0.0,!=7.2.0",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scikit-base
3
- Version: 0.7.7
3
+ Version: 0.7.8
4
4
  Summary: Base classes for sklearn-like parametric objects
5
5
  Author-email: sktime developers <sktime.toolbox@gmail.com>
6
6
  Maintainer: Franz Király
@@ -90,7 +90,7 @@ Requires-Dist: nbsphinx>=0.8.6; extra == "docs"
90
90
  Requires-Dist: numpydoc; extra == "docs"
91
91
  Requires-Dist: pydata-sphinx-theme; extra == "docs"
92
92
  Requires-Dist: sphinx-issues<5.0.0; extra == "docs"
93
- Requires-Dist: sphinx-gallery<0.16.0; extra == "docs"
93
+ Requires-Dist: sphinx-gallery<0.17.0; extra == "docs"
94
94
  Requires-Dist: sphinx-panels; extra == "docs"
95
95
  Requires-Dist: sphinx-design<0.6.0; extra == "docs"
96
96
  Requires-Dist: Sphinx!=7.2.0,<8.0.0; extra == "docs"
@@ -114,7 +114,7 @@ Requires-Dist: scikit-learn>=0.24.0; extra == "test"
114
114
  `skbase` provides base classes for creating scikit-learn-like parametric objects,
115
115
  along with tools to make it easier to build your own packages that follow these design patterns.
116
116
 
117
- :rocket: Version 0.7.7 is now available. Check out our
117
+ :rocket: Version 0.7.8 is now available. Check out our
118
118
  [release notes](https://skbase.readthedocs.io/en/latest/changelog.html).
119
119
 
120
120
  | Overview | |
@@ -19,7 +19,7 @@ nbsphinx>=0.8.6
19
19
  numpydoc
20
20
  pydata-sphinx-theme
21
21
  sphinx-issues<5.0.0
22
- sphinx-gallery<0.16.0
22
+ sphinx-gallery<0.17.0
23
23
  sphinx-panels
24
24
  sphinx-design<0.6.0
25
25
  Sphinx!=7.2.0,<8.0.0
@@ -6,4 +6,4 @@
6
6
  The included functionality makes it easy to reuse scikit-learn and
7
7
  sktime design principles in your project.
8
8
  """
9
- __version__: str = "0.7.7"
9
+ __version__: str = "0.7.8"
@@ -237,6 +237,7 @@ SKBASE_FUNCTIONS_BY_MODULE.update(
237
237
  "_numpy_equals_plugin",
238
238
  "_pandas_equals",
239
239
  "_pandas_equals_plugin",
240
+ "_safe_any_unequal",
240
241
  "_safe_len",
241
242
  "_softdep_available",
242
243
  "_tuple_equals",
@@ -503,18 +503,50 @@ def deep_equals_custom(x, y, return_msg=False, plugins=None):
503
503
  if isinstance(x == y, bool):
504
504
  return ret(x == y, f" !=, {x} != {y}")
505
505
 
506
- # check if numpy is available
507
- numpy_available = _softdep_available("numpy")
508
- if numpy_available:
509
- import numpy as np
510
-
511
506
  # deal with the case where != returns a vector
512
- if numpy_available and np.any(x != y) or np.any(_coerce_list(x != y)):
507
+ if _safe_any_unequal(x, y):
513
508
  return ret(False, f" !=, {x} != {y}")
514
509
 
515
510
  return ret(True, "")
516
511
 
517
512
 
513
+ def _safe_any_unequal(x, y):
514
+ """Return whether any of x != y, if != results in iterable, False on exception.
515
+
516
+ Written very defensively to avoid exceptions, as exceptions may be raised
517
+ since any(x != y) or the safer np.any(x != y) may not be boolean,
518
+ e.g., in pathological cases of nested objects.
519
+ """
520
+ try:
521
+ unequal = x != y
522
+ except Exception:
523
+ return False
524
+
525
+ # check if numpy is available
526
+ numpy_available = _softdep_available("numpy")
527
+
528
+ if not numpy_available:
529
+ try:
530
+ any_un = any(unequal)
531
+ if isinstance(any_un, bool):
532
+ return any_un
533
+ else:
534
+ return False
535
+ except Exception:
536
+ return False
537
+
538
+ import numpy as np
539
+
540
+ try:
541
+ any_un = np.any(x != y) or np.any(_coerce_list(x != y))
542
+ if isinstance(any_un, bool) or any_un.dtype == "bool":
543
+ return any_un
544
+ else:
545
+ return False
546
+ except Exception:
547
+ return False
548
+
549
+
518
550
  def _safe_len(x):
519
551
  """Return length of x if len(x) does not result in exception, else -1."""
520
552
  if hasattr(x, "__len__"):
File without changes
File without changes