This VS Code extension leverages Microsoft’s Jupyter extension to bring the notebook paradigm to developers working with InterSystems IRIS servers, both local and remote.
Note: IRIS developers who already use the
objectscript.conn
settings object and don’t want to adopt Server Manager’sintersystems.servers
object for their server definitions are not required to do so. Howeverobjectscript.conn
must contain values forusername
andpassword
. Switching to use Server Manager would mean that plaintext password could be avoided.
File
menu select New File...
. This option is also available on the Welcome page.Jupyter Notebook
.Detecting Kernels
or Select Kernel
.IRIS Notebook Servers...
. Otherwise choose Select Another Kernel...
, then choose IRIS Notebook Servers...
from that picker.Add IRIS Notebook Host...
and proceed at step #8.PolyglotKernel.CodeExecutor
. Choose Yes
.Tip: To avoid having to load this class into other namespaces on the same server you can add a %ALL package mapping of the
PolyglotKernel
package to the default code database of the namespace you initially connected to.
IRIS ObjectScript INT
kernel.write $zversion,!,$namespace,!,$job,!
and click the Execute Cell button on the left. The output from the command will appear below the cell.Tip: If you forget to start the line with a space it won’t be syntax-colored correctly but it will still execute.
write $zversion,!
write $namespace,!
write $job,!
IRIS SQL
kernel. Use cells to run SQL statements, for example:SELECT 123 AS One, 456 AS Two
IRIS Python
kernel and run some Python code inside IRIS (‘IRIS Embedded Python’), for example:print('Hello world')
Polyglot IRIS
kernel. Begin each cell with a ‘magic’ line to indicate what language you are scripting in:
%%objectscript
%%python
%%sql
Note: Cells of a Polyglot IRIS notebook are not language-aware, so they lack syntax coloring, completions etc. The so-called ‘cell magics’ tell the server-side code executor class which language to run, but the Jupyter notebook extension is not currently able to use them to vary the cell language in the editor.
The Jupyter PowerToys extension adds a Kernels view to a dedicated Jupyter view container. Access this from its activity bar icon to explore remote servers, kernelspecs and active kernels (sessions).
The optional iris-jupyter-server.port
setting defines the local port to listen on. Default is 50773.
The iris-jupyter-server.hosts
settings object contains the server:NAMESPACE entries that you defined as you connected for the first time.
For example:
"iris-jupyter-server.hosts": {
"irislatest:USER": {
"enabled": true
},
"iris231:USER": {
"enabled": true
},
"doh-vvm:USER": {
"enabled": true
}
},
Initial development of this extension by George James Software was sponsored by InterSystems.
Please open issues at https://github.com/intersystems-community/vscode-iris-jupyter-server/issues
The InterSystems Developer Community is also a good place for discussion.