andreas-h / pyloess

loess smoother / stl seasonal trend decomposition, originally from scipy.sandbox.pyloess
Other
56 stars 39 forks source link

Request for python3 support #4

Open yjiangnan opened 7 years ago

yjiangnan commented 7 years ago

Hi @andreas-h,

I am developing an open-source biomedical (genomic) data analysis tool, and I need pyloess for fitting data and calculating standard errors. Now I have to install pyloess in python2 and call it by execnet tunnel in python3. However, this would not only be more complicated for users, but also have a limit on the number of data I can send through the tunnel. Large genomic data simply would not work. For the sake of curing cancer and other diseases, can you help make pyloess directly compatible with python3, please?

andreas-h commented 7 years ago

Hi yjiangnan,

thanks for your interest! However, I have to admit I've never really worked with pyloess (when you look at the commits you'll see that the original code comes from other people).

At some point I created a repository, but never really got to work on it. Also, at the moment I don't need LOESS and won't have the time to work on it.

But that's the beauty of open-source: Feel free to fork the repo and do the Python3 modifications yourself!

Now that I think about it, several people seem to be interested in the repo. I'll try to remember starting a discussion about potential new maintainers.

Cheers, Andreas

yjiangnan commented 7 years ago

Hi Andreas,

Thanks for the reply. I tried to make it work with python3, but it seems that it is more difficult than what I can do. The compiling errors occurred in an automatically generated .c file and I do not even know which file it was generated from, how it was generated, not even to mention fixing the problem.

Thanks, Jiang-Nan

On Sep 10, 2017, at 11:33 PM, Andreas Hilboll notifications@github.com wrote:

Andreas

jcrotinger commented 6 years ago

@yjiangnan I found some fixes in another fork, but there was a bad line-break in one of the files, which is now fixed in my fork. Includes a little stl graphical demo as well. Seems to be working with Python 3 for me. An upstream fork had added a standalone BLAS implementation, but I did not add that to my fork as I think we should go with whatever numpy is built with. (The comments were for installations that had a numpy with no blas, which sounds like an unusual use case. I'm guessing there is a way to make this conditional but I don't know my way around setup.py well enough to do this.)

yjiangnan commented 6 years ago

Cool. I tried your fork and it seems to be working with python3. Although there is still a small compatibility issue. lo = loess(x, y, span=0.8, statistics='approximate') This would result in an error: _loess.pyx in _loess.loess.init (./src/_loess.c:8081)()

_loess.pyx in _loess.loess_control.update (./src/_loess.c:3452)()

_loess.pyx in _loess.loess_control.statistics.set (./src/_loess.c:2797)()

TypeError: expected bytes, str found

I do not need to pass the statistics parameter anyway. Thanks for the fix.

On Nov 10, 2017, at 2:01 AM, sf_jac notifications@github.com wrote:

@yjiangnan https://github.com/yjiangnan I found some fixes in another fork, but there was a bad line-break in one of the files, which is now fixed in my fork. Includes a little stl graphical demo as well. Seems to be working with Python 3 for me. An upstream fork had added a standalone BLAS implementation, but I did not add that to my fork as I think we should go with whatever numpy is built with. (The comments were for installations that had a numpy with no blas, which sounds like an unusual use case. I'm guessing there is a way to make this conditional but I don't know my way around setup.py well enough to do this.)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/andreas-h/pyloess/issues/4#issuecomment-343342497, or mute the thread https://github.com/notifications/unsubscribe-auth/AZm5NLW67fASnb4f-YqLRUpK_yRogv-Uks5s06BhgaJpZM4PRGud.