Comments (10)
PR #45 resolves this issue.
from maxima-jupyter.
Tony, I think that makes a lot of sense, but unfortunately I can't promise to work on that. Is that something you want to work on? If so I encourage you to go ahead, I'll be glad to incorporate patches or pull requests as you see fit.
from maxima-jupyter.
@robert-dodier I made a quick attempt yesterday but didn't get very far. I've not had success with running the Dockerised maxima-jupyter
kernels either. The whole Lisp thing, environments etc are alien to me, so even trying to figure out the simplest debugging takes time... I'll try to have another go when I get a chance... (Use context is that folk I know use Maxima in a course and are thinking about migrating to notebooks, but they want to keep on using Maxima. I was hoping to be able to run an off-the-shelf demo to show them how it might look... I'll see if they can help me get a build script running...)
from maxima-jupyter.
What platform are those folks using? If they are using Windows, I'm not sure what's involved in getting maxima-jupyter to run; I don't have a Windows system available to work on. But for Linux, I'm pretty sure that I've figured out how to get a working maxima-jupyter setup in a straightforward, consistent way, and we might be able to relatively easily construct a binary .deb package. (Linux + .deb or .rpm packages is what I'm familiar with -- Docker is new to me.) For MacOS, might be somewhere between Windows and Linux.
from maxima-jupyter.
I'm guessing Windows, but that's a distractor... The real aim is to have a version running on a remote, Linux based Jupyter notebook platform (something we could be running as a service under JupyterHub on a cloud host.)
If you have a Linux set-up that works from scripts, it should be easy enough (?!) to add the config files to this repo that would allow it to run using MyBinder (docs). The build process automatically inserts a Jupyter notebook server into the built image and automatically launches it when you "run" a repo on MyBinder.
Any required Linux packages listed in an apt.txt
file are automatically installed, as are any required Python pip packages listed in requirements.txt
. A postBuild
file contains Linux command line commands that are to be run once the packages are installed.
For example, in this repo that builds a gnuplot kernel using metakernel, the build process:
- uses a default Jupyter notebook server setup;
- installs
gnuplot
fromapt.txt
; - installs
matplotlib
andnumpy
fromrequirements.txt
; - builds the kernel from automatically running the
setup.py
file; - uses the
postBuild
file to add the kernel to the automatically installed notebook server's list of available kernels (python -m gnuplot_kernel install --user
).
See other examples of Binder configs here: https://github.com/binder-examples .
One advantage of "binderising" the repo in this way is it lets folk try the kernel out at the click of a button via MyBinder; a second advantage is that they could also run it in a local docker container by simply firing off the command: jupyter repo2docker https://github.com/robert-dodier/maxima-jupyter
on their own computer, assuming it's running docker.
from maxima-jupyter.
Thanks for the info about MyBinder. I think its feasible to binderify the maxima-jupyter installation process. The process requires a few shell commands (e.g. ./configure, make, make install to compile Maxima). How can we handle shell commands in MyBinder? Thanks for the info, I appreciate it.
from maxima-jupyter.
Shell commands can be run via the postBuild
file after installs using apt.txt
and requirements.txt
or environment.yml
. MyBinder actually uses repo2docker
underneath so those docs provide more details about the naming / expected contents of config files. You can also go off-piste with a Dockerfile (docs).
from maxima-jupyter.
I just about have this solved. Still needs some cleanup before a PR and plots are currently broken. See https://mybinder.org/v2/gh/yitzchak/maxima-jupyter/binder
Also solves #9 since I had to use a Dockerfile.
from maxima-jupyter.
Hi Tarn, thanks a lot for working on the Dockerfile for Maxima. Seems to work as expected (except for plots as you noted) when I try the link you posted. Great work, I think this will help others a lot.
from maxima-jupyter.
Thanks for trying it out, Robert. Plots should work now. I'll try to get code highlighting to work next.
from maxima-jupyter.
Related Issues (20)
- TypeError: ext.toLowerCase is not a function HOT 4
- Error with file patching for recent pygments/jupyter versions HOT 16
- Debugger HOT 5
- Need help understanding whether to target JupyterLab or notebook HOT 2
- Build docker image failed HOT 3
- Error using question mark abbreviations HOT 4
- Failure to install HOT 7
- Plots example (Plots.ipyenb) fails on mybinder HOT 9
- "makelist() $" still printing an output HOT 7
- Install instructions HOT 7
- Incompatibility with common-lisp-jupyter-20220707 HOT 2
- installation: Maxima encountered lisp error invalid number of arguments: 5 HOT 3
- colab-maxima-bootstrap HOT 2
- `codemirror-mode-meta-patch` failure on source installation (jupyterlab 3.5.0) HOT 4
- Embedded plots not rendered - Jupiter-lab HOT 2
- taylor() and pade() HOT 2
- The stream #<a JUPYTER::STDIN-STREAM 0xxxxx> has no suitable method for GRAY:STREAM-INTERACTIVE-P. HOT 3
- Maxima-jupyter build failure HOT 13
- Binder Error HOT 8
- maxima --batch-string="load(\"load-maxima-jupyter.lisp\");jupyter_install()"; fails during Binder-Build but not when started manually later HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maxima-jupyter.