Provides a full implementation of the 'Jupyter' < http://jupyter.org/> messaging protocol in C++ by leveraging 'Rcpp' and 'Xeus' < https://github.com/QuantStack/xeus>.
'Jupyter' supplies an interactive computing environment and a messaging protocol defined over 'ZeroMQ' for multiple programming languages. This package implements
the 'Jupyter' kernel interface so that 'R' is exposed to this interactive computing environment. 'ZeroMQ' functionality is provided by the 'pbdZMQ' package.
'Xeus' is a C++ library that facilitates the implementation of kernels for 'Jupyter'. Additionally, 'Xeus' provides an interface to libraries that exist in the 'Jupyter' ecosystem for building widgets,
plotting, and more < https://blog.jupyter.org/interactive-workflows-for-c-with-jupyter-fe9b54227d92>. 'JuniperKernel' uses 'Xeus' as a library for the 'Jupyter' messaging protocol.
News
If you are viewing this file on CRAN, please check latest news on GitHub here.
Changes in v1.4.1.0
PATCHES
Build a windows interrupt handler that will listen to a Windows Event set by a parent process.
Fix NPE caused during comm_info_request due to malformed comm_info_reply object.
Changes in v1.4.0.0 (on CRAN 04/23/2018)
Add ability to change the default device settings as well as toggle it on/off.
Proper handling of warning messages.
Help is shown as a pager element and no longer clutters the notebook client.
Bug Fixes
Fix Rcpp::List -> json recursive utility. Before this was failing when lists were unnamed.
Fix history_request implementation so that the interactive console may function properly.
Changes in v1.2.3.0 (on CRAN 02/05/2018)
PATCHES
Point to pbdZMQ R package version 0.3-2. Provides an .onLoad implementation that will search for a externally installed zeromq library. This method is provided by Wei-Chen Chen (@snoweye).
Changes in v1.2.2.0 (on CRAN 01/16/2018)
PATCHES
Point to pbdZMQ R package version 0.3-1. This enables external zeromq dependencies to be found
included/linked correctly.
Changes in v1.2.1.0 (on CRAN 01/05/2018)
PATCHES
Remove subprocess dependency as it is unavailable on Solaris.
Jupyter protocol tests are done in CI only.
configure pulls in the paths by hand from the installed pbdZMQ package.
include zeromq headers
Changes in v1.2.0.0 (on CRAN 01/04/2018)
NEW FEATURES
jclient:
A minimal 'Jupyter' client is implemented to support testing of 'JuniperKernel'. This
client is compiled with the full package and has an un-exported API. The documentation of
this API is available via the usage in tests/doRunit.R and the related files.
Jupyter protocol tests are now made part of this package's CI.
BUG FIXES
shutdown_request messages now cause a clean shutdown (with exit 0). Before this fix, a shutdown_request would trigger a q("no") from within R before the shell, ctrl, and stdin sockets could clean themslves up. This would cause the application to "hang" when it attempted to destroy the zmq::context_t, and hence the kernel would need to be forcefully shutdown.
is_complete_request was missing an else if between the two incomplete checks resulting in an erroneous invalid state when a quote was missing.
Fixed Github issue #8 "Completion suggests “N” and “A” when there’s nothing to show": complete_request now returns an empty list list() when no matches are found (was returning NA).
NOTES
The 'zeromq' and 'pbdZMQ' static sources have been removed with a dependency on the R package
'pbdZMQ'. This is reflected in the DESCRIPTION file. Thank you to Wei-Chen Chen (@snoweye) from the
pbdR core team for making this happen.