I find Jupyterlab working great, if you intend to publish your work on the web. When I do straight data science / machine learning research and prototyping, I find PyCharm Scientific Mode much better suited for the task, than Jupyterlab. It does not have the publishing UI overhead and basically re-creates MATLAB UI/UX for Python, together with ability to run cells separately, which is fantastic for the prototyping.
I agree but currently there still quite a few bugs that force me to open jupyter directly.
Eventually, I think there should be a better separation of concerns. IDEs should be IDEs and Jupiter notebook should be a thinner background service a-la typescript language service.
As a non-ds person, but that enjoys tinkering with data science stuff, I'm not a big fan of having to code in jupyterlab.
But with no proper gpu locally I'm kinda forced to use something remote. And getting DS dependencies set up correctly is almost impossible, so even if I had a GPU I'd probably anyways end up with something remote working out of the box.
I've tried to connect to them with Pycharm, and even downloaded a trial of Dataspell, their new IDE for DS. But I can't really get the integration to work. I'd like to do everything from the IDE, using the interpreter and power from the remote server. But feels like were not there yet, so many small bugs.
PyCharm has a full remote workflow, which I find too difficult to use. I am sure they will make it easier as it still in infancy. Instead, I just configure a remote SSH interpreter. Then you could create a remote SSH project pretty easily. The wrinkle is that you can not create an SSH project with the Scientific Mode (it says not supported). Instead you just create a regular SSH project and then, after the project is created, you switch to the Scientific Mode. Everything will work fine then. I do not think the above process will work in the Community version of the PyCharm, - you have to use Professional Edition.