diff --git a/README.md b/README.md index c55a2e65..bae91824 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ along with tools to make it easier to build your own packages that follow these design patterns. -:rocket: Version 0.3.0 is now available. Checkout our +:rocket: Version 0.4.0 is now available. Checkout our [release notes](https://skbase.readthedocs.io/en/latest/changelog.html). | Overview | | @@ -41,11 +41,11 @@ and can be installed using pip. Checkout the full list of pre-compiled [wheels o To install the core package use: ```bash -pip install skbase +pip install scikit-base ``` or, if you want to install with the maximum set of dependencies, use: ```bash -pip install skbase[all_extras] +pip install scikit-base[all_extras] ``` diff --git a/docs/source/_static/switcher.json b/docs/source/_static/switcher.json index aa597969..f5a99c0a 100644 --- a/docs/source/_static/switcher.json +++ b/docs/source/_static/switcher.json @@ -5,10 +5,15 @@ "url": "https://skbase.readthedocs.io/en/latest/" }, { - "name": "0.3.0 (stable)", + "name": "0.4.0 (stable)", "version": "stable", "url": "https://skbase.readthedocs.io/en/stable/" }, + { + "name": "0.3.0", + "version": "stable", + "url": "https://skbase.readthedocs.io/en/v0.3.0/" + }, { "name": "0.2.0", "version": "stable", diff --git a/docs/source/get_started.rst b/docs/source/get_started.rst index fb52a813..e6ffd189 100644 --- a/docs/source/get_started.rst +++ b/docs/source/get_started.rst @@ -27,13 +27,13 @@ code snippets below. .. code-block:: bash - pip install skbase + pip install scikit-base .. tab-item:: PyPi (all dependencies) .. code-block:: bash - pip install skbase[all_extras] + pip install scikit-base[all_extras] .. tab-item:: Conda @@ -86,4 +86,4 @@ functionality. For more detailed information see the :ref:`tutorials`, :ref:`user_documentation`. .. _scikit-learn: https://scikit-learn.org/stable/index.html -.. _sktime: https://www.sktime.org/en/stable/index.html +.. _sktime: https://www.sktime.net/en/stable/index.html diff --git a/docs/source/user_documentation/changelog.rst b/docs/source/user_documentation/changelog.rst index 5ce6eb46..dff45c44 100644 --- a/docs/source/user_documentation/changelog.rst +++ b/docs/source/user_documentation/changelog.rst @@ -14,6 +14,73 @@ You can also subscribe to ``skbase``'s For planned changes and upcoming releases, see our :ref:`roadmap`. +[0.4.0] - 2023-04-25 +==================== + +Highlights +---------- + +- classes for heterogeneous collections aka meta-objects: ``BaseMetaObject`` and + ``BaseMetaEstimator``, based on ``sklearn`` and ``sktime`` (:pr:`107`, :pr:`155`) +- ``skbase`` native ``get_params`` and ``get_fitted_params`` interface, both with + ``deep`` argument (:pr:`115`, :pr:`117`) :user:`fkiraly` +- tag and config manager for objects, with ``get_tag``, ``set_tag``, ``get_config``, + ``set_config``, etc (:pr:`138`, :pr:`140`, :pr:`155`) :user:`fkiraly` +- ``sklearn`` style pretty printing, configurable via + tags (:pr:`156`) :user:`fkiraly`, :user:`RNKuhns` + +Enhancements +------------ + +* [ENH] Update meta classes and add unit tests (:pr:`107`) :user:`RNKuhns` +* [ENH] ``skbase`` native ``get_params`` (:pr:`115`) :user:`fkiraly` +* [ENH] ensure that ``all_objects`` always + returns (class name/class) pairs (:pr:`115`) :user:`fkiraly` +* [ENH] Initial type and named object validator code (:pr:`122`) :user:`RNKuhns` +* [ENH] ``deep`` argument for ``get_fitted_params`` (:pr:`117`) :user:`fkiraly` +* [ENH] Improve ``skbase.utils`` module structure (:pr:`126`) :user:`RNKuhns` +* [ENH] Add ``object_type`` param to named object check (:pr:`136`) :user:`RNKuhns` +* [ENH] tag manager mixin (:pr:`138`) :user:`fkiraly` +* [ENH] sync ``TestAllObjects`` with ``sktime`` (:pr:`139`) :user:`fkiraly` +* [ENH] object config interface (:pr:`140`) :user:`fkiraly` +* [ENH] tag logic mixin for meta-estimators (:pr:`155`) :user:`fkiraly` +* [ENH] ``sklearn`` style pretty printing (:pr:`156`) :user:`fkiraly`, :user:`RNKuhns` + +Fixes +----- + +* [BUG] fix faulty ``BaseObject.__eq__`` and ``deep_equals`` if an attribute + or nested structure contains ``np.nan`` (:pr:`111`) :user:`fkiraly` +* [BUG] Fix type error bug (:pr:`130`) :user:`RNKuhns` +* [BUG] fix unreported return type bug + of ``BaseFixtureGenerator.is_excluded`` (:pr:`142`) :user:`fkiraly` + +Documentation +------------- + +* [DOC] Update installation guide to build ``skbase`` in + a virtual env (:pr:`157`) :user:`achieveordie` +* [DOC] fix odd author formatting on pypi (:pr:`157`) :user:`fkiraly` + +Maintenance +----------- + +* [MNT] Create Issue and PR Templates (:pr:`157`) :user:`RNKuhns` +* [MNT] Update pydocstyle in pre-commit config (:pr:`108`) :user:`RNKuhns` +* [MNT] Handle updates to pre-commit linters (:pr:`120`) :user:`RNKuhns` +* [MNT] numpy as a soft dependency (:pr:`121`) :user:`RNKuhns` +* [MNT] Add stacklevel to ``warnings.warn`` calls (:pr:`137`) :user:`RNKuhns` +* [MNT] Add vs code settings and auto generated api area + to ``.gitignore`` (:pr:`143`) :user:`RNKuhns` +* [MNT] Update slack to point to ``skbase`` workspace (:pr:`148`) :user:`RNKuhns` + +Contributors +------------ +:user:`achieveordie`, +:user:`fkiraly`, +:user:`rnkuhns` + + [0.3.0] - 2023-01-08 ==================== @@ -40,7 +107,7 @@ Enhancements - Reorganized package functionality into submodules focused on specific functionality (:pr:`78`) :user:`rnkuhns` -- Add equality dunder to ``BaseObject`` to allow ``BaseObejct``-s to be compared based +- Add equality dunder to ``BaseObject`` to allow ``BaseObject``-s to be compared based on parameter equality (:pr:`86`) :user:`fkiraly` - Add ``sktime``-like interface for retrieving fitted parameters to ``BaseEstimator`` (:pr:`87`) :user:`fkiraly` diff --git a/docs/source/user_documentation/installation.rst b/docs/source/user_documentation/installation.rst index 5ae74768..1daf3f60 100644 --- a/docs/source/user_documentation/installation.rst +++ b/docs/source/user_documentation/installation.rst @@ -33,13 +33,13 @@ code snippets below. .. code-block:: bash - pip install skbase + pip install scikit-base .. tab-item:: PyPi (all dependencies) .. code-block:: bash - pip install skbase[all_extras] + pip install scikit-base[all_extras] .. tab-item:: Conda diff --git a/pyproject.toml b/pyproject.toml index 1bd194d3..134be5d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "skbase" -version = "0.3.0" +version = "0.4.0" description = "Base classes for sklearn-like parametric objects" authors = [ {name = "Franz Király"}, diff --git a/skbase/__init__.py b/skbase/__init__.py index ddd980e7..016a7cab 100644 --- a/skbase/__init__.py +++ b/skbase/__init__.py @@ -8,7 +8,7 @@ """ from typing import List -__version__: str = "0.3.0" +__version__: str = "0.4.0" __author__: List[str] = ["mloning", "RNKuhns", "fkiraly"] __all__: List[str] = [] diff --git a/skbase/base/_pretty_printing/_pprint.py b/skbase/base/_pretty_printing/_pprint.py index 2e8a8a80..c764160f 100644 --- a/skbase/base/_pretty_printing/_pprint.py +++ b/skbase/base/_pretty_printing/_pprint.py @@ -57,7 +57,7 @@ def has_changed(k, v): class _BaseObjectPrettyPrinter(pprint.PrettyPrinter): - """Pretty Printer class for BaseObjects. + """Pretty Printer class for BaseObjects. This extends the pprint.PrettyPrinter class similar to scikit-learn's implementation, so that: