scikit-base 0.8.1__tar.gz → 0.8.3__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 (71) hide show
  1. {scikit_base-0.8.1/scikit_base.egg-info → scikit_base-0.8.3}/PKG-INFO +4 -4
  2. {scikit_base-0.8.1 → scikit_base-0.8.3}/README.md +1 -1
  3. {scikit_base-0.8.1 → scikit_base-0.8.3}/pyproject.toml +3 -3
  4. {scikit_base-0.8.1 → scikit_base-0.8.3/scikit_base.egg-info}/PKG-INFO +4 -4
  5. {scikit_base-0.8.1 → scikit_base-0.8.3}/scikit_base.egg-info/SOURCES.txt +2 -0
  6. {scikit_base-0.8.1 → scikit_base-0.8.3}/scikit_base.egg-info/requires.txt +2 -2
  7. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/__init__.py +1 -1
  8. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/base/_base.py +41 -4
  9. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/tests/conftest.py +8 -0
  10. scikit_base-0.8.3/skbase/utils/dependencies/_dependencies.py +551 -0
  11. scikit_base-0.8.3/skbase/utils/stderr_mute.py +64 -0
  12. scikit_base-0.8.3/skbase/utils/tests/test_std_mute.py +31 -0
  13. scikit_base-0.8.1/skbase/utils/dependencies/_dependencies.py +0 -341
  14. {scikit_base-0.8.1 → scikit_base-0.8.3}/LICENSE +0 -0
  15. {scikit_base-0.8.1 → scikit_base-0.8.3}/docs/source/conf.py +0 -0
  16. {scikit_base-0.8.1 → scikit_base-0.8.3}/scikit_base.egg-info/dependency_links.txt +0 -0
  17. {scikit_base-0.8.1 → scikit_base-0.8.3}/scikit_base.egg-info/top_level.txt +0 -0
  18. {scikit_base-0.8.1 → scikit_base-0.8.3}/scikit_base.egg-info/zip-safe +0 -0
  19. {scikit_base-0.8.1 → scikit_base-0.8.3}/setup.cfg +0 -0
  20. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/_exceptions.py +0 -0
  21. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/_nopytest_tests.py +0 -0
  22. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/base/__init__.py +0 -0
  23. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/base/_meta.py +0 -0
  24. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/base/_pretty_printing/__init__.py +0 -0
  25. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/base/_pretty_printing/_object_html_repr.py +0 -0
  26. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/base/_pretty_printing/_pprint.py +0 -0
  27. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/base/_pretty_printing/tests/__init__.py +0 -0
  28. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/base/_pretty_printing/tests/test_pprint.py +0 -0
  29. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/base/_tagmanager.py +0 -0
  30. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/lookup/__init__.py +0 -0
  31. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/lookup/_lookup.py +0 -0
  32. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/lookup/tests/__init__.py +0 -0
  33. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/lookup/tests/test_lookup.py +0 -0
  34. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/testing/__init__.py +0 -0
  35. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/testing/test_all_objects.py +0 -0
  36. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/testing/utils/__init__.py +0 -0
  37. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/testing/utils/_conditional_fixtures.py +0 -0
  38. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/testing/utils/inspect.py +0 -0
  39. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/tests/__init__.py +0 -0
  40. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/tests/mock_package/__init__.py +0 -0
  41. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/tests/mock_package/test_mock_package.py +0 -0
  42. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/tests/test_base.py +0 -0
  43. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/tests/test_baseestimator.py +0 -0
  44. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/tests/test_exceptions.py +0 -0
  45. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/tests/test_meta.py +0 -0
  46. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/__init__.py +0 -0
  47. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/_check.py +0 -0
  48. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/_iter.py +0 -0
  49. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/_nested_iter.py +0 -0
  50. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/_utils.py +0 -0
  51. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/deep_equals/__init__.py +0 -0
  52. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/deep_equals/_common.py +0 -0
  53. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/deep_equals/_deep_equals.py +0 -0
  54. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/dependencies/__init__.py +0 -0
  55. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/dependencies/tests/__init__.py +0 -0
  56. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/dependencies/tests/test_check_dependencies.py +0 -0
  57. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/random_state.py +0 -0
  58. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/stdout_mute.py +0 -0
  59. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/tests/__init__.py +0 -0
  60. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/tests/test_check.py +0 -0
  61. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/tests/test_deep_equals.py +0 -0
  62. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/tests/test_iter.py +0 -0
  63. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/tests/test_nested_iter.py +0 -0
  64. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/tests/test_random_state.py +0 -0
  65. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/utils/tests/test_utils.py +0 -0
  66. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/validate/__init__.py +0 -0
  67. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/validate/_named_objects.py +0 -0
  68. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/validate/_types.py +0 -0
  69. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/validate/tests/__init__.py +0 -0
  70. {scikit_base-0.8.1 → scikit_base-0.8.3}/skbase/validate/tests/test_iterable_named_objects.py +0 -0
  71. {scikit_base-0.8.1 → scikit_base-0.8.3}/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.8.1
