IWolfram
Jupyter Interface for Wolfram Mathematica / Mathics Notebooks based on Metakernel. The idea is to have a common kernel for both versions of the language with a compatible notebook form.
So far this is a proof of concept.
Installing
$ pip install -e .
...
Installing collected packages: wolfram-kernel
Running setup.py develop for wolfram-kernel
Successfully installed wolfram-kernel
Running
Launch by running this command in a terminal
$ jupyter notebook --kernel=wolfram_kernel
This will launch the Jupyter file explorer in a browser window.
Navigate to the examples
folder and open the example worksheet
called Examples and tests.ipynb
.
Contributing
Please feel encouraged to contribute to this project! Create your own fork, make the desired changes, commit, and make a pull request.
License
IWolfram is released under the GNU General Public License (GPL).
Interactive 3D Graphics
Basic support for interactive 3D graphics is implemented. The implementation is based on Three.js and on the interface developed by Angus Griffith for the Mathics Project.
About graphics
Currently, IWolfram has almost full support for graphics when using the original Wolfram Mathematica as the backend, and a very limited support when using Mathics. On the other hand, to generate image files, Wolfram Mathematica requires that the user have a graphic terminal open on the server. Worse, if a graphic server is not available, any call to a graphic command crashes the IWolfram kernel. If we run the Jupyter Notebook server on the same machine we are running the front end this is not a problem, but it can be if the server runs in a remote machine. To overcome this issue, a workaround is to use the Xvfb xorg kernel to simulate a graphic server. To do this, we need to install Xvfb on the computer where the Jupyter Notebook server will run, and to set
xvfb-run -a -s "-screen 0 640x480x24" <path_to_the_mma_kernel_executable>/MathKernel
as the the kernel backend invocation command.