RosettaCommons / binder

Binder, tool for automatic generation of Python bindings
MIT License
317 stars 67 forks source link

Config option to rename namespace (or join it contents with some other namespace, even global) #290

Closed A1exStepanov closed 5 months ago

A1exStepanov commented 5 months ago

It would be useful to make an option to rename namespace or join it contents with some other namespace.

Specifically, at the moment I need to move all bindings to the global namespace - maybe it is already possible to do this?

Regards, Alexey

lyskov commented 5 months ago

@A1exStepanov this is currently not possible. I also not sure if such option will fit well with overall Binder purpose and instead will be best to be delegated to supplemental .py package script that will serve as root import script for target package (in my experience any non-trivial package will require one). In Python script such manipulations could be done in very flexible manner directly in Python code.

Note that while skeptical I am still open to discuss this idea so if you feel strongly that this task is best be done on Binder level then please argue why do you think it is a better idea comparing to doing so in Python script. Thanks,

A1exStepanov commented 5 months ago

Hi! It was a proposal, not a special need. Yes, as an option, I considered creating a py with something like:

from x import *
from x.ns import *

But maybe it's a little performance drawdown. So I just added about 10 lines of code to the binder for this functionality (without checking the same names etc).

Thank you, I'm closing the issue

lyskov commented 5 months ago

@A1exStepanov re "performance drawdown": please note that this will only have impact on "import" performance (ie one time event) and should not have impact on "real code" performance.

So I just added about 10 lines of code to the binder for this functionality (without checking the same names etc). -- if you already implemented this and willing to put a PR then i will be happy to look at it (still no promise on it being merged though).