StatsBase.jl icon indicating copy to clipboard operation
StatsBase.jl copied to clipboard

Release StatsBase.jl v1.0

Open non-Jedi opened this issue 5 years ago • 10 comments

Similar to https://github.com/JuliaStats/Distributions.jl/issues/880. What needs to happen for StatsBase to be declared v1.0? Are there additional planned breaking changes, or missing essential functions?

non-Jedi avatar May 07 '19 18:05 non-Jedi

AFAIK the plan is rather to kill StatsBase before it reaches 1.0, by moving things to Statistics or to other more specialized packages.

nalimilan avatar May 07 '19 18:05 nalimilan

Given that stdlib PRs are usually slower to get in, we should start working on that

matbesancon avatar May 08 '19 07:05 matbesancon

That's what https://github.com/JuliaLang/julia/pull/31395 starts. Hopefully other parts will require less refactoring and will just need copy/paste PRs.

nalimilan avatar May 08 '19 13:05 nalimilan

FWIW, I don't think moving functionality to Statistics prevents us from making a 1.0 release of StatsBase. Having a major release to identify and deprecate any potentially breaking changes might actually be helpful while moving functionality into Statistics.

rofinn avatar Jul 03 '19 17:07 rofinn

Fully support the move to Statistics. I will be super happy the day where we can just do using Statistics in our code and have all the basic building blocks in the scope (e.g. mean, std, sample) as opposed to separating pieces in there and StatsBase. 🙏

juliohm avatar Nov 14 '19 20:11 juliohm

I don't think that moving StatsBase to Statistics is a good idea before the latter is decoupled from Julia's release cycle.

StatsBase gets a release every few months, and PRs are merged without much of hassle, whereas nontrivial changes are costly to make for standard libraries. At the moment, moving to Statistics would also preclude any breaking changes, no matter how minor, until Julia 2.0.

tpapp avatar Nov 15 '19 06:11 tpapp

@tpapp are we still expecting major changes in the statistics API? If something is not solid yet in StatsBase.jl, it is probably because it deserves a separate package?

My main concern with the separation as it is now regards basic names like mean, std, sample being spread over different packages. Users would have a better experience by simply using Statistics and getting all these basic operations in the scope.

juliohm avatar Nov 15 '19 10:11 juliohm

APIs are quite difficult to get right. It's not that existing stuff in StatsBase is less solid than in other packages — it is certainly a mature package — it's just that having the option to change things without waiting for a major release of Julia is itself valuable.

It is very hard to draw the line for what's "basic" in statistics. IMO Statistics has the "super basic" stuff that is not even statistics for most people (eg a mean), StatsBase is the best place for well-established descriptive stats, non-parametric methods, and some basic interface specs, and other packages can do more specific things.

In any case, I think this is somewhat orthogonal to this issue (conditional on StatsBase not being merged into Statistics anytime soon). Tagging a 1.0 would be useful regardless.

tpapp avatar Nov 15 '19 11:11 tpapp

Given that we haven't made lot of progress towards moving things to Statistics, I think we should tag 1.0 next time we want to make a breaking release. Let's mark issues with the breaking label to track these.

nalimilan avatar Feb 01 '21 13:02 nalimilan

At the moment, moving to Statistics would also preclude any breaking changes, no matter how minor, until Julia 2.0.

Is adding things considered breaking? If not, that may be more of a feature than a bug :p

But I guess going 1.0 in StatsBase doesn't preclude anything on that side (if anything signals that there is no need for further API changes to the functions therein, even if they get moved to Base)

brenhinkeller avatar Jun 01 '21 00:06 brenhinkeller