Ideas that Were Not Used¶
This doc is intended to track ideas that we thought were good at first but later decided against. This way we can remember why we are not doing specific things and track the the circumstances were at the time.
Modification of the Imported Module¶
When a module is imported Python loads the module object onto sys.modules. The
object on the hub
is not the module but an object filled with refs to classes
functions etc. Early on we decided to make it easy to call functions inside the same
module by taking the wrapped function and then overriding the function on the
module object loaded into sys.modules.
We ran into some issues, like the module being imported outside of pop
and
then getting changed by pop later on. We felt that it would be better to keep
the modules clean. This allows us to have multiple hubs and is less surprising to
users. The downside is that if you call a function locally in a module then
it is not contracted and the hub needs to be passed in manually.