JuliaAI / JuliaAI/MLJModelInterface.jl
Don't export `scitype` method.
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 39
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
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
- Defining a one argument
scitypemethod 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.
- exporting the
scitypemethod atMLJModelInterface(Needed as users expect that thescitypemethod is exported. see #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).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the scitype definitions and exports in MLJModelInterface, then inspect the workaround in MLJBase/src/MLJBase.jl and the corresponding method in MLJBase/src/Interface/data_utils.jl. Confirm that scitype is no longer exported from MLJModelInterface, that qualified use remains available, and that the method import clash is resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- api
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100