From a3e435c72ee94affdb272bd0e0e8f8877f493dbf Mon Sep 17 00:00:00 2001 From: Gregory Amis Date: Mon, 12 Jul 2021 16:51:48 -0400 Subject: [PATCH] Added disable_javascript_update to prevent lazy imports from polluting non-jupyter consoles with "". Addresses issue #30. --- src/pyforest/__init__.py | 2 +- src/pyforest/_importable.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/pyforest/__init__.py b/src/pyforest/__init__.py index b7351ea..afa9ad1 100644 --- a/src/pyforest/__init__.py +++ b/src/pyforest/__init__.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- from ._imports import * +from ._importable import disable_javascript_update from .utils import ( get_user_symbols, install_extensions, @@ -15,7 +16,6 @@ if import_symbol not in user_symbols.keys(): user_symbols[import_symbol] = eval(import_symbol) - # set __version__ attribute from pkg_resources import get_distribution, DistributionNotFound diff --git a/src/pyforest/_importable.py b/src/pyforest/_importable.py index 128e272..817516f 100644 --- a/src/pyforest/_importable.py +++ b/src/pyforest/_importable.py @@ -91,6 +91,15 @@ def __repr__(self, *args, **kwargs): return f"lazy pyforest.LazyImport for '{self.__import_statement__}'" +def disable_javascript_update(): + """ + For use in non-Jupyter environments, disable _update_import_cell + """ + from pyforest import _importable + _importable._update_import_cell_disabled = _importable._update_import_cell + _importable._update_import_cell = lambda: None + + def _update_import_cell(): try: from IPython.display import display, Javascript