Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ENH] decouple registry from base modules, scitype specific data reco…
…rds for documentation of estimator types (#6998) Fixes #6970 by a redesign of the object scitype register that decouples the `registry` module from the rest of `sktime`, by removing all outside imports on module level (except from `sktime.base` and `utils`). As a side effect, this also adds one record class per object type, which can be used as a tagged metadata record and later as a basis or documenting the individual object types in `sktime`. The refactor proceeds as follows: * the base class register is replaced by data record classes similar to the `_tags` module * the imports of base classes are isolated in class methods of those records, `get_base_class`, which returns the base class corresponding to the scitype * exports of objects involving tags, in particular the classes, are replaced by functions that produce the object, further isolating the import to places where it is needed, e.g., `get_base_class_list` To make the changes deprecation safe, imports of coupled objects are intercepted, and replaced by calls on demand, i.e., whenever an external call carries out an import. Further, imports from outside `registry` but inside `sktime` (all from the test framework) are also replaced with the new functions. This lead to some dead functions and objects, which were removed, which further lead to unused imports, which also were removed.
- Loading branch information