forked from DonJayamanne/pythonVSCode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgetJupyterVariableList.py
More file actions
31 lines (26 loc) · 1.09 KB
/
getJupyterVariableList.py
File metadata and controls
31 lines (26 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#%DATASCIENCE_INTERNAL_KEY%#
# Query Jupyter server for defined variables list
# Tested on 2.7 and 3.6
from sys import getsizeof as _VSCODE_getsizeof
import json as _VSCODE_json
from IPython import get_ipython as _VSCODE_get_ipython
# _VSCode_supportsDataExplorer will contain our list of data explorer supported types
_VSCode_supportsDataExplorer = "['list', 'Series', 'dict', 'ndarray', 'DataFrame']"
# who_ls is a Jupyter line magic to fetch currently defined vars
_VSCode_JupyterVars = _VSCODE_get_ipython().run_line_magic('who_ls', '')
_VSCode_output = []
for _VSCode_var in _VSCode_JupyterVars:
try:
_VSCode_type = type(eval(_VSCode_var))
_VSCode_output.append({'name': _VSCode_var, 'type': _VSCode_type.__name__, 'size': _VSCODE_getsizeof(_VSCode_var), 'supportsDataExplorer': _VSCode_type.__name__ in _VSCode_supportsDataExplorer })
del _VSCode_type
del _VSCode_var
except:
pass
print(_VSCODE_json.dumps(_VSCode_output))
del _VSCODE_get_ipython
del _VSCode_output
del _VSCode_supportsDataExplorer
del _VSCode_JupyterVars
del _VSCODE_json
del _VSCODE_getsizeof