PythonRemoteServer icon indicating copy to clipboard operation
PythonRemoteServer copied to clipboard

Support serving multiple libraries by one server

Open pekkaklarck opened this issue 10 years ago • 17 comments

This would obviously ease hosting multiple libraries considerably. jrobotremoteserver by @ombre42 already handles this.

pekkaklarck avatar Mar 18 '14 10:03 pekkaklarck

Hi there,

Do you have an estimated time of delivery for this change?

Regards,

Jw

wrightj5 avatar Apr 17 '14 09:04 wrightj5

Unfortunately I doubt I have time look at this in the near future. Getting RF 2.8.5 out and then starting RF 2.9 is likely more important for my main client. Sponsoring the development or providing a pull request would obviously fasten the development. Let me know if you are interested in either of them and we can agree on details.

pekkaklarck avatar Apr 17 '14 12:04 pekkaklarck

Hi. My robotframework-tools contain an extended RobotRemoteServer which has multiple library support and other additional features:

https://github.com/userzimmermann/robotframework-tools#4-using-robot-framework-remotely

userzimmermann avatar May 09 '15 11:05 userzimmermann

So with Robot Remote server we can host multiple libraries ?

samratashok87 avatar Mar 29 '16 11:03 samratashok87

@userzimmermann: Cool! Interested to provide a pr here too?

pekkaklarck avatar Mar 29 '16 17:03 pekkaklarck

@samratashok87 Hi. Thanks for your interest. And sorry for the late answer :) Yes. By installing my https://github.com/zimmermanncode/robotframework-tools you can do that by following the explanation at https://github.com/zimmermanncode/robotframework-tools#4-using-robot-framework-remotely Among some additional features also explained there. But be aware that my project is still in an alpha stage and has still compatibility issues with Robot Framework 3.0.

@pekkaklarck Nice that you are also interested in that stuff :) Regarding a PR: Honestly, I don't want to put effort into extracting my derived RemoteRobot layer from my robottools package for direct integration into robotremoteserver. It is too much linked to other components of my package. Everyone can use it from my package, and I am already working on full Robot 3.0 compatibility of the whole project.

userzimmermann avatar Apr 11 '16 11:04 userzimmermann

I have made some changes in the project to accept multiple libraries on a new branch. I don't have permission on the project to push. This is my own repository: https://github.com/zeinababbasi/RobotFrameworkPythonRemoteServer/tree/master

zeinababbasi avatar Sep 17 '17 04:09 zeinababbasi

Great that you are interested to help with this. I looked at your repo, but for some reason it seems that you have modified all files and it's totally impossible to see the actual changes. Probably best if you fork the repository again and add you changes on top of it. I'd also recommend creating a separate topic branch for the work as it makes it easier to create pull request later.

pekkaklarck avatar Sep 18 '17 09:09 pekkaklarck

Hi Dear Pekka,

I will contribute my changes on the original project as soon as it's possible. :-)

On Mon, Sep 18, 2017 at 1:44 PM, Pekka Klärck [email protected] wrote:

Great that you are interested to help with this. I looked at your repo, but for some reason it seems that you have modified all files and it's totally impossible to see the actual changes. Probably best if you fork the repository again and add you changes on top of it. I'd also recommend creating a separate topic branch for the work as it makes it easier to create pull request later.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/robotframework/PythonRemoteServer/issues/19#issuecomment-330166086, or mute the thread https://github.com/notifications/unsubscribe-auth/ATBblbJuHcJir_LGiZuwlZ90XIIcEGdoks5sjjRjgaJpZM4Bqh9J .

zeinababbasi avatar Sep 18 '17 10:09 zeinababbasi

@pekkaklarck It seems that @zeinababbasi patch works. I have tested it with my libraries and it works. When do you plan to merge this patch ?

livelace avatar Jan 30 '18 17:01 livelace

Great to hear that the code works. I still don't see any pull-request and that makes reviewing and merging changes hard. Are you @zeinababbasi interested to create a PR? If not, are you @livelace?

pekkaklarck avatar Jan 31 '18 22:01 pekkaklarck

Hi, is there somethin missing for the PR to finish? Thanks.

wagnerd avatar Jul 15 '18 08:07 wagnerd

It seems I have missed PR #47 that implements this. Unfortunately all my development time is currently spent with Robot Framework core and I don't really have time for this project until RF 3.1 is released.

pekkaklarck avatar Aug 07 '18 07:08 pekkaklarck

Hi, RF 3.1 is now released :-) Maybe there is a little time slot for this great feature? Regards, Mario

loumaran avatar Mar 14 '19 07:03 loumaran

Any chance we may be able to get this in still? We are finding a need for it as well and this would eliminate our need to have 10-12 of these running.

s-galante avatar Nov 21 '19 14:11 s-galante

I'm sure this is added at some point, but unfortunately my time is still spent with Robot Framework core and at the moment with trying to get RF 3.2 ready. I'd be ready to share maintainer responsibilities with someone else if there'd be interest.

pekkaklarck avatar Nov 22 '19 16:11 pekkaklarck

One thing that seems to work (YMMV) is creating a new class that inherits all of your libraries classes, effectively wrapping them into a single class. I say YMMV because there's bound to be edge cases folks will run into around name collisions for methods and fields, but at a high level this approach seems to work and provide a quick hack to enable this functionality.

from lib_a import LibraryA
from lib_b import LibraryB

from robotremoteserver import RobotRemoteServer


class MergedLibraries(LibraryA, LibraryB):
    pass


RobotRemoteServer(MergedLibraries())

AntonKueltz avatar Sep 13 '23 21:09 AntonKueltz