On Mon, Jun 21, 2021 at 3:28 PM Soni L. <fakedme...@gmail.com> wrote:

>
>
>
> For exec/eval you just pass in the locals:
>
> exec(foo, globals(), locals())
>
> because this __getattribute__ is just a local like any other.
>
> As for each module, you'd import them. But not quite with "import":
>
> import extension_methods # magic module, probably provides an
> @extend(class_) e.g. @extend(list)
> import shallow_flatten
> import deep_flatten
> __getattribute__ = extension_methods.getattribute(
>   shallow_flatten.flatten, # uses __name__
>   deepflatten=deep_flatten.flatten, # name override
>   __getattribute__=__getattribute__, # optional, defaults to
> builtins.getattr
> )
>
> This would have to be done for each .py that wants to use the extension
> methods.
>

I bet you that you could already do this today with a custom import hook.
If you want to "easily" experiment with this, I would suggest having a look
at https://aroberge.github.io/ideas/docs/html/index.html
which likely has all the basic scaffolding that you would need.

André Roberge



> >
> > ChrisA
> > _______________________________________________
> > Python-ideas mailing list -- python-ideas@python.org
> > To unsubscribe send an email to python-ideas-le...@python.org
> > https://mail.python.org/mailman3/lists/python-ideas.python.org/
> > Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/3DL46SIS2A7D3W4FNSTH37O6VDJJB2ZP/
> > Code of Conduct: http://python.org/psf/codeofconduct/
>
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/ROZN62HQYL6X5LCJ7J5DNOC7W3DBGYHF/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/KLEBIWRLYLLXHTJT264OPMSVY3CBUG37/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to