I was going to suggest maybe passing it to init too.
You mentioned you had a print util. Maybe it would be enough to have a registration function you have to call initially which would generate and give the calling addon back a unique key. Then you pass the key as an argument whenever you need to. That's way more complicated and probably less effective than just passing the calling addon's namespace every time.
But Ayantir is right, libraries should be pretty independent of the code using them. Maybe the design should be revisited.
|