plotly / Kaleido

Fast static image export for web-based visualization libraries with zero dependencies
Other
348 stars 33 forks source link

Is this project dead? #150

Open gygabyte017 opened 1 year ago

gygabyte017 commented 1 year ago

Hi, I noticed that Kaleido hasn't received any update in a year and half, it has many many unresolved issues related to write_image hanging problem, and yet it is the recommended package from plotly to write static images.

So I wonder what are the plans of this project and whether Kaleido will receive any support in the future, because for now it is pretty useless for production.

jonmmease commented 1 year ago

Hi @gygabyte017. Kaleido is a complex project and now that I'm no longer working with/for Plotly, I don't have the bandwidth to support it on a volunteer basis. Whether it has a future is a question for the Plotly team.

nicolaskruchten commented 1 year ago

I would say that Kaleido is not dead at all: many people use it every day without issue. We do have this unfortunate situation where some (mostly Windows?) users have hanging calls which no one has gotten to the bottom of just yet, though. I don't know that anyone is actively working on that issue, given the complexity of building the project, but it seems to impact only a small minority of users (about 1 issue a week is reported despite over 336k downloads/week from PyPI).

gygabyte017 commented 1 year ago

I totally understand, my question was meant to check whether I should wait for future releases or I should move on and try to find something else (which I sincerely wouldn't like to), since in our production environment it doesn't work.

From what I saw in the issues, it happens either on Windows and on Unix, in my case on Unix running in k8s pods. I guess most of the users downloading it use it on their computer without truly deploying on a constrained environment with strict requirements in terms of cpu and ram like k8s is, and generally I found out that on every "big" computer it works perfectly (mine as well).

The most annoying thing is that it is totally unpredictable, finally I got it to work with the combination (python 3.9, plotly 4, kaleido 0.2.0), then I just upgraded to (python 3.10, plotly 5, kaleido 0.2.0) as per project requirement without touching anything of the code and anything of kaleido, and now it hangs again after 10 calls, after 30 calls, who knows, and unfortunately I'm wasting a lot of time trying to get it to work "by luck" without any info about debugging or seeing what is doing and where it hangs, and I believe that is a pity since the project itself is very good.

Thank for your comments.

AbdealiLoKo commented 1 year ago

HI @jonmmease thanks a lot for all the work so far !

It may be good to have a new maintainer assigned (and put in https://github.com/plotly/Kaleido/blob/master/repos/kaleido/py/setup.py#L290 ?) if there is a new maintainer from the Plotly team

AbdealiLoKo commented 1 year ago

Also, from a maintenance perspective - I am happy to help triage a little on my free time if required.

One very simple thing I think would help in general the community using kaleido is some basic triaging, I understand the hanging issue exists. but currently there seem to be multiple issues about it with fragmented information in each if I take a quick glance at github issues: https://github.com/plotly/Kaleido/issues/134 https://github.com/plotly/Kaleido/issues/126 https://github.com/plotly/Kaleido/issues/120 https://github.com/plotly/Kaleido/issues/112 https://github.com/plotly/Kaleido/issues/110 https://github.com/plotly/Kaleido/issues/103 https://github.com/plotly/Kaleido/issues/98 https://github.com/plotly/Kaleido/issues/87 https://github.com/plotly/Kaleido/issues/80

And If I wanted to understand what options I have (downgrading, installing some library, etc) I need to read through a lot of stuff. Having a single issue with a signle:

MichaelTiemannOSC commented 1 year ago

I would say that Kaleido is not dead at all: many people use it every day without issue. We do have this unfortunate situation where some (mostly Windows?) users have hanging calls which no one has gotten to the bottom of just yet, though. I don't know that anyone is actively working on that issue, given the complexity of building the project, but it seems to impact only a small minority of users (about 1 issue a week is reported despite over 336k downloads/week from PyPI).

Well it just cost me a morning. And a lot of time chasing all sorts of other random issues trying to support a brand-new user who doesn't have all the expected permissions (firewall, github, anaconda, pipenv, jupyterhub, etc) fully in their fingers yet. So, while trivial to fix once we identified the problem, its very existence cost us a lot of time. I don't know how many people would put in the hours we did to force our way to success, but I suspect the lack of reporting is due to people just giving up on something that should "just work" (writing an image to a JPEG file in Plotly).