Interactive VBScript
Jupyter kernel implementation for VBScript
git clone https://github.com/ofer1katz/ivbscript.git
cd ivbscript
git lfs pull
python setup.py developduring installation registry will be edited to allow ANSI console color
[HKEY_CURRENT_USER\Console]
"VirtualTerminalLevel"=dword:00000001during installation com dll "tlbinf32.dll" (TLI.TLIApplication) will be registered if not registered already.
%systemroot%\SysWOW64\regsvr32.exe can be used to manually register/unregister
kernel specs will be copied to os.path.join(os.path.abspath(sys.prefix), 'share', 'jupyter', 'kernels', 'vbscript')
Newer or older versions of the packages may not be compatible. It is recommended to use the package versions listed below.
Requirement already satisfied: pygments in d:\programdata\anaconda3\lib\site-packages (from -r requirements.txt (line 1)) (2.11.2)
Requirement already satisfied: psutil in d:\programdata\anaconda3\lib\site-packages (from -r requirements.txt (line 2)) (5.9.0)
Collecting termcolor
Downloading termcolor-3.1.0-py3-none-any.whl (7.7 kB)
Requirement already satisfied: ipykernel in d:\programdata\anaconda3\lib\site-packages (from -r requirements.txt (line 4)) (6.15.2)
Requirement already satisfied: jupyter-console in d:\programdata\anaconda3\lib\site-packages (from -r requirements.txt (line 5)) (6.4.3)
Requirement already satisfied: ipython>=7.23.1 in d:\programdata\anaconda3\lib\site-packages (from ipykernel->-r requirements.txt (line 4)) (7.31.1)
Requirement already satisfied: matplotlib-inline>=0.1 in d:\programdata\anaconda3\lib\site-packages (from ipykernel->-r requirements.txt (line 4)) (0.1.6)
Requirement already satisfied: pyzmq>=17 in d:\programdata\anaconda3\lib\site-packages (from ipykernel->-r requirements.txt (line 4)) (23.2.0)
Requirement already satisfied: jupyter-client>=6.1.12 in d:\programdata\anaconda3\lib\site-packages (from ipykernel->-r requirements.txt (line 4)) (7.3.4)
Requirement already satisfied: traitlets>=5.1.0 in d:\programdata\anaconda3\lib\site-packages (from ipykernel->-r requirements.txt (line 4)) (5.1.1)
Requirement already satisfied: packaging in d:\programdata\anaconda3\lib\site-packages (from ipykernel->-r requirements.txt (line 4)) (21.3)
Requirement already satisfied: nest-asyncio in d:\programdata\anaconda3\lib\site-packages (from ipykernel->-r requirements.txt (line 4)) (1.5.5)
Requirement already satisfied: tornado>=6.1 in d:\programdata\anaconda3\lib\site-packages (from ipykernel->-r requirements.txt (line 4)) (6.1)
Requirement already satisfied: debugpy>=1.0 in d:\programdata\anaconda3\lib\site-packages (from ipykernel->-r requirements.txt (line 4)) (1.5.1)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in d:\programdata\anaconda3\lib\site-packages (from jupyter-console->-r requirements.txt (line 5)) (3.0.20)
Requirement already satisfied: jedi>=0.16 in d:\programdata\anaconda3\lib\site-packages (from ipython>=7.23.1->ipykernel->-r requirements.txt (line 4)) (0.18.1)
Requirement already satisfied: pickleshare in d:\programdata\anaconda3\lib\site-packages (from ipython>=7.23.1->ipykernel->-r requirements.txt (line 4)) (0.7.5)
Requirement already satisfied: backcall in d:\programdata\anaconda3\lib\site-packages (from ipython>=7.23.1->ipykernel->-r requirements.txt (line 4)) (0.2.0)
Requirement already satisfied: setuptools>=18.5 in d:\programdata\anaconda3\lib\site-packages (from ipython>=7.23.1->ipykernel->-r requirements.txt (line 4)) (63.4.1)
Requirement already satisfied: colorama in d:\programdata\anaconda3\lib\site-packages (from ipython>=7.23.1->ipykernel->-r requirements.txt (line 4)) (0.4.5)
Requirement already satisfied: decorator in d:\programdata\anaconda3\lib\site-packages (from ipython>=7.23.1->ipykernel->-r requirements.txt (line 4)) (5.1.1)
Requirement already satisfied: entrypoints in d:\programdata\anaconda3\lib\site-packages (from jupyter-client>=6.1.12->ipykernel->-r requirements.txt (line 4)) (0.4)
Requirement already satisfied: jupyter-core>=4.9.2 in d:\programdata\anaconda3\lib\site-packages (from jupyter-client>=6.1.12->ipykernel->-r requirements.txt (line 4)) (4.11.1)
Requirement already satisfied: python-dateutil>=2.8.2 in d:\programdata\anaconda3\lib\site-packages (from jupyter-client>=6.1.12->ipykernel->-r requirements.txt (line 4)) (2.8.2)
Requirement already satisfied: wcwidth in d:\programdata\anaconda3\lib\site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->jupyter-console->-r requirements.txt (line 5)) (0.2.5)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in d:\programdata\anaconda3\lib\site-packages (from packaging->ipykernel->-r requirements.txt (line 4)) (3.0.9)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in d:\programdata\anaconda3\lib\site-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel->-r requirements.txt (line 4)) (0.8.3)
Requirement already satisfied: pywin32>=1.0 in d:\programdata\anaconda3\lib\site-packages (from jupyter-core>=4.9.2->jupyter-client>=6.1.12->ipykernel->-r requirements.txt (line 4)) (302)
Requirement already satisfied: six>=1.5 in d:\programdata\anaconda3\lib\site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.12->ipykernel->-r requirements.txt (line 4)) (1.16.0)
Installing collected packages: termcolor
Successfully installed termcolor-3.1.0
You can install most of them via install Anaconda3-2022.10-Windows-x86-64.rar.
ivbscriptor
jupyter console --kernel vbscriptcls/clear- clear consoleexit/exit()/quit/quit()- exit iVBScript!<command>- execute a child program in a new process<variable>?- inspect<variable>%reset- reset console%file <file_path>- read<file_path>and run the content as VBScript code%paste- paste and execute
Unhandled exception in event loop:
File "c:\users\USER\appdata\local\programs\python\python38-32\lib\asyncio\proactor_events.py", line 768, in _loop_self_reading
f.result() # may raise
File "c:\users\USER\appdata\local\programs\python\python38-32\lib\asyncio\windows_events.py", line 808, in _poll
value = callback(transferred, key, ov)
File "c:\users\USER\appdata\local\programs\python\python38-32\lib\asyncio\windows_events.py", line 457, in finish_recv
raise ConnectionResetError(*exc.args)
Exception [WinError 995] The I/O operation has been aborted because of either a thread exit or an application request
Press ENTER to continue...Take a look at the following workaround: ipython/ipython#12049 (comment)
pip install -r requirements_dev.txt -U --upgrade-strategy eagercoverage erase
coverage run --source=. --omit="*\tests\*" -m pytest -v -s
coverage report -mprospector --strictness veryhigh
# Analyze the given Python modules and compute Cyclomatic Complexity (CC).
radon cc . --min B
# Analyze the given Python modules and compute the Maintainability Index.
radon mi . --min B
# Analyze the given Python modules and compute raw metrics.
radon raw .
# Analyze the given Python modules and compute their Halstead metrics.
radon hal .- test coverage
- using pipes instead of files for communication with vbscript
- better implementation of exit/quit (via jupyter)
- evaluate expressions
- complete session's variables/functions/etc. using -
Tab(do_complete) - use
do_inspect()for inspect - inspect levels support -
?/?? - paste into terminal -
Ctrl + v