This would be really useful feature for temporarily setting config options while smuggling certain packages, and ensuring that they're reset afterward. There are even a couple use cases for it in the example code from the paper.
For example:
davos.auto_rerun = True
smuggle numpy as np # pip: numpy==1.21.6
smuggle pandas as pd # pip: pandas==1.3.5
davos.auto_rerun = False
could become:
with davos.configure(auto_rerun=True):
smuggle numpy as np # pip: numpy==1.21.6
smuggle pandas as pd # pip: pandas==1.3.5
And
davos.configure(suppress_stdout=True, noninteractive=True)
smuggle tensorflow as tf # pip: tensorflow==2.9.2
from umap smuggle UMAP # pip: umap-learn[plot,parametric_umap]==0.5.3
davos.configure(suppress_stdout=False, noninteractive=False)
could become:
with davos.configure(suppress_stdout=True, noninteractive=True):
smuggle tensorflow as tf # pip: tensorflow==2.9.2
from umap smuggle UMAP # pip: umap-learn[plot,parametric_umap]==0.5.3
It also shouldn't be too hard to implement -- I've already done close to the same thing with hypertools.set_interactive_backend
This would be really useful feature for temporarily setting config options while smuggling certain packages, and ensuring that they're reset afterward. There are even a couple use cases for it in the example code from the paper.
For example:
could become:
And
could become:
It also shouldn't be too hard to implement -- I've already done close to the same thing with
hypertools.set_interactive_backend