PythonRemoteServer icon indicating copy to clipboard operation
PythonRemoteServer copied to clipboard

Speed-loading large libraries with get_library_information

Open JFoederer opened this issue 4 years ago • 7 comments

Hi @pekkaklarck,

Could you please review these changes and provide feedback on this pull request in combination with pull requests Python remote server Test suite update and Implement get_library_information interface for Remote libraries (Robot side)?

Together they make a long overdue step for the Python remote server, fixing a number of issues

Python remote server issues:

Robot framework issue:

There is however some dotting the ï-s to do and some decisions to be made, for which I would value your vision. for instance:

  • How to version this update (and update docu accordingly)
  • Python 2 support (Not compatible in the current state)
  • How to deal with binary vs unicode (and fix tests accordingly)

JFoederer avatar Jan 03 '21 14:01 JFoederer

Sorry for neglecting this PR for so long. Been busy with getting RF 4.0 work and RoboCon planning. I won't have time for this project until RF 4.0 final is out, but I will look at the related issue on the RF side to see could we still get those changes into that release.

pekkaklarck avatar Mar 04 '21 16:03 pekkaklarck

Hey Pekka, In the meantime I also joined the Slack community, where I got a bit more feel for what is going on overall with the RF developments. From that it was clear the attention had to go elsewhere for a bit, so no problem.

Getting the Robot side preparations for these improvements integrated already would certainly ease the delivery of this update later on. Let's see, let me know if you have questions!

JFoederer avatar Mar 04 '21 17:03 JFoederer

RoboCon sprints are running today and we just decided to talk about Python remote servers there at 12:00 UTC. Sprints are organized on Gather and you can access them via https://venue.robocon.io. This is very late notice but it would be great if you could make it there @JFoederer!

pekkaklarck avatar Mar 19 '21 11:03 pekkaklarck

A problem with this PR is that it contains so many different fixes and enhancements that reviewing everything is really hard. If you @JFoederer are still interested on this, could you create smaller PRs for each enhancement?

Right now I'm planning to create v1.1.1 with urgent Python 3.10 and 3.11 compatibility fixes, but I hope I could return to this project soon again and we could then do v1.2 with some new functionality. We can discuss this more on Slack as well.

pekkaklarck avatar Dec 11 '22 16:12 pekkaklarck

I believe the most important enhancement would be adding get_library_information. There's also PR #79 adding it, but it has some problems as well.

pekkaklarck avatar Dec 11 '22 16:12 pekkaklarck

Ah yes, this PR. The real struggle was to get a decent base to start from. There were tests failing, test missing and several things not working properly, if I recall correctly. I didn't have the overview at the time to isolate improvements. I was just happy to get something working in my context then.

The context being the option to host multiple libraries. Or actually hosting remote Robot runs for system-of-systems testing. Getting that to work made me fall from one thing into the other, including massive load times, until I had it working.

I am not sure I'll have time for this on short notice, but I'd be happy to help out where I can.

JFoederer avatar Dec 17 '22 15:12 JFoederer

I'll look at this again when starting v1.2 development. I'll now create v1.1.1 with just Python compatibility fixes.

pekkaklarck avatar Dec 23 '22 12:12 pekkaklarck