3
+ Version: 0.8.3
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,10 +90,10 @@ 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.17.0; extra == "docs"
93
+ Requires-Dist: sphinx-gallery<0.18.0; extra == "docs"
94
94
  Requires-Dist: sphinx-panels; extra == "docs"
95
95
  Requires-Dist: sphinx-design<0.7.0; extra == "docs"
96
- Requires-Dist: Sphinx!=7.2.0,<8.0.0; extra == "docs"
96
+ Requires-Dist: Sphinx!=7.2.0,<9.0.0; extra == "docs"
97
97
  Requires-Dist: tabulate; extra == "docs"
98
98
  Provides-Extra: test
99
99
  Requires-Dist: pytest; extra == "test"
@@ -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.8.1 is now available. Check out our
117
+ :rocket: Version 0.8.3 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.8.1 is now available. Check out our
10
+ :rocket: Version 0.8.3 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.8.1"
3
+ version = "0.8.3"
4
4
  description = "Base classes for sklearn-like parametric objects"
5
5
  authors = [
6
6
  {name = "sktime developers", email = "sktime.toolbox@gmail.com"},
@@ -71,10 +71,10 @@ docs = [
71
71
  "numpydoc",
72
72
  "pydata-sphinx-theme",
73
73
  "sphinx-issues<5.0.0",
74
- "sphinx-gallery<0.17.0",
74
+ "sphinx-gallery<0.18.0",
75
75
  "sphinx-panels",
76
76
  "sphinx-design<0.7.0",
77
- "Sphinx<8.0.0,!=7.2.0",
77
+ "Sphinx!=7.2.0,<9.0.0",
78
78
  "tabulate",
79
79
  ]
80
80
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scikit-base
3
- Version: 0.8.1
3
+ Version: 0.8.3
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,10 +90,10 @@ 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.17.0; extra == "docs"
93
+ Requires-Dist: sphinx-gallery<0.18.0; extra == "docs"
94
94
  Requires-Dist: sphinx-panels; extra == "docs"
95
95
  Requires-Dist: sphinx-design<0.7.0; extra == "docs"
96
- Requires-Dist: Sphinx!=7.2.0,<8.0.0; extra == "docs"
96
+ Requires-Dist: Sphinx!=7.2.0,<9.0.0; extra == "docs"
97
97
  Requires-Dist: tabulate; extra == "docs"
98
98
  Provides-Extra: test
99
99
  Requires-Dist: pytest; extra == "test"
@@ -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.8.1 is now available. Check out our
117
+ :rocket: Version 0.8.3 is now available. Check out our
118
118
  [release notes](https://skbase.readthedocs.io/en/latest/changelog.html).
119
119
 
120
120
  | Overview | |
@@ -44,6 +44,7 @@ skbase/utils/_iter.py
44
44
  skbase/utils/_nested_iter.py
45
45
  skbase/utils/_utils.py
46
46
  skbase/utils/random_state.py
47
+ skbase/utils/stderr_mute.py
47
48
  skbase/utils/stdout_mute.py
48
49
  skbase/utils/deep_equals/__init__.py
49
50
  skbase/utils/deep_equals/_common.py
@@ -58,6 +59,7 @@ skbase/utils/tests/test_deep_equals.py
58
59
  skbase/utils/tests/test_iter.py
59
60
  skbase/utils/tests/test_nested_iter.py
60
61
  skbase/utils/tests/test_random_state.py
62
+ skbase/utils/tests/test_std_mute.py
61
63
  skbase/utils/tests/test_utils.py
62
64
  skbase/validate/__init__.py
63
65
  skbase/validate/_named_objects.py
@@ -19,10 +19,10 @@ nbsphinx>=0.8.6
19
19
  numpydoc
20
20
  pydata-sphinx-theme
21
21
  sphinx-issues<5.0.0
22
- sphinx-gallery<0.17.0
22
+ sphinx-gallery<0.18.0
23
23
  sphinx-panels
24
24
  sphinx-design<0.7.0
25
- Sphinx!=7.2.0,<8.0.0
25
+ Sphinx!=7.2.0,<9.0.0
26
26
  tabulate
27
27
 
28
28
  [linters]
@@ -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.8.1"
9
+ __version__: str = "0.8.3"
@@ -1292,10 +1292,47 @@ class BaseEstimator(BaseObject):
1292
1292
  fitted_params = [
1293
1293
  attr for attr in dir(obj) if attr.endswith("_") and not attr.startswith("_")
1294
1294
  ]
1295
- # remove the "_" at the end
1296
- fitted_param_dict = {
1297
- p[:-1]: getattr(obj, p) for p in fitted_params if hasattr(obj, p)
1298
- }
1295
+
1296
+ def getattr_safe(obj, attr):
1297
+ """Get attribute of object, safely.
1298
+
1299
+ Safe version of getattr, that returns None if attribute does not exist,
1300
+ or if an exception is raised during getattr.
1301
+ Also returns a boolean indicating whether the attribute was successfully
1302
+ retrieved, to distinguish between None value and non-existent attribute,
1303
+ or exception during getattr.
1304
+
1305
+ Parameters
1306
+ ----------
1307
+ obj : any object
1308
+ object to get attribute from
1309
+ attr : str
1310
+ attribute name to get from obj
1311
+
1312
+ Returns
1313
+ -------
1314
+ attr : Any
1315
+ attribute of obj, if it exists and does not raise on getattr;
1316
+ otherwise None
1317
+ success : bool
1318
+ whether the attribute was successfully retrieved
1319
+ """
1320
+ try:
1321
+ if hasattr(obj, attr):
1322
+ attr = getattr(obj, attr)
1323
+ return attr, True
1324
+ else:
1325
+ return None, False
1326
+ except Exception:
1327
+ return None, False
1328
+
1329
+ fitted_param_dict = {}
1330
+
1331
+ for p in fitted_params:
1332
+ attr, success = getattr_safe(obj, p)
1333
+ if success:
1334
+ p_name = p[:-1] # remove the "_" at the end to get the parameter name
1335
+ fitted_param_dict[p_name] = attr
1299
1336
 
1300
1337
  return fitted_param_dict
1301
1338
 
@@ -54,6 +54,7 @@ SKBASE_MODULES = (
54
54
  "skbase.utils.dependencies",
55
55
  "skbase.utils.dependencies._dependencies",
56
56
  "skbase.utils.random_state",
57
+ "skbase.utils.stderr_mute",
57
58
  "skbase.utils.stdout_mute",
58
59
  "skbase.validate",
59
60
  "skbase.validate._named_objects",
@@ -80,6 +81,7 @@ SKBASE_PUBLIC_MODULES = (
80
81
  "skbase.utils.deep_equals",
81
82
  "skbase.utils.dependencies",
82
83
  "skbase.utils.random_state",
84
+ "skbase.utils.stderr_mute",
83
85
  "skbase.utils.stdout_mute",
84
86
  "skbase.validate",
85
87
  )
@@ -108,6 +110,7 @@ SKBASE_PUBLIC_CLASSES_BY_MODULE = {
108
110
  "QuickTester",
109
111
  "TestAllObjects",
110
112
  ),
113
+ "skbase.utils.stderr_mute": ("StderrMute",),
111
114
  "skbase.utils.stdout_mute": ("StdoutMute",),
112
115
  }
113
116
  SKBASE_CLASSES_BY_MODULE = SKBASE_PUBLIC_CLASSES_BY_MODULE.copy()
@@ -251,7 +254,12 @@ SKBASE_FUNCTIONS_BY_MODULE.update(
251
254
  "skbase.utils.dependencies._dependencies": (
252
255
  "_check_soft_dependencies",
253
256
  "_check_python_version",
257
+ "_check_env_marker",
254
258
  "_check_estimator_deps",
259
+ "_get_pkg_version",
260
+ "_get_installed_packages",
261
+ "_normalize_requirement",
262
+ "_raise_at_severity",
255
263
  ),
256
264
  "skbase.utils.random_state": (
257
265
  "check_random_state",