8080labs / ppscore

Predictive Power Score (PPS) in Python
MIT License
1.12k stars 168 forks source link

Scikit-learn dependency < 1.0.0 #53

Open nielsuit227 opened 3 years ago

nielsuit227 commented 3 years ago

Scikit-Learn recently released their first stable version. There aren't many breaking changes, so I think it would be nice if this could be reflected in the dependencies of PPScore.

Would be happy to help with this as well.

8080labs commented 3 years ago

Thank you for pointing this out and we will adjust this as soon as we find time :)

Sent from mobile

On 26 Oct 2021, at 17:55, 'Niels Uitterdijk' via Admin @.***> wrote:

 Scikit-Learn recently released their first stable version. There aren't many breaking changes, so I think it would be nice if this could be reflected in the dependencies of PPScore.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

FlorianWetschoreck commented 3 years ago

Hey Niels, thank you for pointing this out and it would be great if you can bump the version and see if the tests still run. If this is the case, feel free to increase the max version of sklearn to <2 and I will create a new release then

nielsuit227 commented 3 years ago

Hey Florian, created a pull request. Can't create a new release however :)

FlorianWetschoreck commented 3 years ago

Yes, thank you Niels! As soon as the PR is final and merged I will create the release

SuryaThiru commented 2 years ago

@FlorianWetschoreck I think the PR is merged. #57

fwetdb commented 2 years ago

Yes, just did not have the time yet to do the new release. Feel free to pull/install from master until then

dylanscott commented 2 years ago

@FlorianWetschoreck any chance that a release could be cut for this? Version 1.2.0 is the most recent in PyPI

FlorianWetschoreck commented 2 years ago

Sorry but I currently have other priorities. Please feel free to use master until then.

aschonfeld commented 2 years ago

@FlorianWetschoreck it would be great if you could please cut this release (or allow someone else to do it). I've got some people clamoring for it on my end as well

SmokinCaterpillar commented 2 years ago

Yes this release would be great, we currently cannot integrate dtale in our dev dependencies because it again depends on ppscore which has a pinned sklearn version and our sklearn version is newer.

And installing from master and have individual install routines for different packages is not an option in our production system as this will drive maintenance costs quite substantially in the long run.

fwetdb commented 2 years ago

Thank you for bringing this up to my attention again! As of today, I still have other priorities and I am curious how open-source resolves this problem. Exploring the issue as part of the discussion might change my preferences.

With regard to the requesting entities: Who are the people, organizations, companies who request this and why? And who are their principals in return? e.g. Andrew is acting both for dtale and on behalf of dtale customers. Dylan was asking on behalf of Hex Notebooks and their customers. What is the contribution that the requesting parties and (maybe more importantly) the original requesting principals do to open-source themselves? Any self-disclosure around that?

With regard to the issue itself: What is the desired outcome of the entities and what are their preferences and constraints?

Based on that: What are possible ways to achieve the outcome? Based on how much resources the individual parties are willing to spend to achieve their desires, there are many viable paths.

Here are some paths that I see (from the view point of the person who has the original desire):

What are your thoughts?

PS: While I was writing this, I was wondering if some people might get angry. Maybe they expect an open-source project to provide maintenance and forward compatibility for free. Maybe they prefer for me to just do it instead of discuss it. If someone has thoughts on that meta level, I would appreciate them, too!

aschonfeld commented 2 years ago

@FlorianWetschoreck I can't speak for Hex Notebooks but for dtale this is preventing us from upgrading our sklearn dependencies. Currently users can view PPS matrices for the dataframes they load. So the desired outcome is that ppscore upgrades their dependency on sklearn so dtale can, in turn, upgrade it's dependency on sklearn & ppscore.

I probably don't know enough about what goes into cutting a new release of ppscore since I'm basing it off how long it takes for me to cut a new dtale release. It appears you've already merged the update and it doesn't appear to be breaking anything so all there is to do now is publish it to pypi and conda-forge. I apologize if I'm assuming too much.

I understand that I'm asking for this for "free" but I just assumed that's what open-source was all about. I've been supporting dtale for "free" for almost 3 years now. Maybe that mindset is naive.

SmokinCaterpillar commented 2 years ago

Quick question: How can one do: Fork ppscore and do a new release myself?

Neither of us has the credentials to actually do a release on pypi with the original package.

Are you suggesting to create a realz_ppscore on pypi instead? This just increases (the already quite big) proliferation of stale and stud packages on pypi (just check out how many very, very similar flask caching libraries exist), and would also not solve the dependency issue with dtale, because one would also need to create realz_dtale with a changed requirement.txt and so on and so forth.

fwetdb commented 2 years ago

Sorry for the long time until reply.

If someone is willing to take over the responsibility of the release, I am willing to grant the person maintainer rights for ppscore on PyPI.