-
Notifications
You must be signed in to change notification settings - Fork 74
allow DataFrames.jl 1.0 #96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I'll be happy to merge a PR when the tests pass, but unfortunately, ScikitLearn hasn't been updated in a while, and I'm in no position to really work on it. Help wanted! |
|
CI throws a massive number of warnings and an error on Python side. I do not know ScikitLearn well enough to diagnose unfortunately. |
|
Thank you for the work!
The trouble is that |
|
@cstjean, when @timholy moved on from Interpolations.jl he posted "Interpolations.jl needs a new maintainer" on Discourse. @ablaom heads up, this will likely cause some issues for MLJ users |
|
cc @OkonSamuel |
|
@cstjean Curious as to why DataFrames is a dependency. Most models just work on matrices, right? |
Yeah, DataFrames could be made an optional
Has there been other successful transitions through such an announcement? Seems a bit risky, especially for a package which is probably most attractive for recent Python to Julia converts... I'd love to pass on the torch, though. Right now, we're three maintainers: myself, @OkonSamuel and @alexmorley. I'll gladly give commit rights to anyone who shows up with a good PR and an interest. |
|
Perhaps the folks at PyCall.jl have some suggestions? @stevengj |
Based on our experience, I don't recommend using Requires.jl, if you can help it. Perhaps if you need to materialise a table, you just use a julia native table (eg, named tuple of vectors or dictionary of vectors keyed on On the other hand, if you are actually using DataFrames-specific interface (in particular, random access for rows), and a transition is painful, then leaving the DataFrames dep makes sense for now. |
|
Any updates on this? |
|
@PyDataBlog Updates will be posted here, anyone is very welcome to make another PR to complete this. In the meanwhile, you can use this branch to run ScikitLearn + DataFrames 1.0. It certainly won't be any worse than the current release. |
|
Albert Zevelev pointed out that for his use case, using older versions of Conda/PyCall Pkg.add([
Pkg.PackageSpec(name="Conda", version="1.5.0"),
Pkg.PackageSpec(name="PyCall", version="1.92.2"),
Pkg.PackageSpec(name="MLJ", version="0.16.0"),
Pkg.PackageSpec(name="MLJScikitLearnInterface", version="0.1.8"),
])resolves his problem. That's another track to follow through on... |
|
These versions of Conda and Pycall are just one patch earlier than the latest releases. And there is no change I could see in the Project files. So it is curious that this should make a difference. |
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
|
Tests on Ubuntu are passing, but notebook examples fail on macOS and Windows at the moment, which is the same situation we currently have on |
|
@giordano - thank you for finishing this. |
|
|
||
| try | ||
| return convert(Array, return_vector ? X[:, cols[1]] : X[:, cols]) | ||
| return Array(return_vector ? X[:, cols[1]] : X[:, cols]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are the changes in this file compatible with previous versions of DataFrames.jl?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. Constructors always worked. Just convert is a legacy think from pre-Julia 1.0 that we kept for some time to avoid breaking changes (and we have these breakages when we removed them 😄).
|
Should the package get a new release? |
|
I wish, but AFAIK we can't release until all the tests pass, no? We're close, but macos+windows still does not work. |
|
Ah - OK (I pinged, because there were some users asking about the release) |
Tests do pass for me locally on macOS in a clean environment. I suspect there are some issues with Python/Conda setup for macOS/Windows in GitHub Actions, but hunting them down could be a long task. Is that worth holding this back? |
|
In this case I would make a release and wait for user's feedback if anything is broken and then try to fix it in patch release (if needed) |
I'm out of touch, but once upon a time the registry auto-rejected packages whose CI failed. Has that changed? |
|
I don't think you even need CI implemented to register a package. And I agree with @bkamins suggestion. |
|
Yeah for AutoMerge, we only check that |
|
Then let's release! |
|
@cstjean Can you release a new version please, after merging #100, or delegate (maybe @OkonSamuel has authority now also?)? |
|
@OkonSamuel would you have time? |
it would be great to have DataFrames.jl 1.0 allowed and then release made. Thank you!