spyder-ide/spyder-line-profiler

How to proceed with spyder 5 compatibility

skjerns opened this issue · 4 comments

I already created a PR for compatibility with Spyder 5 #53 , however there were more changes to the plugin system so the fix does not seem to work well, and additionally I'm not quite satisfied with the current solution.

How should we proceed with making spyder-line-profiler compatible with Spyder 5? I'm using this tool quite frequently and currently need to maintain a Spyder 4 installation in a virtual env just for this.

I'd much appreciate a decision and how to continue, and would volunteer to program/implement the changes.

Hi @skjerns thank you so much for offering your help with this! From my side maybe makes sense to release a major version adding the support for Spyder 5 instead of a minor with a compatibility layer between 4 a 5 but just in case pinging @spyder-ide/core-developers for ideas.

Also, as a guide, I think checking the changes done to support spyder-ide/spyder-terminals could be worthy (I think that's the only external plugin migrated to Spyder 5 for the moment). I think the PRs that implemented that are these:

I am nominally the maintainer of the plugin. I have been busy in the last year or so but I think I can carve out some time now for this. My first though, like dalthviz, is that we should aim to release a new version of the plugin which only supports Spyder 5.

It is true that pip often leads to version incompatibilities, but I am not sure whether we should accept the code duplication in PR #53 in order to deal with that. I'd prefer to concentrate on getting the plugin to work with Spyder 5.

I adapted the spyder-unittest plugin for Spyder 5, see PR spyder-ide/spyder-unittest#166. I plan to release that in a week or so.

@skjerns How do you want to proceed? Are you willing and able to change the PR or write a new one that only supports Spyder 5? You say that your PR does not work well, what do you mean and can you fix that? Alternatively, you can wait until I get around to updating this plugin, hopefully in a month or so but perhaps it will take (much) longer. In any case, many thanks for the work that you have already done.

Thanks for the feedback!

I agree with having a Spyder5-only version. I can adapt my PR to that, or respectively make a new PR with the given change. However, same as you, I'm lacking time for that at the moment as well. The changes I made were motivated by me needing a spyder5 version, which now exists well enough for me. So feel free to start with something, as I don't know either when and if I get to it.

with 'not working' I meant that I kind of hacked it together for lack of proper examples/docs of spyder 5 plugin creation. however, now that exists, it will be easy to change that.

It is true that pip often leads to version incompatibilities

To note, pip now has a dependency resolver, greatly improved as of 2020, much like conda. It still doesn't interact perfectly with conda envs or handle binary deps like conda, but the situation on that front is waaaay better than it used to be, at least with modern pip, as far as I can tell. Just supporting Spyder 5 does seem to make the most sense at this point.