Generally, I prefer to export names sparingly as removing them later on is always a breaking change. Typically export a name if the method is going to be used by an ordinary user, otherwise don't.
I think the only method your package needs to export is MLFlowLogger (for constructing loggers), and, if you are providing it, the client(::MLFlowLogger) method that the general user needs to access the client. I'm assuming runs is an internal method, yes?
Do not export save as this is such a common method (provided by serialization packages, for example) that this routinely leads to name conflicts. No MLJ package exports save.
https://github.com/pebeto/MLJFlow.jl/blob/70e961e9244645b4dfc52a99eab06aea0852f0b1/src/MLJFlow.jl#L20
Generally, I prefer to export names sparingly as removing them later on is always a breaking change. Typically export a name if the method is going to be used by an ordinary user, otherwise don't.
I think the only method your package needs to export is
MLFlowLogger
(for constructing loggers), and, if you are providing it, theclient(::MLFlowLogger)
method that the general user needs to access the client. I'm assumingruns
is an internal method, yes?Do not export
save
as this is such a common method (provided by serialization packages, for example) that this routinely leads to name conflicts. No MLJ package exportssave
.