Skip to content

Don't export scitype method. #131

@OkonSamuel

Description

@OkonSamuel

Due to a recent change in ScientificTypesBase,jl from version 2.0 to 3.0, the ScientifictypesBase.scitype method is now a two argument method. Packages depending on MLJModelInterface.jl previously depended on the previous one argument version defined in version 2.0 series of ScientifictypesBase package.
A workaround is needed to avoid making MLJModelInterface breaking for its's users. This involves

  1. Defining a one argument scitype method in MLJModelInterface. Something in the lines of
scitype(X) = scitype(get_interface_mode(), X)
scitype(::LightInterface, X) = throw(ArgumentError("FullInterface is needed..."))

The corresponding FullInterface method would be implemented at MLJBase/src/Interface/data_utils.jl.

  1. exporting the scitype method at MLJModelInterface (Needed as users expect that the scitype method is exported. see MLJModelInterface no longer exporting scitype #129 )

But implementing the second step also leads to method import clashes with ScientificTypes.scitype at MLJBase. For now a hack at MLJBase/src/MLJBase.jl fixes this issue, but going forward the scitype method shouldn't be exported. Hence users that want to use the scitype method would have to qualify it with the package name e.g. MLJModelinterface.scitype(X).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions