Skip to content

Don't export scitype method. #131

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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