This is odd. I am not aware of any special structure. Maybe it is something simple, like line formatting.
I find the double usage as Variable file and Library suspicious. It never occured to me to try this:
*** Settings ***
Library PDFReturn.py
Variables PDFReturn.py
I use separate files for these purposes.
Also: i use libraries with in capital letter as class library not as module library. Not sure if python or robot have a similar assumption. I would try to build it like that and rename the library:
Library pdf_return.py
Variables configuration.py
Module libraries cannot be shared with other projects, therefore I hardly ever use them. Class libraries have the same implementation effort, but they can be easily transferred in to a separate library project:
from robot.api.deco import library
@library
class PDFReturn:
var1 = none
var2 = none
def from_pdf (self):
self.var1 = some data from PDF file
self,var2 = some data from PDF file
returnVariable = (var1, var2)
return returnVariable
Maybe the thoughts help.